Learn R Programming

LaplacesDemon (version 16.1.1)

dist.Inverse.Gaussian: Inverse Gaussian Distribution

Description

This is the density function and random generation from the inverse gaussian distribution.

Usage

dinvgaussian(x, mu, lambda, log=FALSE)
rinvgaussian(n, mu, lambda)

Arguments

n

This is the number of draws from the distribution.

x

This is the scalar location to evaluate density.

mu

This is the mean parameter, \(\mu\).

lambda

This is the inverse-variance parameter, \(\lambda\).

log

Logical. If log=TRUE, then the logarithm of the density is returned.

Value

dinvgaussian gives the density and rinvgaussian generates random deviates.

Details

  • Application: Continuous Univariate

  • Density: \(p(\theta) = \frac{\lambda}{(2 \pi \theta^3)^{1/2}} \exp(-\frac{\lambda (\theta - \mu)^2}{2 \mu^2 \theta}), \theta > 0\)

  • Inventor: Schrodinger (1915)

  • Notation 1: \(\theta \sim \mathcal{N}^{-1}(\mu, \lambda)\)

  • Notation 2: \(p(\theta) = \mathcal{N}^{-1}(\theta | \mu, \lambda)\)

  • Parameter 1: shape \(\mu > 0\)

  • Parameter 2: scale \(\lambda > 0\)

  • Mean: \(E(\theta) = \mu\)

  • Variance: \(var(\theta) = \frac{\mu^3}{\lambda}\)

  • Mode: \(mode(\theta) = \mu((1 + \frac{9 \mu^2}{4 \lambda^2})^{1/2} - \frac{3 \mu}{2 \lambda})\)

The inverse-Gaussian distribution, also called the Wald distribution, is used when modeling dependent variables that are positive and continuous. When \(\lambda \rightarrow \infty\) (or variance to zero), the inverse-Gaussian distribution becomes similar to a normal (Gaussian) distribution. The name, inverse-Gaussian, is misleading, because it is not the inverse of a Gaussian distribution, which is obvious from the fact that \(\theta\) must be positive.

References

Schrodinger E. (1915). "Zur Theorie der Fall-und Steigversuche an Teilchenn mit Brownscher Bewegung". Physikalische Zeitschrift, 16, p. 289--295.

See Also

dnorm, dnormp, and dnormv.

Examples

Run this code
# NOT RUN {
library(LaplacesDemon)
x <- dinvgaussian(2, 1, 1)
x <- rinvgaussian(10, 1, 1)

#Plot Probability Functions
x <- seq(from=1, to=20, by=0.1)
plot(x, dinvgaussian(x,1,0.5), ylim=c(0,1), type="l", main="Probability Function",
     ylab="density", col="red")
lines(x, dinvgaussian(x,1,1), type="l", col="green")
lines(x, dinvgaussian(x,1,5), type="l", col="blue")
legend(2, 0.9, expression(paste(mu==1, ", ", sigma==0.5),
     paste(mu==1, ", ", sigma==1), paste(mu==1, ", ", sigma==5)),
     lty=c(1,1,1), col=c("red","green","blue"))
# }

Run the code above in your browser using DataLab