はじめに
統計分析を行う際には、データを集め、計算機で扱いやすい形で入力する必要がある。その後の分析がいかに素晴らしいものであったとしても、集めたデータが良くないものであったら、よろしくない結果しか出てこない。だから、最初の段階でデータをしっかりと入力しなくてはならない。
もっとも、データを入力する際にはミスがつきものである。入力段階でミスをしてしまうと、それが後々まで尾を引いてしまうのである。そして、入力ミスを完全になくすことは容易ではない。だが、少し気をつけるだけで、入力ミスは減らすことができる。今回は、簡単なグラフを描くことで、数値データの入力ミスを見つける手法について紹介する。
単純なグラフを描く
深く考えずに、ある列のデータだけをグラフに描くだけで、数値データの入力ミスに気づく場合がある。
以下のような例を考えてみよう。中学生を対象に国語の試験を行ったとする。この試験は100点満点であったとしよう。そして、採点が済み、表計算ソフトなどで、以下の表のようにパソコンにデータを入れたとする。
受験番号 | 得点 |
---|---|
1 | 54 |
2 | 42 |
3 | 63 |
4 | 48 |
5 | 555 |
6 | 72 |
7 | 41 |
少し見れば明らかに受験番号5番の点数がおかしいことが分かる [1] 。ただ、これがすぐ分かったのは、7人分のデータしか挙げていなかったためである。実際のデータ分析に当たっては、もっと多くのデータを扱うことがあるので、そう簡単には見付けられない。
データが増えても見付けやすい方法として、グラフを描くというものがある。何も複雑なグラフを考えることはない。上の表の例で言うと、得点の部分だけを対象にして点グラフを描くだけで、間違いは十分に見付けることができる。
上記のグラフでは、明らかに5番目のデータだけが外れた位置に出ている。こういったものは図示すると、とても見やすくなって発見しやすい。
Rのコマンドで言えば、“plot(data$得点)”と入力するだけでグラフが描けるので非常に簡単である。なお、ここで、dataは得点などのデータが入ったデータフレームであるものとする。各種表計算ソフトのグラフ作成機能を使っても同じようなことができる。
散布図から入力ミスを見つける
先ほどの例は1系列のデータしかグラフにしていなかったが、これを応用して2系列のデータを散布図にしてそこから入力ミスを見つけるということも可能である。
以下のような例を考えてみよう。高校生を対象に2種類の英語の試験AとBを行ったとする。それぞれの試験は100点満点であったとしよう。ここで、Aの得点を横軸に、Bの得点を縦軸にとる [2] ような散布図を描くことができる [3] 。そして、散布図を描いたら以下のようなグラフが得られたとしよう。
ここで、右下に1つだけ孤立した点がある。この点が表しているデータは、Aが80点ぐらい、Bが30点ぐらいである。それぞれ単独で見ると、Aが80点近い人は他にもたくさんいるし、Bが30点近くの人もたくさんいるので、さほど奇妙なことではない。しかし、Aが80点ぐらいでBが30点ぐらいということを同時に見たしているのは、この点が表しているデータしかない。
こういった孤立した点は、データの入力ミスである可能性が他よりも高い。もちろん、実際にAのときは調子が良くて、Bのときは調子が悪かったために、こういった点数になったという可能性もあるだろう。しかし、念のため、このデータをチェックし直すことは決して時間の無駄ではないだろう。
グラフを描かずに入力ミスを防ぐ
グラフを描くと、上述のように入力ミスを防げる場合があるが、それは万能ではない。入力ミスを完全に消し去るのは難しいのである。グラフを描く方法以外の手法も知っておくと、入力ミスのチェックが楽になる。
例えば、先ほどの100点満点の試験を行う例で言えば、データを入力する前に、表計算ソフトの「入力規則」機能を設定しておくと、入力ミスがかなり防げる。入力規則で、入力される値は0点から100点の間の数値だと設定しておけば、555点のようなあり得ない点数を入力した時点で、表計算ソフトが警告を出すので便利である。
また、表計算ソフトの並び替え(ソート)機能を使い、データを大きいものから順に、あるいは小さいものから順に並べ替えると、極端な値を見付けやすい。