欠損値の対処法
2017/08/15
カテゴリ:コラム「統計備忘録」
※コラム「統計備忘録」の記事一覧はこちら※
欠損値は misshing value の訳です。欠測値という言い方もします。今回は欠損値があった場合にどのような対処があるか触れておきます。
欠損値があった場合の対処には、次のような幾つかの方法が考えられています。
1.欠損値を放置
2.欠損値を含むケースをリストごと削除
3.欠損値に平均値を代入
4.欠損値を含む人と属性の似ている人の値を代入( hot-deck imputation )
5.重回帰式などによって値を推計して代入( cold-deck imputation )
6.前回の観測値を代入( LOCF, LVCF )
7.多重代入法により代入( multiple imputation )
1.欠損値を放置
「Excelによる欠損値の扱い」の記事で書いたようにExcelは欠損値の対応が完全ではないので注意が必要ですが、大概の統計ソフトでは、データの中に欠損値があっても放置しておいて大丈夫です。自動的に欠損値を除いて計算してくれます(統計手法によっては欠損値が認められないケースもありますが)。
2.欠損値を含むケースをケースごと削除
これは「Excelで欠損値を含むデータを除く方法」の記事で書いたように、欠損値を含むケースをケース(行)ごと削除(casewise deletion、listwise deletion)します。1つ1つの変数の中では欠損値が少なくとも、変数によって欠損値のあるケースが異なると、削除してみたら、ほとんど有効ケースが残っていなかったということもあります。統計ソフトで多変量解析を行うと、大概は、自動的にケースワイズ削除の機能が働きます。
3.欠損値に平均値を代入
欠損値の箇所に欠損値を含まないデータから計算した平均値を代入します。この方法であれば代入後に平均値を計算しなおしても平均値は変化しません。ただし、分散、標準偏差は小さくなるので、検定結果に強く影響します。
4.欠損値を含む人と属性の似ている人の値を代入(hot-deck imputation)
ホットデック法、ホットデック代入法と呼ばれています。例えば、欠損値を含む人65歳の女性であれば、残りの有効なデータの中から同じ65歳女性を探し出して、その人の値を欠損値に代入します。同じ属性の人が複数いる場合は、複数の中から無作為に1件を選択して代入します。
5.重回帰式などによって値を推定して代入(cold-deck imputation)
コールドデック法、コールドデック代入法と呼ばれています。欠損値がある変数を目的変数に、属性など目的変数に影響しそうな変数を説明変数にして重回帰分析などにより目的変数を推定するモデル式を作成します。続いて、欠損値がある人について、モデル式を利用し推定値を算出、代入します。
6.前回の観測値を代入(LOCF,LVCF)
同じ人を追跡調査している場合、前回の調査で得られた値を代入します。前の3つの代入法よりも確実な方法と言えます。英語では、last observation carried forward(LOCF)、もしくは、last value carried forward(LVCF) と言います。
7.多重代入法により代入(multiple imputation)
Rubinが1987年に発表した比較的新しい方法です。SAS(SAS9から正規版とのこと)やSPSS(SPSS Missing Valuesオプションの機能)など幾つかの統計ソフトに搭載されているようです。私自身はまだ使ったことがないので詳しいことは分かりません。
上記以外にも対処法があるようですが、まだまだ勉強不足なので、今回は、このあたりで筆を置きます。