Question

I want to compute the parameters mu and lambda for the Inverse Gaussian Distribution given the CDF.

By 'given the CDF' I mean that I have given the data AND the (estimated) quantile for the data I.e.

Quantile - Value

0.01 - 10

0.5 - 12

0.7 - 13

Now I want to find out the inverse gaussian distribution for this data so that I can e.g. Look up the quantile for value 11 based on my distribution.

How can I find out the values mu and lambda?

The only solution I can think of is using Gradient descent to find the best mu and lambda using RMSE as an error measure.

Isn't there a better solution?

Comment: Matlab's MLE-Algorithm is not an option, since it does not use the quantile data.

Was it helpful?

Solution 2

According to @mpiktas here I implemented a gradient descent algorithm for estimating my mu and lambda:

  1. Make initial guess using MLE

  2. Learn mu and lambda using gradient descent with RMSE as error measure.

OTHER TIPS

As all you really want to do is estimate the quantiles of the distribution at unknown values and you have a lot of data points you can simply interpolate the values you want to lookup.

quantile_estimate = interp1(values, quantiles, value_of_interest);

The following article explains in detail how to compute quantiles (the inverse CDF) for the inverse Gaussian distribution:

Giner, G, and Smyth, GK (2016). statmod: probability calculations for the inverse Gaussian distribution. R Journal. http://arxiv.org/abs/1603.06687

Code for the R language is contained in the R package statmod available from CRAN. For example:

> library(statmod)
> qinvgauss(0.01, lower.tail=FALSE)
[1] 4.98

computes the 0.01 upper tail quantile of the standard IG distribution.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top