# Inverse Gaussian distribution

In probability theory, the inverse Gaussian distribution (also known as the Wald distribution) is a two-parameter family of continuous probability distributions with support on (0,∞).
Its probability density function is given by
    $f(x;\mu ,\lambda )={\sqrt {\frac {\lambda }{2\pi x^{3}}}}\exp {\biggl-{\frac {\lambda (x-\mu )^{2}}{2\mu ^{2}x}}{\biggr )}$
for x > 0, where $\mu >0$ is the mean and $\lambda >0$ is the shape parameter.
The inverse Gaussian distribution has several properties analogous to a Gaussian distribution. The name can be misleading: it is an "inverse" only in that, while the Gaussian describes a Brownian motion's level at a fixed time, the inverse Gaussian describes the distribution of the time a Brownian motion with positive drift takes to reach a fixed positive level.
Its cumulant generating function (logarithm of the characteristic function) is the inverse of the cumulant generating function of a Gaussian random variable.
To indicate that a random variable X is inverse Gaussian-distributed with mean μ and shape parameter λ we write $X\sim \operatorname {IG} (\mu ,\lambda )\,\!$.

## Properties
### Single parameter form

The probability density function (pdf) of the inverse Gaussian distribution has a single parameter form given by
    $f(x;\mu ,\mu ^{2})={\frac {\mu }{\sqrt {2\pi x^{3}}}}\exp {\biggl-{\frac {(x-\mu )^{2}}{2x}}{\biggr )}.$
In this form, the mean and variance of the distribution are equal, $\mathbb {E} [X]={\text{Var}}(X).$
Also, the cumulative distribution function (cdf) of the single parameter inverse Gaussian distribution is related to the standard normal distribution by
    ${\begin{aligned}\Pr(X<x)&=\Phi (-z_{1})+e^{2\mu }\Phi (-z_{2}),\end{aligned}}$
where $z_{1}={\frac {\mu }{x^{1/2}}}-x^{1/2}$, $z_{2}={\frac {\mu }{x^{1/2}}}+x^{1/2},$ and the $\Phi$ is the cdf of standard normal distribution. The variables $z_{1}$ and $z_{2}$ are related to each other by the identity $z_{2}^{2}=z_{1}^{2}+4\mu .$
In the single parameter form, the MGF simplifies to
    $M(t)=\exp[\mu (1-{\sqrt {1-2t}})].$
An inverse Gaussian distribution in double parameter form $f(x;\mu ,\lambda )$ can be transformed into a single parameter form $f(y;\mu _{0},\mu _{0}^{2})$ by appropriate scaling $y={\frac {\mu ^{2}x}{\lambda }},$ where $\mu _{0}=\mu ^{3}/\lambda .$
The above paragraph can be re-written as: if $Y=\lambda X/\mu ^{2}$, then $Y\sim \operatorname {IG} (\lambda /\mu ,(\lambda /\mu )^{2})$. This approach is better in the sense that it clearly shows dimensionless nature of the single parameter form (note that $\dim \lambda =\dim \mu =\dim x$). This property follows from a more general fact: if $a>0$ and $Y=aX$, then $Y\sim \operatorname {IG} (a\mu ,a\lambda )$.
The standard form of inverse Gaussian distribution is
    $f(x;1,1)={\frac {1}{\sqrt {2\pi x^{3}}}}\exp {\biggl-{\frac {(x-1)^{2}}{2x}}{\biggr )}.$

### Summation

If X$_i$ has an $\operatorname {IG} (\mu _{0}w_{i},\lambda _{0}w_{i}^{2})\,\!$ distribution for i = 1, 2, ..., n and all X$_i$ are independent, then
    $S=\sum _{i=1}^{n}X_{i}\sim \operatorname {IG} \left(\mu _{0}\sum w_{i},\lambda _{0}\left(\sum w_{i}\right)^{2}\right).$
Note that
    ${\frac {\operatorname {Var} (X_{i})}{\operatorname {E} (X_{i})}}={\frac {\mu _{0}^{2}w_{i}^{2}}{\lambda _{0}w_{i}^{2}}}={\frac {\mu _{0}^{2}}{\lambda _{0}}}$
is constant for all i. This is a necessary condition for the summation. Otherwise S would not be Inverse Gaussian distributed.

### Scaling

For any t > 0 it holds that
    $X\sim \operatorname {IG} (\mu ,\lambda )\,\,\,\,\,\,\Rightarrow \,\,\,\,\,\,tX\sim \operatorname {IG} (t\mu ,t\lambda ).$

### Exponential family

The inverse Gaussian distribution is a two-parameter exponential family with natural parameters −λ/(2μ$^2$) and −λ/2, and natural statistics X and 1/X.
For $\lambda >0$ fixed, it is also a single-parameter natural exponential family distribution where the base distribution has density
    $h(x)={\sqrt {\frac {\lambda }{2\pi x^{3}}}}\exp \left(-{\frac {\lambda }{2x}}\right)\mathbb {1} _{[0,\infty )}(x)\,.$
Indeed, with $\theta \leq 0$,
    $p(x;\theta )={\frac {\exp(\theta x)h(x)}{\int \exp(\theta y)h(y)dy}}$
is a density over the reals. Evaluating the integral, we get
    $p(x;\theta )={\sqrt {\frac {\lambda }{2\pi x^{3}}}}\exp \left(-{\frac {\lambda }{2x}}+\theta x-{\sqrt {-2\lambda \theta }}\right)\mathbb {1} _{[0,\infty )}(x)\,.$
Substituting $\theta =-\lambda /(2\mu ^{2})$ makes the above expression equal to $f(x;\mu ,\lambda )$.

## Relationship with Brownian motion

Let the stochastic process X$_t$ be given by
    $X_{0}=0\quad$
    $X_{t}=\nu t+\sigma W_{t}\quad \quad \quad \quad$
where W$_t$ is a standard Brownian motion. That is, X$_t$ is a Brownian motion with drift $\nu >0$.
Then the first passage time for a fixed level $\alpha >0$ by X$_t$ is distributed according to an inverse-Gaussian:
    $T_{\alpha }=\inf\{t>0\mid X_{t}=\alpha \}\sim \operatorname {IG} \left({\frac {\alpha }{\nu }},\left({\frac {\alpha }{\sigma }}\right)^{2}\right)={\frac {\alpha }{\sigma {\sqrt {2\pi x^{3}}}}}\exp {\biggl-{\frac {(\alpha -\nu x)^{2}}{2\sigma ^{2}x}}{\biggr )}$
i.e
    $P(T_{\alpha }\in (T,T+dT))={\frac {\alpha }{\sigma {\sqrt {2\pi T^{3}}}}}\exp {\biggl-{\frac {(\alpha -\nu T)^{2}}{2\sigma ^{2}T}}{\biggr )}dT$
(cf. Schrödinger equation 19, Smoluchowski, equation 8, and Folks, equation 1).

### When drift is zero

A common special case of the above arises when the Brownian motion has no drift. In that case, parameter μ tends to infinity, and the first passage time for fixed level α has probability density function
    $f\left(x;0,\left({\frac {\alpha }{\sigma }}\right)^{2}\right)={\frac {\alpha }{\sigma {\sqrt {2\pi x^{3}}}}}\exp \left(-{\frac {\alpha ^{2}}{2\sigma ^{2}x}}\right)$
(see also Bachelier$^{:74}$$^{:39}$). This is a Lévy distribution with parameters $c=\left({\frac {\alpha }{\sigma }}\right)^{2}$ and $\mu =0$.

## Maximum likelihood

The model where
    $X_{i}\sim \operatorname {IG} (\mu ,\lambda w_{i}),\,\,\,\,\,\,i=1,2,\ldots ,n$
with all w$_i$ known, (μ, λ) unknown and all X$_i$ independent has the following likelihood function
    $L(\mu ,\lambda )=\left({\frac {\lambda }{2\pi }}\right)^{\frac {n}{2}}\left(\prod _{i=1}^{n}{\frac {w_{i}}{X_{i}^{3}}}\right)^{\frac {1}{2}}\exp \left({\frac {\lambda }{\mu }}\sum _{i=1}^{n}w_{i}-{\frac {\lambda }{2\mu ^{2}}}\sum _{i=1}^{n}w_{i}X_{i}-{\frac {\lambda }{2}}\sum _{i=1}^{n}w_{i}{\frac {1}{X_{i}}}\right).$
Solving the likelihood equation yields the following maximum likelihood estimates
    ${\widehat {\mu }}={\frac {\sum _{i=1}^{n}w_{i}X_{i}}{\sum _{i=1}^{n}w_{i}}},\,\,\,\,\,\,\,\,{\frac {1}{\widehat {\lambda }}}={\frac {1}{n}}\sum _{i=1}^{n}w_{i}\left({\frac {1}{X_{i}}}-{\frac {1}{\widehat {\mu }}}\right).$
${\widehat {\mu }}$ and ${\widehat {\lambda }}$ are independent and
    ${\widehat {\mu }}\sim \operatorname {IG} \left(\mu ,\lambda \sum _{i=1}^{n}w_{i}\right),\qquad {\frac {n}{\widehat {\lambda }}}\sim {\frac {1}{\lambda }}\chi _{n-1}^{2}.$

## Sampling from an inverse-Gaussian distribution

The following algorithm may be used.
   Generate a random variate from a normal distribution with mean 0 and standard deviation equal 1
       $\displaystyle \nu \sim N(0,1).$
   Square the value
       $\displaystyle y=\nu ^{2}$
   and use the relation
       $x=\mu +{\frac {\mu ^{2}y}{2\lambda }}-{\frac {\mu }{2\lambda }}{\sqrt {4\mu \lambda y+\mu ^{2}y^{2}}}.$
   Generate another random variate, this time sampled from a uniform distribution between 0 and 1
       $\displaystyle z\sim U(0,1).$
   If $z\leq {\frac {\mu }{\mu +x}}$ then return $\displaystyle x$ else return ${\frac {\mu ^{2}}{x}}.$
Sample code in Java:
And to plot Wald distribution in Python using matplotlib and NumPy:

## Related distributions

* If $X\sim \operatorname {IG} (\mu ,\lambda )$, then $kX\sim \operatorname {IG} (k\mu ,k\lambda )$ for any number $k>0.$
* If $X_{i}\sim \operatorname {IG} (\mu ,\lambda )\,$ then $\sum _{i=1}^{n}X_{i}\sim \operatorname {IG} (n\mu ,n^{2}\lambda )\,$
* If $X_{i}\sim \operatorname {IG} (\mu ,\lambda )\,$ for $i=1,\ldots ,n\,$ then ${\bar {X}}\sim \operatorname {IG} (\mu ,n\lambda )\,$
* If $X_{i}\sim \operatorname {IG} (\mu _{i},2\mu _{i}^{2})\,$ then $\sum _{i=1}^{n}X_{i}\sim \operatorname {IG} \left(\sum _{i=1}^{n}\mu _{i},2\left(\sum _{i=1}^{n}\mu _{i}\right)^{2}\right)\,$
* If $X\sim \operatorname {IG} (\mu ,\lambda )$, then $\lambda (X-\mu )^{2}/\mu ^{2}X\sim \chi ^{2}(1)$.
The convolution of an inverse Gaussian distribution (a Wald distribution) and an exponential (an ex-Wald distribution) is used as a model for response times in psychology, with visual search as one example.

## History

This distribution appears to have been first derived in 1900 by Louis Bachelier as the time a stock reaches a certain price for the first time. In 1915 it was used independently by Erwin Schrödinger and Marian v. Smoluchowski as the time to first passage of a Brownian motion. In the field of reproduction modeling it is known as the Hadwiger function, after Hugo Hadwiger who described it in 1940. Abraham Wald re-derived this distribution in 1944 as the limiting form of a sample in a sequential probability ratio test. The name inverse Gaussian was proposed by Maurice Tweedie in 1945. Tweedie investigated this distribution in 1956 and 1957 and established some of its statistical properties. The distribution was extensively reviewed by Folks and Chhikara in 1978.

### Rated Inverse Gaussian Distribution

Assuming that the time intervals between occurrences of a random phenomenon follow an inverse Gaussian distribution, the probability distribution for the number of occurrences of this event within a specified time window is referred to as rated inverse Gaussian. While, first and second moment of this distribution are calculated, the derivation of the moment generating function remains an open problem.

## Numeric computation and software

Despite the simple formula for the probability density function, numerical probability calculations for the inverse Gaussian distribution nevertheless require special care to achieve full machine accuracy in floating point arithmetic for all parameter values. Functions for the inverse Gaussian distribution are provided for the R programming language by several packages including rmutil, SuppDists, STAR, invGauss, LaplacesDemon, and statmod.