分析前にデータのクリーニングをして、欠損・異常・重複を発見しよう




データ分析のためにデータを取集したあとには、統計分析専用のソフトやオフィスソフトのエクセルなどにデータを入力することになります。

現代では、紙に数字を書き、電卓で計算をしてなどと行うことはしませんよね。コンピュータを活用して、統計分析を行っていきます。

このときに、

  • データに欠損がある
  • 異常値が含まれている
  • 重複データがある

といった点がないか確認します。そのポイントについてお伝えします。

データに欠測がある

その箇所にもともとデータがなかった データはあったのだが、入力時に入力をしそこなった あるいは入力しないことにした、入力すべきデータではなかった 「0」のデータを空欄に置き換えた

などです。対応は、その行を削除したり、全データの平均値を入れたりします。

異常値が含まれている

入力間違い

人の身長のデータなのに1700cmというデータがあった場合、170cmと入力するつもりが、0をもう一つ足してしまった。

あり得ない値

年齢のデータがマイナスになっているなど。これも入力間違いによるものであったり、たとえば、誕生日から現在の日付をマイナスする数式を設定したが、それが間違っていたなどです。

想定していない値

たとえば、アンケート調査で、「1.そう思わない 2.あまり思わない 3.ややそう思う 4.そう思う」 といった項目から選択して、番号のデータを取得したときに、 「5」という数値があった場合などです。

アンケートを答えた人が間違って回答したか、入力する段階で間違えたか、です。「有」か「無」なのに、「有り」とか「あり」がまざっている。

異常値と思っても正常値の場合もある

間違って入力された異常値だと思っても、実は正常なデータの場合もありえます。

体重が150kgというデータがあった場合、間違って入力されたのでは?と思ってしまうかもしれないですが、 相撲取りであれば、150kgの体重もふつうにありえる数値です。確認する必要があります。

それは貴重なデータであるので、異常値だと思って排除などしてしまうと、そのデータが活かされず、もったいない話です。

チェック方法

まず、最小値、最大値を調べます。あり得ないような小さな数値、大きな数値がないかをチェックします。

統計ソフトであれ、エクセルであれ、最少値・最大値は簡単に算出できます。

ある店で日ごとの売上をまとめていたら、売上がありえないほど大きな金額、または小さな金額になっている日があったら、おかしいですよね。

最初に、最小値、最大値を調べることで、異常な値がないかがわかります。

また、アンケート調査で「1、2、3、4」の答えがあったとき、

1.まったく思わない
2.あまり思わない
3.ややそう思う
4.そう思う

下記のような結果が得られるはずです。

1 ・・・ 75人
2 ・・・ 121人
3 ・・・ 167人
4 ・・・ 134人

しかし、1~4の選択しかないのに、データ上では次のように5を選んだ人がいたらどうでしょう。

1 ・・・ 75人
2 ・・・ 121人
3 ・・・ 167人
4 ・・・ 131人
5 ・・・ 3人

データをまとめる際に、誤入力をしてしまった可能性などがあります。

エクセルであれば、IF関数を使用して「もし、この範囲に5以上の数字があったら、NGと表示する」 などの設定をすれば、間違いがあるかどうかチェックできます。

重複データがある

アンケートのデータで1人1回の答えをもらったはずなのに、同じ人の答えが2行ある、 顧客データでIDを振っているのに、同じIDの顧客データが複数ある、 といったことです。

順番に並べてみたり、IDなどがそれぞれのIDの個数を表示してみます。

普通であれば、すべてのIDが1個になりますが、あるIDが2個ある、といったように重複データがわかります。

まとめ

集めたデータを分析する前には、まずデータが欠損していないか、異常値がないかどうか、重複がないかどうかを確認します。

問題ないことを確認してから、または問題があったらその処理を終えてから、はじめて分析作業本番にとりかかります。