Обнуленный обобщенный Пуассон в R - PullRequest
0 голосов
/ 27 февраля 2020

Мне нужно оценить параметры ZIGP-2, используя MLE в R. Я написал функцию правдоподобия, как указано ниже:

zigp_likelihood = function(par,ClaimNb)
                           { mu=par[1]
          alpha=par[2]
                   p=par[3]

              for(ObsI in 1:length(ClaimNb)){
                      LogLike[ObsI] = u*log(p + (1-p)*exp(-mu/(1+alpha * mu)) ) + (1-u)*( log(1-p) + ClaimNb[ObsI]*log(mu/(1+alpha*mu)) + (ClaimNb[ObsI]-1)*log((1+alpha*ClaimNb[ObsI])/factorial(ClaimNb[ObsI])) + ((-mu*(1+alpha*ClaimNb[ObsI]))/(1+alpha*mu))  )                                                                                                                                    (ClaimNb[ObsI]-1)*log((1+alpha*ClaimNb[ObsI])/factorial(ClaimNb[ObsI])) + ((-mu*(1+alpha*ClaimNb[ObsI]))/(1+alpha*mu))  ) 

                                   u<-c(1,0)
                                            if (ClaimNb<-0) {
                                                     (u<-1)
                                                    }
                                          else if (ClaimNb>0)  {
(u==0)
                                                       }
                                           Return = sum(LogLike)
                                         return(-Return)
                                          }
          }

 optim(par=c(3,2,0.1),fn=zigp_likelihood , ClaimNb=ClaimNb)

, где ClaimNb - переменная, следующая за ZIGP-2.

И я получаю оценки как:

$ par [1] 2.517901 2.268634 1.000000

$ value [1] 7.543005e-10

$ считает функцию градиента 174 NA

$ Convergence [1] 0

$ message NULL

Было 50 или более предупреждений (используйте warnings (), чтобы увидеть первые 50 )

У меня такое ощущение, что вывод неправильный, потому что в других случаях, когда я пробовал тот же код, я получал ошибку.

Может кто-нибудь сказать, если функция вероятности код правильный? В R нет пакета для ZIGP. Предыдущий пакет ZIGP был отключен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...