我试图估计适合生态密度(即每面积生物量)数据的伽马分布参数。我一直在使用 R 中 MASS 包中的 fitdistr() 命令(版本 3.0.0:x86_64-w64-mingw32/x64(64 位))。这是分布参数的最大似然估计命令。
数据的向量相当大,但汇总统计如下:
分钟。= 0; 第一曲。= 87.67; 中位数 = 199.5;平均值 = 1255;方差 = 2.79E+07;第三曲。= 385.6; 最大限度。= 33880
我用来运行 MLE 程序的代码是:
gdist <- fitdistr(data, dgamma,
start=list(shape=1, scale=1/(mean(data))),lower=c(1,0.1))
R给我以下错误:
优化错误(x = c(6.46791148085828, 4060.54750836902, 99.6201565968665, : 非有限差分值 [1]
其他经历过此类问题并转向 stackoverflow 寻求帮助的人似乎已经找到了在他们的代码中添加“lower=”参数和/或删除零的解决方案。我发现如果我删除零观测值,R 将提供拟合参数,但我的印象是 gamma 分布覆盖了 0 <= x > inf 的范围(Forbes et al. 2011. Statistical Distributions)?
我对伽马分布的范围有错误的印象吗?或者是否还有其他关于 MLE 的问题(我是新手)。