Я пытаюсь оценить параметры для заусенца Вейбулла X с фиксированной ковариационной функцией

#r #estimation #mle

#r #оценка #mle

Вопрос:

Я попытался запустить кодировки MLE для R, но на выходе «начальное значение вне диапазона»

 library(maxLik)
 
 # -log-likelihood function of the Weibull Burr X   fixed covariate distribution.
 likelihood<-function(par){
   
   x<-data2$x; yi<-data2$yi; 
   
   alpha<-par[1];beta<-par[2];theta<-par[3];tau0<-par[4];tau1<-par[5];
   n<-nrow(data2)
   a<-sum(((exp(tau0 tau1*yi))*x)^2)
   b<-sum(log(x))
   c<-sum(log(1-exp(-((exp(tau0 tau1*yi))*x)^2))^theta)
   d<-sum(log(1-(1-exp(-(exp(tau0 tau1*yi))*x)^2)^theta))
   e<-sum((((1-exp(-((exp(tau0 tau1*yi))*x)^2))^(theta*beta))/
             ((1-(1-exp(-((exp(-(tau0 tau1*yi)))*x)^2))^theta))^beta))
   
   #n = 30
   logL<-n*log(2*alpha*beta*((exp(tau0 tau1*yi))^2)*theta)- a  
      b   (theta*beta-1)*c
     -(beta-1)*d
     -alpha*log(e)
   
   
   return(logL)
  
   }
 
max<-maxLik(likelihood,start=c(1.1,4.15,0.25,0.03,0.02))
summary(max)

 

Как это исправить, чтобы оценить параметры?

Ответ №1:

Я бы рекомендовал сначала вычислить логарифмическую вероятность аналитически, где вы обращаете внимание на то, чтобы максимально упростить ее, прежде чем вводить ее в свою функцию R. Обычно это позволяет избежать возникновения числовых проблем. Например, использование простого log(exp (x)) на компьютере может привести к числовым проблемам для очень большого x, но log(exp (x)) = x не будет.

Во-вторых, вы пытались подключить свои начальные значения в своей функции, чтобы узнать, возвращается ли разумное значение?