문제

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.

도움이 되었습니까?

해결책 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.

다른 팁

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top