2017-01-17 43 views
1

我跑了零膨脹泊松迴歸與包pscl以及與此post如何解決與零膨脹泊松迴歸

但是跨相同的錯誤來了一個錯誤,因爲我知道有過量零一個單獨的進程由z表示,只需運行泊松作爲解決方案(泊松結果很好)是否合理?有沒有其他解決ZIP問題的方法?我也試過零膨脹負二項式迴歸,但它得到了同樣的錯誤。謝謝。

Call: 
zeroinfl(formula = y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 | z, data = df) 

Pearson residuals: 
    Min  1Q Median  3Q  Max 
-2.48465 -0.06156 -0.06126 -0.06091 5.57840 

Count model coefficients (poisson with log link): 
       Estimate Std. Error z value Pr(>|z|) 
(Intercept)  3.547e+00   NA  NA  NA 
x1    -3.251e-02   NA  NA  NA 
x2    6.290e-03   NA  NA  NA 
x3    8.867e-01   NA  NA  NA 
x4    1.432e-01   NA  NA  NA 
x5    2.705e-01   NA  NA  NA 
x6    -8.223e-10   NA  NA  NA 
x7    -7.218e-02   NA  NA  NA 
x8    3.322e-02   NA  NA  NA 
x9    -2.072e-01   NA  NA  NA 

Zero-inflation model coefficients (binomial with logit link): 
      Estimate Std. Error z value Pr(>|z|) 
(Intercept) 5.531   NA  NA  NA 
z    158.108   NA  NA  NA 
Error in if (getOption("show.signif.stars") & any(rbind(x$coefficients$count, : 
    missing value where TRUE/FALSE needed 

回答

2

很難回答這個問題不重複的例子,但我會提供一些觀察(太長的評論):

  • pscl的默認行爲是使用相同的模型的零膨脹和計數(條件)部分的公式。除非你有一個非常大的數據集,否則你很可能無法將10參數模型(截距+9協變量)擬合到數據的計數和零通脹方面。 (一個合理的經驗法則是,您應該有20倍的參數觀察值,所以這至少有400個觀察值 - 這個規則對於估計零通貨膨脹可能是保守的。)
  • 您的一個參數估計值( x6)近似爲零,表明您沒有足夠的數據變化來估計該參數(或者存在與此協變量有關的其他問題,例如您在此維度中存在極端異常值)。這可能很容易弄亂整個模型的標準錯誤等。

一般建議:

  • 情節數據
  • 找到了一個相當複雜的模型,你實際上可以適合通過分割,打破了過於複雜的模型和過於簡化模型之間的區別在於錯過重要的現象,如本圖所示:

enter image description here

Uriarte和Yackulic,生態應用,19(3),2009年,第592-596頁

+0

感謝Ben的好建議。我有2000觀測值,所以樣本量應該沒問題。你是正確的發現x6。而實際上另一個變量x3導致了奇點問題。一旦我放棄了這兩個,模型就很適合數據。附:我很欣賞這個漂亮的情節:) –