inv.gaussianff {VGAM} | R Documentation |
Inverse Gaussian Distribution Family Function
Description
Estimates the two parameters of the inverse Gaussian distribution by maximum likelihood estimation.
Usage
inv.gaussianff(lmu = "loglink", llambda = "loglink",
imethod = 1, ilambda = NULL,
parallel = FALSE, ishrinkage = 0.99, zero = NULL)
Arguments
lmu , llambda |
Parameter link functions for the |
ilambda , parallel |
See |
imethod , ishrinkage , zero |
See |
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 y \mu^2)\right)
where y>0
,
\mu>0
, and
\lambda>0
.
The mean of Y
is \mu
and its variance is
\mu^3/\lambda
.
By default, \eta_1=\log(\mu)
and
\eta_2=\log(\lambda)
.
The mean is returned as the fitted values.
This VGAM family function can handle multiple
responses (inputted as a matrix).
Value
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions
such as vglm
,
rrvglm
and vgam
.
Note
The inverse Gaussian distribution can be fitted (to a certain extent) using the usual GLM framework involving a scale parameter. This family function is different from that approach in that it estimates both parameters by full maximum likelihood estimation.
Author(s)
T. W. Yee
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
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
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))
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)