Я пытаюсь оценить параметры усеченного логнормального распределения.
ниже приведены данные и код:
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
Речь идет о начальных значениях. Но я не знаю, как настроить начальные значения для процедуры оптимизации.
Есть ли способ установить правильные начальные начальные значения. Я буду очень рад за любую помощь. Большое спасибо.