ひとことで言うと#
モデルや仮説検定に入る前に、グラフや要約統計量を使ってデータの全体像・パターン・異常値を把握し、「何が起きているか」「どんな仮説が立てられるか」を発見するプロセス。
押さえておきたい用語#
- EDA(Exploratory Data Analysis)
- 探索的データ分析。統計学者ジョン・テューキーが1977年に提唱した、データ駆動で仮説を発見するアプローチを指す。
- 要約統計量(Summary Statistics)
- 平均、中央値、標準偏差、四分位数など、データの分布特性を数値で表した基本的な統計指標を指す。
- 外れ値(Outlier)
- データの大多数から大きく外れた値。入力ミスの場合もあれば、重要な発見につながるシグナルの場合もある。
- 分布(Distribution)
- データがどのような値にどれだけ集まっているかを示すばらつきのパターン。ヒストグラムや箱ひげ図で可視化する。
探索的データ分析の全体像#
こんな悩みに効く#
- 新しいデータセットを渡されたが何から手をつけていいかわからない
- いきなりモデルを作り始めて精度が出ず手戻りが発生する
- データの異常値や欠損に気づかないまま分析を進めてしまう
基本の使い方#
まずデータの全体像を数値で把握する。
- 行数・列数: どれくらいのサイズのデータか
- 各列のデータ型: 数値、カテゴリ、日付、テキストなど
- 欠損率: 各列で何%のデータが欠けているか
- 要約統計量: 平均、中央値、最大値、最小値、標準偏差
グラフを使ってデータのパターンを目で捉える。
- ヒストグラム: 各変数の分布の形(正規分布か、偏っているか)
- 散布図: 2変数間の関係(相関があるか、非線形か)
- 相関行列のヒートマップ: 変数間の関係を一覧で把握
- 時系列プロット: トレンドや季節性、変化点を確認
- 異常に見える値があったらメモしておく
EDAで気づいたパターンを「〜ではないか」という仮説に変換する。
- 「購入金額の分布が右に裾が長い → 上位10%の顧客が売上の大半を占めているのでは」
- 「曜日と売上に明確なパターン → 曜日をモデルの特徴量に入れるべき」
- 仮説を検証するためのモデルや検定の方針を決めて次のステップに進む
具体例#
月間10万件の購買データを分析する前にEDAを実施したECサイト(年商15億円)。
まず要約統計量を出すと、購入金額の中央値は 3,200円 だが平均は 8,900円。分布を描くと右に大きく裾を引いており、上位5%のユーザーが売上の 38% を占めていた。さらに散布図で「購入回数×客単価」を見ると、購入回数5回以上のリピーターの客単価が初回購入者の 2.3倍 だった。
この発見から「リピーター育成が売上拡大の最大レバー」という仮説を立て、リピート率向上施策を優先。EDAなしでいきなり全体CVR改善に走っていたら、インパクトの小さい施策に時間を使うところだった。
自動車部品メーカー(従業員280名)の品質管理部門が、過去2年分の検査データ(12万件)でEDAを行った。
不良品率を時系列プロットすると、毎年8月と12月に 1.8% まで跳ね上がるパターンが見えた(通常は0.6%)。曜日別に箱ひげ図を描くと、月曜日の不良品率が他の曜日の 1.4倍。さらに相関行列で気温と不良品率に r=0.42 の正の相関があった。
「高温時に材料の膨張で寸法精度が落ちる」「月曜は週末明けで設備の再調整が不十分」という2つの仮説を導出。空調設備の強化と月曜朝の設備チェックリスト追加で、年間不良品率は 0.9% → 0.5% に改善。EDAが仮説発見の起点になった。
人口12万人の自治体が実施した住民満足度アンケート(回答3,200件)。従来は平均点で施策を評価していたが、EDAを導入した。
満足度スコアのヒストグラムを描くと、「非常に満足(5点)」と「不満(2点)」に二極化した双峰分布になっていた。平均は 3.4点 で「普通」に見えるが、実態は満足層と不満層に分かれている。
年代別にクロス集計すると、20〜30代の満足度は 2.8点、60代以上は 4.1点。子育て支援に関する自由記述をワードクラウドで可視化したところ、「保育園」「待機」「駅前」の出現頻度が高かった。
「若年層の不満は子育て支援の不足が主因」という仮説に基づき、駅前の一時預かり施設の設置を優先。翌年のアンケートで20〜30代の満足度は 3.3点 に改善した。平均値だけ見ていたら、この二極化に気づけなかった。
やりがちな失敗パターン#
- EDAを飛ばしていきなりモデルを作る — データの癖(欠損、外れ値、偏り)を知らないままモデルを組むと、精度が出ずに何度も手戻りする。30分のEDAが数日の手戻りを防ぐ
- グラフを作ることが目的になる — きれいなグラフをたくさん作っても、そこから「だからどうする」が出てこなければ時間の無駄。1つのグラフにつき1つの仮説を出す意識を持つ
- 外れ値を機械的に除外する — 外れ値=ノイズとは限らない。VIP顧客や重大インシデントなど、ビジネス上重要なシグナルの場合がある。除外する前に必ず原因を調べる
- 全変数を網羅的に見ようとする — 100列あるデータで全組み合わせの散布図を描いても収拾がつかない。ビジネス的に重要な変数から優先的に探索する
まとめ#
EDAは「データと対話する」プロセス。要約統計量と可視化で全体像を掴み、パターンや異常に気づき、仮説を生成するのが目的。モデリングや仮説検定の前にEDAを挟むだけで、分析の方向性が大きくズレるリスクを減らせる。地味だが、分析プロジェクトの成否を分ける最初の一歩になる。