生態学的密度 (つまり、面積あたりのバイオマス) データに適合するガンマ分布のパラメーターを推定しようとしています。R の MASS パッケージの fitdistr() コマンドを使用しています (バージョン 3.0.0 : x86_64-w64-mingw32/x64 (64 ビット))。分布パラメータの最尤推定コマンドです。
データのベクトルは非常に大きいですが、要約統計量は次のとおりです。
最小。= 0; 第 1 区 = 87.67; 中央値 = 199.5; 平均 = 1255; 分散 = 2.79E+07; 第3クウ。= 385.6; 最大。= 33880
MLE プロシージャを実行するために使用しているコードは次のとおりです。
gdist <- fitdistr(data, dgamma,
start=list(shape=1, scale=1/(mean(data))),lower=c(1,0.1))
Rは私に次のエラーを与えています:
optim(x = c(6.46791148085828, 4060.54750836902, 99.6201565968665, : 非有限差分値 [1] のエラー)
この種の問題を経験し、stackoverflow に助けを求めた他の人は、コードに「lower=」引数を追加したり、ゼロを削除したりすることで解決策を見つけたようです。ゼロの観測を削除すると、R が近似のパラメーターを提供することがわかりましたが、ガンマ分布が 0 <= x > inf の範囲をカバーしているという印象を受けました (Forbes et al. 2011. Statistical Distributions)?
ガンマ分布の範囲について間違った印象を受けましたか? または、MLEに関して見逃している他の問題があります(私は初心者です)。