R 中 Gamma 密度的最大似然估计
Maximum Likelihood Estimator for a Gamma density in R
我刚刚从 alpha(形状参数)=5 和 lambda(速率参数)=5 的伽马密度模拟了 100 个随机观测值:
x=rgamma(100,shape=5,rate=5)
现在,我想使用一个函数来确定 alpha 和 lambda 的最大似然估计,该函数将 return 两个参数并使用这些观察结果。
如有任何提示,我们将不胜感激。谢谢。
您可以在 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(...)
还有 returns 估计值的标准误差和对数似然。
我刚刚从 alpha(形状参数)=5 和 lambda(速率参数)=5 的伽马密度模拟了 100 个随机观测值:
x=rgamma(100,shape=5,rate=5)
现在,我想使用一个函数来确定 alpha 和 lambda 的最大似然估计,该函数将 return 两个参数并使用这些观察结果。
如有任何提示,我们将不胜感激。谢谢。
您可以在 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(...)
还有 returns 估计值的标准误差和对数似然。