4

我刚刚从 alpha(shape parameter)=5 和 lambda(rate parameter)=5 的 gamma 密度模拟了 100 个随机观测值:

x=rgamma(100,shape=5,rate=5)

现在,我想用一个函数来计算 alpha 和 lambda 的最大似然估计,该函数将返回两个参数并使用这些观察结果。

任何提示将不胜感激。谢谢你。

4

1 回答 1

6

您可以fitdistr(...)MASS包中使用它。

set.seed(1)   # for reproducible example
x <- rgamma(100,shape=5,rate=5)

library(MASS)
fitdistr(x, "gamma", start=list(shape=1, rate=1))$estimate
#    shape     rate 
# 6.603328 6.697338 

请注意,对于这样的小样本,您不会得到很好的估计。

x <- rgamma(10000,shape=5,rate=5)
library(MASS)    # may be loaded by default
fitdistr(x, "gamma", start=list(shape=1, rate=1))$estimate
#    shape     rate 
# 4.984220 4.971021 

fitdistr(...)还返回估计的标准误差和对数似然。

于 2015-09-14T13:08:11.877 回答