井出草平の研究ノート

無条件平均値代入法 Unconditional Mean Imputation [stata]

欠測値の補足方法の一つ。やっていることは変数の平均値を出し、欠損値の中に入れる、というだけである。

利点については以下のようなものが挙げられている。

  1. 簡単で直感的: 平均値代入法は非常に簡単で直感的な手法であるため、理解しやすく、実装も容易である。欠損値を変数の平均値で置き換えるだけで補完ができるため、手軽にデータの欠損を処理することができる。
  2. 計算負荷が低い: 平均値代入法は計算負荷が低く、大規模なデータセットに対しても迅速に適用できる。より高度な補完手法に比べて、計算時間やリソースが節約できる場合がある。
  3. 欠損値の影響を軽減: 欠損データが完全にランダムに発生している場合、平均値代入法は全体の傾向を維持することができるため、欠損値の影響をある程度軽減できる。

欠点について以下のようなものが挙げられている。

  1. 分散の低下: 平均値代入法では、すべての欠損値が同じ平均値で置き換えられる。そのため、データの分散が低下し、結果として、データの構造や相関関係が歪められることがある。
  2. 推定値のバイアス: 欠損が完全にランダムでない場合、平均値代入法によって得られた推定値にバイアスが生じることがある。例えば、欠損が特定の値に偏っている場合、平均値代入法ではその偏りが適切に反映されないため、誤った結果を導く可能性がある。
  3. 欠損データのパターンの無視: 平均値代入法は、欠損データのパターンや潜在的な関係を考慮しない。これは、欠損が特定の変数や状況に関連して発生している場合、その情報が失われることを意味する。
  4. 一貫性の欠如: 平均値代入法では、欠損値がある変数の平均値が使用されるため、データセット内の他の変数との関係が一貫しなくなることがある。

これらの特性を利用して、使うことが必要である。

statコード

データ読み込み

use https://stats.idre.ucla.edu/wp-content/uploads/2017/05/hsb2_mar.dta, clear

まず、欠損値を持つ変数の平均値を計算し、平均値を用いて欠損値を補完する。
以下のコードではwrite_mean、read_mean、math_meanの変数にそれぞれの平均値が格納され、write_imputed、read_imputed、math_imputedに平均値代入法により補完された変数が格納される。

egen write_mean = mean(write)
egen read_mean = mean(read)
egen math_mean = mean(math)

gen write_imputed = write
replace write_imputed = write_mean if write_imputed == .

gen read_imputed = read
replace read_imputed = read_mean if read_imputed == .

gen math_imputed = math
replace math_imputed = math_mean if math_imputed == .

平均値代入前の変数間の平均値および相関関係

sum write read math , sep (6)
    Variable |        Obs        Mean    Std. dev.       Min        Max
-------------+---------------------------------------------------------
       write |        183    52.95082    9.257773         31         67
        read |        191    52.28796    10.21072         28         76
        math |        185     52.8973    9.360837         33         75

相関。

corr write read math 
(obs=161)

             |    write     read     math
-------------+---------------------------
       write |   1.0000
        read |   0.5923   1.0000
        math |   0.6203   0.6474   1.0000

平均値代入後の変数間の平均値および相関関係

sum write_imputed read_imputed math_imputed
    Variable |        Obs        Mean    Std. dev.       Min        Max
-------------+---------------------------------------------------------
write_impu~d |        200    52.95082    8.853514         31         67
read_imputed |        200    52.28796     9.97715         28         76
math_imputed |        200     52.8973     9.00113         33         75

相関

corr write_imputed read_imputed math_imputed
             | write_~d read_i~d math_i~d
-------------+---------------------------
write_impu~d |   1.0000
read_imputed |   0.5480   1.0000
math_imputed |   0.5491   0.6159   1.0000

平均にほとんど変化がない。しかし、欠損情報を持つ観測値の平均値を代入した後、標準偏差が明らかに低くなっている。これは、平均値で全員を代入すると、変数の変動が減るからだ。 さらに、相関係数の表から、各変数(write、read、math)間の相関減衰していることが分かる。したがって、これらの変数間の関連を推定しようとする回帰モデルも、その効果が弱くなる。