在R中拟合零膨胀泊松分布时出错

时间:2017-03-11 17:26:13

标签: r statistics poisson fitdistrplus

我是一个R初学者试图适应ZIP:

set.seed(5695)
a<-c(rep(0,250),rpois(n=750,lambda=2))
fpoisZI <- fitdist(a, "ZIP", start=list(sigma=sum(a == 0)/length(a), mu=mean(a)))

我认为这段代码应该没问题,但之后会出现错误信息:

  

必须定义dZIP功能

关于我做错了什么的任何想法?

1 个答案:

答案 0 :(得分:0)

对于适合ZIP模型的零膨胀泊松分布,您需要库gamlss.dist。如果未安装,请使用install.packages('gamlss.dist')进行安装。然后以下代码应该起作用:

library(fitdistrplus)
library(gamlss.dist)
set.seed(5695)
a<-c(rep(0,250),rpois(n=750,lambda=2))
fpoisZI <- fitdist(a, "ZIP", start=list(sigma=sum(a == 0)/length(a), mu=mean(a)))
summary(fpoisZI)
#Fitting of the distribution ' ZIP ' by maximum likelihood 
#Parameters : 
#       estimate Std. Error
#sigma 0.2465825 0.01912744
#mu    1.9672566 0.06196681
#Loglikelihood:  -1621.389   AIC:  3246.777   BIC:  3256.593 
#Correlation matrix:
#          sigma        mu
#sigma 1.0000000 0.3968521
#mu    0.3968521 1.0000000