5

我想计算给定 CDF的逆高斯分布的参数 mu 和 lambda。

通过“给定 CDF”,我的意思是我已经给出了数据和数据的(估计)分位数,即

Quantile - Value

0.01 - 10

0.5 - 12

0.7 - 13

现在我想找出这个数据的逆高斯分布,这样我就可以根据我的分布查找值 11 的分位数。

如何找出 mu 和 lambda 的值?

我能想到的唯一解决方案是使用梯度下降法,使用 RMSE 作为误差度量来找到最佳 mu 和 lambda。

没有更好的解决方案吗?

评论:Matlab 的 MLE 算法不是一个选项,因为它不使用分位数数据。

4

3 回答 3

1

因为您真正想要做的就是估计未知值的分布分位数,并且您有很多数据点,您可以简单地插入要查找的值。

quantile_estimate = interp1(values, quantiles, value_of_interest);
于 2012-10-30T18:07:06.293 回答
0

根据@mpiktas here,我实现了一个梯度下降算法来估计我的 mu 和 lambda:

  1. 使用 MLE 进行初步猜测

  2. 使用梯度下降和 RMSE 作为误差度量来学习 mu 和 lambda。

于 2012-10-30T23:32:30.017 回答
0

以下文章详细解释了如何计算逆高斯分布的分位数(逆 CDF):

Giner, G 和 Smyth, GK (2016)。statmod:逆高斯分布的概率计算。R杂志。http://arxiv.org/abs/1603.06687

R 语言的代码包含在 CRAN 提供的 R 包 statmod 中。例如:

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

计算标准 IG 分布的 0.01 上尾分位数。

于 2016-08-26T07:41:01.633 回答