Learn R Programming

VGAM (version 1.0-2)

inv.gaussianff: Inverse Gaussian Distribution Family Function

Description

Estimates the two parameters of the inverse Gaussian distribution by maximum likelihood estimation.

Usage

inv.gaussianff(lmu = "loge", llambda = "loge", imethod = 1, ilambda = NULL, parallel = FALSE, ishrinkage = 0.99, zero = NULL)

Arguments

lmu, llambda
Parameter link functions for the $mu$ and $lambda$ parameters. See Links for more choices.

ilambda, parallel
See CommonVGAMffArguments for more information. If parallel = TRUE then the constraint is not applied to the intercept.

imethod, ishrinkage, zero
See CommonVGAMffArguments for information.

Value

An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm, rrvglm and vgam.

Details

The standard (``canonical'') form of the inverse Gaussian distribution has a density that can be written as $$f(y;\mu,\lambda) = \sqrt{\lambda/(2\pi y^3)} \exp\left(-\lambda (y-\mu)^2/(2 \mu^2 y)\right)$$ where $y>0$, $mu>0$, and $lambda>0$. The mean of $Y$ is $mu$ and its variance is $mu^3/lambda$. By default, $eta1=log(mu)$ and $eta2=log(lambda)$. The mean is returned as the fitted values. This VGAM family function can handle multiple responses (inputted as a matrix).

References

Johnson, N. L. and Kotz, S. and Balakrishnan, N. (1994) Continuous Univariate Distributions, 2nd edition, Volume 1, New York: Wiley.

Forbes, C., Evans, M., Hastings, N. and Peacock, B. (2011) Statistical Distributions, Hoboken, NJ, USA: John Wiley and Sons, Fourth edition.

See Also

Inv.gaussian, waldff, bisa.

The R package SuppDists has several functions for evaluating the density, distribution function, quantile function and generating random numbers from the inverse Gaussian distribution.

Examples

Run this code
idata <- data.frame(x2 = runif(nn <- 1000))
idata <- transform(idata, mymu   = exp(2 + 1 * x2),
                          Lambda = exp(2 + 1 * x2))
idata <- transform(idata, y = rinv.gaussian(nn, mu = mymu, lambda = Lambda))
fit1 <-   vglm(y ~ x2, inv.gaussianff, data = idata, trace = TRUE)
rrig <- rrvglm(y ~ x2, inv.gaussianff, data = idata, trace = TRUE)
coef(fit1, matrix = TRUE)
coef(rrig, matrix = TRUE)
Coef(rrig)
summary(fit1)

Run the code above in your browser using DataLab