预测/估算R中Poisson GLM回归的缺失值?

时间:2011-08-01 18:43:11

标签: r glm missing-data predict

我正在尝试探索在数据集中输入缺失值的方法。我的数据集包含年份(2001-2009),月份(1-12),性别(M / F)和年龄组(4组)的出现次数(非自然,自然和总和)。

我正在探索的一种插补技术是(泊松)回归插补。

说我的数据如下:

    Year Month Gender AgeGroup Unnatural Natural Total
569 2006     5   Male     15up       278     820  1098
570 2006     6   Male     15up       273     851  1124
571 2006     7   Male     15up       304     933  1237
572 2006     8   Male     15up       296    1064  1360
573 2006     9   Male     15up       298     899  1197
574 2006    10   Male     15up       271     819  1090
575 2006    11   Male     15up       251     764  1015
576 2006    12   Male     15up       345     792  1137
577 2007     1 Female        0        NA      NA    NA
578 2007     2 Female        0        NA      NA    NA
579 2007     3 Female        0        NA      NA    NA
580 2007     4 Female        0        NA      NA    NA
581 2007     5 Female        0        NA      NA    NA
...

在进行基本的GLM回归后 - 由于缺失了96个观察结果,已删除了96个观察结果。

R中是否存在一种方式/包/函数,它将使用此GLM模型的系数来“预测”(即估算)Total的缺失值(即使它只是将其存储在单独的数据框中 - 我会用Excel合并它们吗?我知道我可以使用系数来预测不同的层级行 - 但这将需要永远。希望有一个单步功能/方法?

Call:
glm(formula = Total ~ Year + Month + Gender + AgeGroup, family = poisson)

Deviance Residuals: 
      Min         1Q     Median         3Q        Max  
-13.85467   -1.13541   -0.04279    1.07133   10.33728  

Coefficients:
                Estimate Std. Error z value Pr(>|z|)    
(Intercept)   13.3433865  1.7541626   7.607 2.81e-14 ***
Year          -0.0047630  0.0008750  -5.443 5.23e-08 ***
Month          0.0134598  0.0006671  20.178  < 2e-16 ***
GenderMale     0.2265806  0.0046320  48.916  < 2e-16 ***
AgeGroup01-4  -1.4608048  0.0224708 -65.009  < 2e-16 ***
AgeGroup05-14 -1.7247276  0.0250743 -68.785  < 2e-16 ***
AgeGroup15up   2.8062812  0.0100424 279.444  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 403283.7  on 767  degrees of freedom
Residual deviance:   4588.5  on 761  degrees of freedom
  (96 observations deleted due to missingness)
AIC: 8986.8

Number of Fisher Scoring iterations: 4

2 个答案:

答案 0 :(得分:6)

首先,要非常小心随意丢失的假设。您的示例看起来像女性和年龄组共同发生的缺失。您应该真正测试缺失是否与任何预测变量相关(或者是否缺少任何预测变量)。如果是这样,答案可能会有所偏差。

其次,你正在寻找的函数可能是predict,它可以采用glm模型。有关更多指导,请参阅?predict.glm。您可能希望安装一系列模型(即嵌套模型)来解决缺失值。

答案 1 :(得分:0)

mice包提供了一个相同名称的函数,允许使用基于其他值的回归方案预测每个缺失值。它可以应对预测因子,因为它使用迭代MCMC算法。

我不认为泊松回归是一种选择,但如果你的所有计数都与例子一样大,那么正常回归应该提供一个合理的近似值。