我想在 R 中找到给定 Gamma、Weibull 和 Log 正态分布的数据的对数似然。鉴于我已经估计了各自分布的参数,我该如何继续?
问问题
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-magic:
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 回答