inv.chisqMlink | R Documentation |
Computes the inv.chisqMlink
transformation, its inverse and
the first two derivatives.
inv.chisqMlink(theta, bvalue = NULL, inverse = FALSE,
deriv = 0, short = TRUE, tag = FALSE)
theta |
Numeric or character. This is |
bvalue, inverse, deriv, short, tag |
See |
This link functions models the mean of the
inverse chi–squared distribution,
inv.chisqff
.
It is defined as
\eta = -\log ( df - 2),
where df
denotes the (non–negative) degrees of freedom, as in
inv.chisqff
.
Notice, however, that df > 2
is required for the mean of
this distribution to be real. Consequently, the domain set for
df
for this link function is (2, \infty)
.
Numerical values of df
out of range will
result in NA
or NaN
.
For deriv = 0
, the inv.chisqMlink
transformation of
theta
when inverse = FALSE
.
If inverse = TRUE
, then the inverse exp(-theta) + 2
.
For deriv = 1
,
d
eta
/ d
theta
when inverse = FALSE
.
If inverse = TRUE
, then
d
theta
/ d
eta
as a function of
theta
.
When deriv = 2
, the second derivatives in
terms of theta
are returned.
Numerical instability may occur for values theta
too large or
possibly, too close to 2. Use argument bvalue
to replace them
before computing the link.
If theta
is character, then arguments inverse
and
deriv
are ignored. See Links
for further details.
V. Miranda and Thomas W. Yee.
inv.chisqff
,
Links
.
## E1. Modelling the mean of the exponential distribution ##
set.seed(17010502)
dof <- 2.5
isq.data <- data.frame(x2 = runif(100, 0, 1))
isq.data <- transform(isq.data, y = rinv.chisq(n = 100, df = dof + x2))
hist(isq.data$y)
fit.inv <- vglm(y ~ x2, family = inv.chisqff(link = "inv.chisqMlink"),
data = isq.data, trace = TRUE )
coef(fit.inv, matrix = TRUE)
summary(fit.inv)
## E3. Special values in a matrix ##
(theta <- matrix(c(Inf, -Inf, NA, NaN, 1 , 2, 3, 4), ncol = 4, nrow = 2))
inv.chisqMlink(theta = theta) ## NaNs for df = theta <= 2
## E2. inv.chisqMlink() and its inverse ##
theta <- 0.1 + 1:5 # dof = df
my.diff <- theta - inv.chisqMlink(inv.chisqMlink(theta = theta), inverse =TRUE)
summary(my.diff) # Zero
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.