对伽玛参数进行MLE时得到错误答案

时间:2018-10-04 15:13:56

标签: r mle

我首先要采样100个伽玛分布的数字,其中形状= 2,比例= 1/2。由于我使用的是最小化工具,因此我写下了对数似然函数并将其取反。我也尝试使用optim,但无济于事。 optimnlm都给了我不同的答案。到目前为止,这是我的代码:

N = 100
shape = 2     
scale = 1/2   
Data <- rgamma(SampSize, shape, scale)

LogL = function (x){
  k     = x[1]
  gamma = x[2]
  (-1)*(N*x[1]*log(x[2])+(x[1]-1)*sum(log(Data))-x[2]*sum(Data))   
}
nlm(LogL,c(1.5,1))

1 个答案:

答案 0 :(得分:1)

logL <- function (x) -sum(dgamma(Data, x[1], x[2], log = TRUE))

N = 100
shape = 2     
scale = 1/2   
Data <- rgamma(N, shape, scale)

optim(c(1.5, 1), logL)$par
nlm(logL, c(1.5, 1))$estimate