Location : Home > Methods > Statistics
Title : Missing Data
Toolbox Logo

Missing Data

 解析をしようとしたデータが全部そろっているとは限らない。もちろん欠損しているデータを無視することができる場合や0と見なすことができる場合もあるが、いつもそうとは限らない。その時々にあった適切な処理方法がある。

欠損値発生のメカニズム

 解析対象のデータが、何らかの実験設備における計測データであれば、欠損した原因は計測機器の誤作動か、信号を処理する時点でのソフトのバグなど、原因を想定しやすいし、その影響を排除することはさほど困難ではない。しかしアンケートの結果など社会調査の場合は、必ずしも層は言えない。例えばある学校で卒業後の進路について調査しようとして、卒業生全員に郵送でアンケートを送ったとしよう。そのうち何%からはあて先人不明で送り返されてくるであろう。これは調査時点で把握していた住所が古くなっていたことが原因とも考えられるが、ひょっとしたら身元を隠さねばならない事情があるからかも知れない。また無事アンケートが届いても、必ずしも記入して返送されるとは限らない。単に面倒だから返送しなかったという場合もあるだろうが、記入できないような職業についている場合や、そもそも失業している場合もあるだろう。すると、アンケートが返ってきた結果から「わが校の卒業生は○○%以上が大企業に就職!!」とは言えない。仮に結果が80%と出ても、返送されてきたアンケートに偏りがある危険があるからだ。特に、自分に不利益な回答や誇るべきでない回答が含まれる場合には。
 したがって、欠損値はデータ計測やアンケートにはつきものだとして、その原因によって扱いを変える必要がある。

完全にランダムな欠損

 どの値が欠測するかが完全にランダムであるような欠損を完全にランダムな欠損(Missing Completely At Random;MCAR)と言う。(やや冗語的な定義ではあるが。)
 何に対して「ランダム」であるかは、後述のものと比較して問題になるわけであるが、その欠損が何か意図や意味をもったものではなく、「たまたま」欠落したと考えられるようなものと理解すればよい。この場合の欠損値の処理も簡単になる。

ランダムな欠損

 欠損値しているか否かが欠損値そのものに依存していない(と考えられる)とき、ランダムな欠損(Missing At Random;MAR)と言う。…という説明がなされるが、「欠損値しているか否かが欠損値そのものに依存していない」ことを確認するには観測されねばならないので、果たしてどうしたものか、とも思う。
 1要素の変数の場合はMCARとCARは区別しようがないが、2以上の要素を持つ場合、欠損が起こっているものが観測されている属性で識別できるが、どうも欠損値そのものには特別な性質が見られなさそうな場合がこれにあたる。欠損が起こっているものが観測されている属性でも特徴を見出せない場合にはMCARだと言える。

ランダムでない欠損

 欠損値しているか否かが欠損値そのものに依存している(と考えられる)とき、ランダムでない欠損(Missing Not At Random;MNAR)と言う。上記の2つは欠測値を(欠測ではなく)始めからなかったものとして分析しても結論に違いがないので「無視可能」と言えるが、MNARであればそうは言えない。
 前述の卒業生進路アンケートの結果がその例である。ある程度以上誇れるような経歴でない人は回答してこない危険が高い、ということで欠損値に偏りがあると考えられるからだ。

欠損値への対策

 欠損値の扱いについてはおおまかに以下の4つの方法がある。

  1. 欠測値を含む観測値を取り除いて分析(Complete-Case Analysis)
  2. 得られたデータを使って分析(Available-Case Analysis)
  3. 欠測値を補完して分析(Imputation)
  4. 欠測しているという事実をそのまま利用して分析(Direct)
Complete-Case Analysis

 欠損値を含む観測値(observation)を全て除外して処理する方法である。この方法では残ったデータは全て完全であるので、処理に困ることはないが、その分データ数も減ることになる。ただし欠損値を除外した結果を正当と見なすということは、欠損値の発生はランダムである(すなわちMCARである)と見なしたことに等しく、仮に欠損値に偏りがあると解析結果もアヤシイということになる。

Available-Case Analysis

 分析対象が、全観測値ではなく、そのうちのいくつかの変量である場合、変量ごとで最大限利用可能な組み合わせで利用する方法である。

Imputation

 欠損値に値を代入したり補間したりする方法である。これには以下のような方法がある。

  1. 平均値を代入する。
  2. Hot Deck 法:似ているデータを同じデータセット内から選び、その値で補充する。
  3. 周辺の値の重回帰式で求めた値で補充する。
  4. EMアルゴリズムで補充。
  5. 多重代入法(multiple imputation;MI)で補充。

参考 URL

Toolbox Logo
Updated : 2007/04/20