R のガンマ分布、ワイブル分布、および対数正規分布を指定して、データの対数尤度を見つけたいと考えています。それぞれの分布のパラメーターを既に推定した場合、どうすればよいでしょうか?
質問する
2094 次
1 に答える
6
これはガンマの例です。Weibull と log-Normal は、まったく同じ手順に従います。
set.seed(101)
x <- rgamma(20,shape=3,rate=2.5)
library(MASS)
(ff <- fitdistr(x,"gamma"))
## shape rate
## 4.452775 4.175653
## (1.358630) (1.348722)
fitdistr
対数尤度アクセサ メソッドがあります。
logLik(ff)
## 'log Lik.' -13.14535 (df=2)
または、手動で行うこともできます。
sum(dgamma(x,shape=coef(ff)["shape"],rate=coef(ff)["rate"],log=TRUE))
## [1] -13.14535
または砂糖/R-魔法の少し:
with(as.list(coef(ff)),
sum(dgamma(x,shape=shape,rate=rate,log=TRUE)))
他のディストリビューションの場合
densfun="weibull"
->dweibull()
densfun="lognormal"
->dlnorm()
どちらの場合も、パラメーターのパラメーター化/名前は、fitdistr
と対応する密度関数の間で一致します。
于 2014-02-19T09:11:12.363 に答える