小编nia*_*all的帖子

使用R难以拟合伽玛分布

我试图估计符合生态密度(即每面积生物量)数据的伽马分布的参数.我一直在使用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))
Run Code Online (Sandbox Code Playgroud)

R给我以下错误:

optim中的错误(x = c(6.46791148085828,4060.54750836902,99.6201565968665,:非有限的有限差分值[1]

其他遇到此类问题并转向stackoverflow寻求帮助的人似乎已经找到了将"lower ="参数添加到其代码中和/或删除零的解决方案.如果我删除零观测值,我发现R将提供拟合参数,但我的印象是伽玛分布涵盖范围0 <= x> inf(Forbes et al.2011.Statistical Distributions)?

我是否对伽马分布的范围产生了错误的印象?或者是否有一些我在MLE上缺少的其他问题(我是新手).

r

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

r ×1