如何找到Gamma,Log normal和Weibull的对数似然?

时间:2014-02-18 05:17:56

标签: r weibull gamma-distribution

我想在R中找到给定Gamma,Weibull和Log正态分布的数据的对数似然性。如果我已经估计了各个分布的参数,我该如何进行?

1 个答案:

答案 0 :(得分:6)

这是Gamma的一个例子。 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" - &gt; dweibull()
  • densfun="lognormal" - &gt; dlnorm()

在这两种情况下,参数的参数化/名称在fitdistr和相应的密度函数之间匹配。