2011-08-01 54 views
5

我试图探索在数据集中输入缺失值的方法。我的数据集包含年份(2001-2009),月份(1-12),性别(M/F)和年龄组(4组)的发生次数(非自然,自然和总数)。预测/输入R中泊松GLM回归的缺失值?

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

说我的数据是这样的:

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观察已经由于他们是失踪删除。

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 

回答

6

首先,要非常小心随机丢失的假设。您的示例看起来像缺失与女性和年龄组共同出现。你应该真的测试失踪是否与任何预测相关(或者是否有任何预测失踪)。如果是这样,那么回应可能会出现偏差。

其次,你正在寻找的功能可能是predict,这可能需要一个glm模型。有关更多指导,请参阅?predict.glm。您可能需要拟合一系列模型(即嵌套模型)来解决缺失值。

+0

感谢您的快速响应!我会看看?predict.glm!关于失踪 - 基本上,2007年和2008年的几个月都不见了(对于男性和女性以及所有年龄组)。我尝试了解失踪机制 - 但仍然有点模糊。我会看到预测值的外观,然后进一步调查。 我可能需要阅读关于模型级联(嵌套模型)。谢谢 – OSlOlSO

+0

+1 NA反应的好处。 –

+0

注意:级联只是在缺少观察的情况下的一系列模型。在数学上,如果缺少预测变量,则不存在GLM模型,因此您需要为该场景提供替代模型。你如何选择它取决于你。建模功能应该是安全的,可以说“我不知道” - 就像智者一样。 :) – Iterator

0

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

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