Ошибка - Подгонка усеченного логнормального распределения в R - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь оценить параметры усеченного логнормального распределения.

ниже приведены данные и код:

library(fitdistrplus)
library(truncdist)

dtruncated_log_normal <- function(x, meanlog, sdlog) 
  dtrunc(x, "lnorm", a=0, b=10, meanlog=meanlog, sdlog=sdlog)
ptruncated_log_normal <- function(x, meanlog, sdlog) 
  ptrunc(x, "lnorm", a=0, b=10, meanlog=meanlog, sdlog=sdlog)

x<-c(4,0,19,11,2,32,10,0,3,9,10,1,2,10,4,14,6,1,8,16,15,7,2,1,15,10,4,8,7,0,13,0,14,29,23,9,6,9,18,8,18,8,0,33,9,0,1,4,11,
  4,0,3,1,10,8,3,5,1,6,44,5,54,8,1,15,5,5,18,14,3,2,6,0,8,5,17,12,13,8,27,2,1,18,11,31,0,16,4,18,36,11,10,20,18,4,7,4,32)

x1<-x[x<=10]

fitdist(x1, "truncated_log_normal", start = list(meanlog=10, sdlog=10))

Но я получаю следующую ошибку:

<simpleError in optim(par = vstart, fn = fnobj, fix.arg = fix.arg, obs = data,     gr = gradient, ddistnam = ddistname, hessian = TRUE, method = meth,     lower = lower, upper = upper, ...): function cannot be evaluated at initial parameters>
Error in fitdist(x1, "truncated_log_normal", start = list(meanlog = 10,  : 
  the function mle failed to estimate the parameters, 
                with the error code 100

Речь идет о начальных значениях. Но я не знаю, как настроить начальные значения для процедуры оптимизации.

Есть ли способ установить правильные начальные начальные значения. Я буду очень рад за любую помощь. Большое спасибо.

...