異常値排除
異常値排除はなぜ必要なのか、よく似た言葉「異常値」と「外れ値」の違いを説明します。
異常値排除とは
データを活用する時、異常値を含めたまま活用すると、その結果は誤ることになります。たとえば、あるデータの年齢という項目に、2000歳というデータ(明らかに入力ミス)があったとします。平均年齢を求める場合には、このデータを除外してから求めなければ正しい平均年齢は求められません。このように、明らかにおかしなデータ(異常値)を除外することを異常値排除と言います。
外れ値と異常値
異常値とよく似た言葉に外れ値という言葉があります。「外れ値(異常値)」や「異常値(外れ値)」と表現されることもありますが、本来は外れ値と異常値は異なるものです。
外れ値とは、他のデータからみて、極端に大きな値、または極端に小さな値のことを言います。かと言って、極端に小さい値や大きい値であるからといって、それが異常値であるとは限りません。なにか意味があって、極端な値が出ている可能性もあります。たとえば、身長のデータを見たところ、155㎝~185㎝の範囲にあるのに、1件だけ200㎝のデータがあったとします。200㎝のデータは他のデータと異なる外れ値と見えますが、異常値とは言い切れません。ところが、17505㎝というデータはどうでしょうか。これは明らかに異常値と言えます。恐らく、175.5㎝のところ17505㎝と入力を誤った結果と思われます。このように、外れ値のなかで、測定ミスや記録ミス、あるいは、条件の異なる値の混入など、原因や理由がわかっているものが異常値となります。
統計学では、スミルノフ・グラブス検定や四分位点を用いる方法など外れ値かどうかの判断を行う手法がいくつかありますが、たとえ外れ値がわかったとしても異常値かどうかの判断には発生原因をよく考察する必要があります。たとえば、センサを使って機器の稼働状況のデータを取得しているとします。機器異常を発見したい場合には、外れ値こそ機器異常が起きた時の大切なデータとなります。このように時系列データの場合には、そのデータから大きく変化した時点を抑える必要がありますので、外れ値だからといって排除するわけにはいきません。
異常値の判断と排除の手法
たとえば、100、200、300、400、4000という値の平均値は1000になりますが、4000という値が明らかな入力ミスで異常値である場合には、これを排除して平均値を求めると250になります。このように異常値を排除しなければ正しい結果を得ることができません。統計学上では、異常値や外れ値でなくても、値の上位と下位のデータを排除する場合もあります。たとえば、採点競技で審査員の出した得点の最上位と最下位を除いた得点で順位を競う場合などです。また、機械学習においては、学習データの中に異常値が存在すると正しい学習が行えない場合があり、異常値は事前に学習データから排除することが必要となります。異常値を見つけるためには、データ(各項目)にどのような値が存在し、各値が何件存在するのかを知る必要があります。その項目の特性により、前述した年齢や身長のようにあからさまに異常値だと判断できる場合もありますが、値を見ても判断できない場合には、件数を見れば判断材料の一つになります。そして、異常値の判断基準となる閾値(しきい値)を決めることで、異常値の判断と排除を自動化することが可能となります。ただし、データは日々変化しますので、都度データを確認し、設定している閾値で問題無いかは確認していく必要があります。
データ整備サービス
弊社が提供している「データ整備サービス」では、各項目にどのような値が含まれているかを調べる「データ確認」があります。異常値の有無についてご確認いただくことが可能です。詳しくはホームページをご覧ください。