2011-08-23 74 views
9

我有一個計數數據的矢量,它強烈地位於分散和零膨脹的位置。在R中擬合零膨脹泊松分佈

的載體是這樣的:

i.vec=c(0,63,1,4,1,44,2,2,1,0,1,0,0,0,0,1,0,0,3,0,0,2,0,0,0,0,0,2,0,0,0,0, 
0,0,0,0,0,0,0,0,6,1,11,1,1,0,0,0,2) 
m=mean(i.vec) 
# 3.040816 
sig=sd(i.vec) 
# 10.86078 

我想以適應分配到這一點,這我強烈懷疑將是零膨脹泊松(ZIP)。但是我需要進行重要性測試來證明ZIP分配適合數據。

如果我有一個正態分佈,我可以使用包vcd中的函數goodfit()進行卡方檢驗,但我不知道可以對零膨脹數據執行任何測試。

+0

屬於stats.stackexchange.com也許? – Spacedman

回答

15

這是一種方法

# LOAD LIBRARIES 
library(fitdistrplus) # fits distributions using maximum likelihood 
library(gamlss)   # defines pdf, cdf of ZIP 


# FIT DISTRIBUTION (mu = mean of poisson, sigma = P(X = 0) 
fit_zip = fitdist(i.vec, 'ZIP', start = list(mu = 2, sigma = 0.5)) 

# VISUALIZE TEST AND COMPUTE GOODNESS OF FIT  
plot(fit_zip) 
gofstat(fit_zip, print.test = T) 

在此基礎上,它看起來並不像ZIP是一個不錯的選擇。

+7

+1;但它看起來合理可接受負二項擬合:fit_zip2 < - fitdist(i.vec,'nbinom',start = list(mu = 3,size = 0.1)) –

+4

它看起來不錯。我也會嘗試零增長的負二項式分佈,這個分佈在'VGAM'包中可以作爲'zinegbin'使用。 – Ramnath

+2

非常感謝!你是如何選擇mu和sigma的? – Laura