R - пример распределения смеси с помощью fitdistrplus

Я определил смесь LogNormal и Обобщенного Парето (актуар) следующим образом:

dlnormgenpar<-function(x,
               w_lnorm,
               meanlog=0,
               sdlog=1,
               par_shape1=1,
               par_shape2=1,
               par_scale=1) {
  w_par=1-w_lnorm
  dln=dlnorm(x,meanlog = meanlog,sdlog = sdlog)
  dpar=dgenpareto(x,shape1=par_shape1,shape2=par_shape2,scale=par_scale)
  return(w_lnorm*dln+w_par*dpar)
}

Я пытаюсь приспособить его к некоторым данным, используя fistdistrplus:

dist<-fitdist(data,"lnormgenpar")

Однако я получаю ошибку:

Unknown starting values for distribution lnormgenpar.

Если я расширяю функцию подгонки обычным способом fitdistrplus, ошибка остается:

dist<-fitdist(data,"lnormgenpar",dparams=list(
  w_lnorm=0.5,
  meanlog=0,
  sdlog=1,
  par_shape1=1,
  par_shape2=1,
  par_scale=1
  ))

Как мне передать мои параметры в функцию подгонки?

Спасибо

Саймон

0 ответов

Другие вопросы по тегам