5

データセットに欠損値を代入する方法を探ろうとしています。私のデータセットには、年 (2001 ~ 2009)、月 (1 ~ 12)、性別 (M/F)、および年齢グループ (4 グループ) の出現回数 (不自然、自然、合計) が含まれています。

私が探求している代入手法の 1 つは、(ポアソン) 回帰代入です。

私のデータが次のようになっているとします。

    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 個の観測が削除されました。

このGLMモデルの係数を使用してTotalの欠損値を「予測」(つまり、代入)するRの方法/パッケージ/関数はおそらくありますか?それらをマージするには)?係数を使用してさまざまな階層行を予測できることはわかっていますが、これには永遠に時間がかかります。うまくいけば、ワンステップ関数/メソッドがありますか?

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
4

2 に答える 2

6

まず、無作為に欠落しているという仮定に十分注意してください。あなたの例は、欠落が女性と年齢層と同時発生しているように見えます。欠落が予測子に関連しているかどうか (または予測子が欠落しているかどうか) を実際にテストする必要があります。その場合、応答が歪んでいる可能性があります。

次に、探している関数は である可能性が高くpredict、これは glm モデルを取ることができます。詳細については、を参照してください?predict.glm。モデルのカスケード (つまり、ネストされたモデル) を適合させて、欠損値に対処することができます。

于 2011-08-01T18:54:40.817 に答える
0

このmiceパッケージは、他の値に基づく回帰スキームを使用して各欠損値を予測できるようにする同名の関数を提供します。反復 MCMC アルゴリズムを使用するため、欠落している予測子にも対処できます。

ポアソン回帰はオプションではないと思いますが、すべてのカウントが通常の回帰の例と同じくらい大きい場合、妥当な近似値が得られるはずです。

于 2012-06-14T09:03:03.280 に答える