InverseGaussian {actuar} R Documentation

## The Inverse Gaussian Distribution

### Description

Density function, distribution function, quantile function, random generation, raw moments, limited moments and moment generating function for the Inverse Gaussian distribution with parameters `mean` and `shape`.

### Usage

```dinvgauss(x, mean, shape = 1, dispersion = 1/shape,
log = FALSE)
pinvgauss(q, mean, shape = 1, dispersion = 1/shape,
lower.tail = TRUE, log.p = FALSE)
qinvgauss(p, mean, shape = 1, dispersion = 1/shape,
lower.tail = TRUE, log.p = FALSE,
tol = 1e-14, maxit = 100, echo = FALSE, trace = echo)
rinvgauss(n, mean, shape = 1, dispersion = 1/shape)
minvgauss(order, mean, shape = 1, dispersion = 1/shape)
levinvgauss(limit, mean, shape = 1, dispersion = 1/shape, order = 1)
mgfinvgauss(t, mean, shape = 1, dispersion = 1/shape, log = FALSE)
```

### Arguments

 `x, q` vector of quantiles. `p` vector of probabilities. `n` number of observations. If `length(n) > 1`, the length is taken to be the number required. `mean, shape` parameters. Must be strictly positive. Infinite values are supported. `dispersion` an alternative way to specify the shape. `log, log.p` logical; if `TRUE`, probabilities/densities p are returned as log(p). `lower.tail` logical; if `TRUE` (default), probabilities are P[X <= x], otherwise, P[X > x]. `order` order of the moment. Only `order = 1` is supported by `levinvgauss`. `limit` limit of the loss variable. `tol` small positive value. Tolerance to assess convergence in the Newton computation of quantiles. `maxit` positive integer; maximum number of recursions in the Newton computation of quantiles. `echo, trace` logical; echo the recursions to screen in the Newton computation of quantiles. `t` numeric vector.

### Details

The inverse Gaussian distribution with parameters `mean` = μ and `dispersion` = φ has density:

f(x) = sqrt(1/(2 π φ x^3)) * exp(-((x - μ)^2)/(2 μ^2 φ x)),

for x ≥ 0, μ > 0 and φ > 0.

The limiting case μ = Inf is an inverse chi-squared distribution (or inverse gamma with `shape` = 1/2 and `rate` = 2`phi`). This distribution has no finite strictly positive, integer moments.

The limiting case φ = 0 is an infinite spike in x = 0.

If the random variable X is IG(μ, φ), then X/μ is IG(1, φ * μ).

The kth raw moment of the random variable X is E[X^k], k = 1, 2, …, the limited expected value at some limit d is E[min(X, d)] and the moment generating function is E[e^{tX}].

The moment generating function of the inverse guassian is defined for `t <= 1/(2 * mean^2 * phi)`.

### Value

`dinvgauss` gives the density, `pinvgauss` gives the distribution function, `qinvgauss` gives the quantile function, `rinvgauss` generates random deviates, `minvgauss` gives the kth raw moment, `levinvgauss` gives the limited expected value, and `mgfinvgauss` gives the moment generating function in `t`.

Invalid arguments will result in return value `NaN`, with a warning.

### Note

Functions `dinvgauss`, `pinvgauss` and `qinvgauss` are C implementations of functions of the same name in package statmod; see Giner and Smyth (2016).

Devroye (1986, chapter 4) provides a nice presentation of the algorithm to generate random variates from an inverse Gaussian distribution.

The `"distributions"` package vignette provides the interrelations between the continuous size distributions in actuar and the complete formulas underlying the above functions.

### Author(s)

Vincent Goulet vincent.goulet@act.ulaval.ca

### References

Giner, G. and Smyth, G. K. (2016), “statmod: Probability Calculations for the Inverse Gaussian Distribution”, R Journal, vol. 8, no 1, p. 339-351. https://journal.r-project.org/archive/2016-1/giner-smyth.pdf

Chhikara, R. S. and Folk, T. L. (1989), The Inverse Gaussian Distribution: Theory, Methodology and Applications, Decker.

Devroye, L. (1986), Non-Uniform Random Variate Generation, Springer-Verlag. http://luc.devroye.org/rnbookindex.html

`dinvgamma` for the inverse gamma distribution.

### Examples

```dinvgauss(c(-1, 0, 1, 2, Inf), mean = 1.5, dis = 0.7)
dinvgauss(c(-1, 0, 1, 2, Inf), mean = Inf, dis = 0.7)
dinvgauss(c(-1, 0, 1, 2, Inf), mean = 1.5, dis = Inf) # spike at zero

## Typical graphical representations of the inverse Gaussian
## distribution. First fixed mean and varying shape; second
## varying mean and fixed shape.
col = c("red", "blue", "green", "cyan", "yellow", "black")
par = c(0.125, 0.5, 1, 2, 8, 32)
curve(dinvgauss(x, 1, par[1]), from = 0, to = 2, col = col[1])
for (i in 2:6)
curve(dinvgauss(x, 1, par[i]), add = TRUE, col = col[i])

curve(dinvgauss(x, par[1], 1), from = 0, to = 2, col = col[1])
for (i in 2:6)
curve(dinvgauss(x, par[i], 1), add = TRUE, col = col[i])

pinvgauss(qinvgauss((1:10)/10, 1.5, shape = 2), 1.5, 2)

minvgauss(1:4, 1.5, 2)

levinvgauss(c(0, 0.5, 1, 1.2, 10, Inf), 1.5, 2)
```

[Package actuar version 3.1-4 Index]