# inv.chisqMeanlink: Link functions for the mean of 1-parameter continuous... In VGAMextra: Additions and Extensions of the 'VGAM' Package

## Description

Computes the `inv.chisqMlink` transformation, its inverse and the first two derivatives.

## Usage

 ```1 2``` ``` inv.chisqMlink(theta, bvalue = NULL, inverse = FALSE, deriv = 0, short = TRUE, tag = FALSE) ```

## Arguments

 `theta` Numeric or character. This is theta by default but may be η depending on the other parameters. See below for further details. `bvalue, inverse, deriv, short, tag` See `Links`.

## Details

This link functions models the mean of the inverse chi–squared distribution, `inv.chisqff`.

It is defined as

η = -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, ∞).

Numerical values of df out of range will result in `NA` or `NaN`.

## Value

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.

## Note

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.

## Author(s)

V. Miranda and Thomas W. Yee.

`inv.chisqff`, `Links`.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23``` ``` ## 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 ```