# inv.chisqff: Inverse Chi-squared Distribution. In VGAMextra: Additions and Extensions of the 'VGAM' Package

## Description

Maximum likelihood estimation of the degrees of freedom for an inverse chi–squared distribution using Fisher scoring.

## Usage

 `1` ``` inv.chisqff(link = "loglink", zero = NULL) ```

## Arguments

 `link, zero` `link` is the link function applied to the degrees of freedom, leading to the unique linear predictor in this family function. By default, the link is `loglink`. `zero` allows to model the single linear predictor as intercept–only. For further details, see `CommonVGAMffArguments`.

## Details

The inverse chi–squared distribution with df = ν ≥ 0 degrees of freedom implemented here has density

f(x; ν) = 2^(-ν / 2) x^(-ν/2 - 1) e^(-1 / (2x)) / Γ(ν / 2),

where x > 0, and Γ is the `gamma` function. The mean of Y is 1 / (ν - 2) (returned as the fitted values), provided ν > 2.

That is, while the expected information matrices used here are valid in all regions of the parameter space, the regularity conditions for maximum likelihood estimation are satisfied only if ν > 2. To enforce this condition, choose `link = logoff(offset = -2)`.

As with, `chisq`, the degrees of freedom are treated as a parameter to be estimated using (by default) the link `loglink`. However, the mean can also be modelled with this family function. See `inv.chisqMlink` for specific details about this.

This family VGAM function handles multiple responses.

## Value

An object of class `"vglmff"`. See `vglmff-class` for further details.

## Warning

By default, the single linear/additive predictor in this family function, say η = log (dof), can be modeled in terms of covariates, i.e., `zero = NULL`. To model η as intercept–only set `zero = "dof"`.

See `zero` for more details about this.

## Note

As with `chisq` or `Chisquare`, the degrees of freedom are non–negative but allowed to be non–integer.

## Author(s)

V. Miranda.

`loglink`, `CommonVGAMffArguments`, `inv.chisqMlink`, `zero`.
 ``` 1 2 3 4 5 6 7 8 9 10 11``` ``` set.seed(17010504) dof <- 2.5 yy <- rinv.chisq(100, df = dof) ics.d <- data.frame(y = yy) # The data. fit.inv <- vglm(cbind(y, y) ~ 1, inv.chisqff, data = ics.d, trace = TRUE, crit = "coef") Coef(fit.inv) summary(fit.inv) ```