在 MLE 估计中是否有选择起始值的最简单方法?

Is there a simplest way of choosing starting values in MLE estimation?

我有以下内容,我想在其中获得给定函数和数据的 MLE 估计及其 p 值,但我在摘要中得到 p 值的 NA。代码是;

library(stats4)
library(bbmle)
library(stats)
library(numDeriv)
library('bbmle')
x<- c(0.55, 0.93, 1.25, 1.36, 1.49, 1.52, 1.58, 1.61, 1.64, 1.68, 1.73, 1.81, 2.00, 0.74 ,1.04, 1.27, 1.39, 1.49, 1.53, 1.59, 1.61, 1.66, 1.68, 1.76, 1.82, 2.01,  0.77, 1.11 ,1.28 ,1.42 ,1.50 ,1.54, 1.60, 1.62, 1.66, 1.69, 1.76, 1.84, 2.24, 0.81, 1.13, 1.29, 1.48, 1.50, 1.55 ,1.61, 1.62, 1.66 ,1.70 ,1.77, 1.84, 0.84, 1.24, 1.30 ,1.48, 1.51, 1.55 ,1.61 ,1.63, 1.67, 1.70, 1.78, 1.89
)

hist(x)

########  Expo Half Logi Kuma Weibull

fEHLKUMW<-function(a,b,alpha,vartheta)
  {
-sum(log(2*a*b*alpha*vartheta*(x^(vartheta-1))* exp(-x^vartheta) *((1-exp(-x^vartheta))^(a-1)) * ((1 - (1 -( 1 - exp(-x^vartheta))^a)^b)^(alpha-1)) * (1- (1 - exp(-x^vartheta))^a )^(-b*(alpha+1))
))
}

EHLKUMW.result<-mle2(fEHLKUMW,hessian = NULL,start=list(a=0.8,b=0.9,alpha=0.9,vartheta=0.2),optimizer="nlminb",lower=0)
summary(EHLKUMW.result)
vcov(EHLKUMW.result)
output2<-vcov(EHLKUMW.result)
1.96*sqrt(diag(output2))
solve(output2)

我尝试了不同的起始值和数据集,但我仍然得到 NA。

似乎 PDF 公式不正确,或者参数没有适当约束。如果 x > 1:

,随着 vartheta 变大,分母很快接近 0
fEHLKUMW(0.8, 0.9, 0.9, 5)
[1] -Inf