我尝试估计广义伽马分布的 mle 参数。
我使用下限等于 1 的 optim 函数(因为参数必须为正)和 BFGS 方法。
最初,我估计对数似然函数如下:
negloglikgengamma<-function(thet,dat) {
alpha<-thet[1]
kappa<-thet[2]
lamda<-thet[3]
-sum(dggamma(y,scale=alpha,shape1=kappa,shape2=lamda,log=T))
}
我使用负对数似然函数来使用“优化”并找到最小值。
然后我使用优化功能。
fitggamma<-optim(c(0.4,0.5,2),negloglikgengamma,hessian=TRUE,method="L-BFGS- B",dat=y,lower=1)
结果是:
$par
[1] 1.000000 1.000000 2.165561
$value
[1] -0.1214229
$counts
function gradient
6 6
$convergence
[1] 0
$message
[1] "CONVERGENCE: REL_REDUCTION_OF_F <= FACTR*EPSMCH"
$hessian
[,1] [,2] [,3]
[1,] -9.998753e-01 1.0000003 -2.924863e-05
[2,] 1.000000e+00 1.2063171 -9.530030e-02
[3,] -2.924863e-05 -0.0953003 4.402082e-02
我试图估计 se,我注意到 Var(alpha)=-9.998753e-01 <0。为什么会这样?我应该改变什么?