Неизвестное сообщение об ошибке при попытке найти MLE в R - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь найти MLE дистрибутива, pdf которого указан в коде как «смесь».Ниже приведен код, который выдает ошибку «Ошибка в optim (start, f, method = method, hessian = TRUE, ...): L-BFGS-B нужны конечные значения 'fn'"

«заявки» - это набор данных, который я использую.Я пробовал один и тот же код только с первыми двумя значениями «заявок» и столкнулся с той же проблемой, поэтому для воспроизводимого примера первые два значения - 1536.77007 и 1946.92409.

Ограничения на параметры распределения таковы, что 0 <.p. <1 и a> 0 и b> 0, следовательно, нижняя и верхняя границы в функции MLE.Буду признателен за любую оказанную помощь.

#create mixture of two exponential distribution
mixture<-function(x,p,a,b){
  d<-p*a*exp(-a*x)+(1-p)*b*exp(-b*x)
  d
  }


#find MLE of mixture distribution 
LL <- function(p,a,b) {
       X = mixture(claims,p,a,b)
      #
      -sum(log(X))
   }

mle(LL, start = list(p=0.5,a=1/100,b=1/100),method = "L-BFGS-B", lower=c(0,0,0), upper=c(1,Inf,Inf))

edit: Не совсем уверен, почему dput (), но в любом случае,

#first two values of claims put into dput() (the actual values are above)
dput(claims[1:2])
c(307522.103, 195633.5205)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...