📖

探索的データ分析(EDA)

2024/12/29に公開

探索的データ分析(EDA)

  • データを得たときの最初にすべきことの1つが、データ理解。
  • 高精度な予測モデルを構築したいのなら、データの理解が最優先。
  • データ理解をするための手法の1つが、探索的データ分析(EDA:Exploratory Data analysis)。
  • 探索的データ分析(EDA)は、視覚的アプローチと非視覚的アプローチの2つのアプローチで構成される。
  • 非視覚的アプローチとは文字通り視覚的でないアプローチだが、さらに2種類があり、"データで解決すべき課題の理解や状況理解などの定性的なもの"と、"データに対し何かしらの処理を実施し、平均値を求めたり欠測値に対処したりデータを変換したりする定量的なもの"がある。

最低限すべき4つのこと

順位 すべきこと
1 記述的分析
2 前処理
3 可視化
4 データセット準備

記述的分析

最も怖いのは、"事実誤認"。"事実誤認"とは、"ファクト(事実)"と思われていたことが実は単なる感想や思い込みだったというもの。"事実誤認"のままことが進むと、"勘違い"を前提にしているため、その後のデータ分析やモデル構築なども徒労に終わる可能性が高くなる。

順位 すべきこと 具体的アプローチ
1 解決すべき課題の理解する 客観的な「ファクト」(事実)と主観的な「思っていたこと」などを切り分けるとともに、今度どうしたいのかという「思い」やどうすべきかという「方針」を整理する
2 入手したデータを眺める どのような変数があり、どの変数が使えそうか、どのくらいのデータ量があり、どの変数のデータがまともそうか、などをデータ定義書(変数の説明や、変数のとりうる値の定義など)をもとに、意識的に眺める
3 変数の特徴を掴む 各変数の記述統計量などを求め、各変数の特徴を掴みます。例えば、有効データ数、欠測数、平均値、中央値、最大値、最小値、標準偏差、分散などを求めたりする。

前処理(データクレンジング)

入手したてのデータの多くは、現実では起こりえない値が混じっていたり、データが欠測していたりする。
データをクレンジングし、より高度なデータ分析やモデル構築などに耐えうるものに生まれ変わらせる必要がある。

データのクレンジング 対応例
不適切な値への対応 「?」,「-」,「NA」などのシステムが自動入力したと思われる特殊な文字表現が入ったままのケースがある。そのような不適切な値には、何かしらの対処をする必要がある。例えば、欠測値(値が入っていない)と見なしたり、別の値を代入(例:平均値や中央値などを代入)したりする。
異常な値への対応 例えば、顧客の生年月日が江戸時代、中学生の子どもを持つ年齢が1歳の父親、顧客開始時期が紀元前の法人、従業員10名の1日に200兆円超の発注をしている取引先、1日の売上が30円の小売店など、明らかに間違っていると思われるデータなどが異常値(しかし、一番難しいのは"あり得そうな異常値")。異常値は欠測値(値が入っていない)と見なしたり、別の値を代入(例:平均値や平均値+2×標準偏差などを代入)し対処する。不適切な値や異常な値の対応として、あえて欠測させる場合もある。
欠測値への対応 欠測値の場合は、別の値を代入(例:平均値や中央値などを代入)したりする。欠測値処理は色々なアプローチや手法があり、平均値や中央値などの記述統計量を活用するものや、回帰モデルなどの教師付き機械学習を利用するもの、カーネルマッチングなどのマッチング理論を用いるものもある。"どれが正しくどれが間違っている"というよりも、"実施するデータ分析やモデル構築上、悪影響を及ぼさないものを選択する"というちょっと厄介な検討が必要。
レコード(行)や変数(列)の除去 役に立たないレコード(行)や変数(列)は除去した方がよい。ここで言う除去とは、これからの実施する、より高度なデータ分析やモデル構築に利用しない、という意味。よくあるのは、欠測値だらけのレコード(行)や変数(列)、すべて同じ値の入っている変数、重複しているレコード(行)や変数(列)など。

可視化(データビジュアライゼーション)

可視化(データビジュアライゼーション) 内容
1変数の可視化 各変数の分布状況を確認するのに用いることが多い。例えば、ヒストグラム、ボックスプロット(箱ひげ図)、単純集計のグラフ表現など。各変数の記述統計量(平均値や標準偏差、最大値、最小値など)と合わせて見ることが多い。
2変数の可視化 変数同士の関係性の可視化です。例えば、散布図、相関ヒートマップ、クロス集計のグラフ表現など。例えば、売上のヒストグラムを商品カテゴリーで層別し見比べたり、売上のボックスプロット(箱ひげ図)をエリアで層別し比較したりする。
多変数の可視化 多変量解析という手法を使う。例えば、主成分析、因子分析、コレスポンデンス分析、選好回帰、コンジョイント分析、クラスター分析、重回帰分析、判別分析、決定木分析など

Discussion