我刚刚模拟了100个来自形状参数为5和速率参数为5的伽玛分布的随机观测值:
x=rgamma(100,shape=5,rate=5)
现在,我想使用一个函数从这些观测值中找到最大似然估计的 alpha 和 lambda 参数,并返回这两个参数。
如果有任何提示,将不胜感激。谢谢。
MASS
包中使用fitdistr(...)
来实现此功能。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(...)
还会返回估计量的标准误差和对数似然值。fitdistr
(没有 ?
和没有 (...)
,只有函数名)。这将列出该函数的代码。从中可以看到,fitdistr(...)
将标准误差计算为方差-协方差矩阵的对角线的平方根,而方差-协方差矩阵则是由 optim(...)
返回的海森矩阵的逆矩阵。因此,我会说,是的,它是渐近方差的平方根。 - jlhoward
library("stats4"); ?mle; example("mle")
。 - Ben Bolker