記述統計●●●○○

探索的データ分析

Exploratory Data Analysis ・ たんさくてきでーたぶんせき

仮説を立てる前にデータを図と要約統計量で眺め、構造や異常を発見する分析の作法

✦ 30秒で試す — 航海平均も散らばりも同じなのに、描くとまるで違う形が出てくるA店の客の多くは、B店の客より高く買っている?予想してみる

概要

探索的データ分析(EDA)は、仮説の検証に進む前に、まずデータそのものを図と要約統計量でさまざまな角度から眺め、分布の形・変数間の関係・異常や矛盾を発見していく分析の作法です。「このデータは何を語っているのか」を先入観を最小限にして聞き出す段階であり、統計モデルを当てはめる「確認」の前に置かれる「探索」のフェーズです。

EDAは特定の手法の名前ではなく、態度と道具箱の総称です。ヒストグラムで度数分布の形を見る、箱ひげ図でグループ間のばらつきを比べる、散布図で2変数の関係を眺める、代表値と分散と標準偏差でデータの中心と広がりを要約する — 個々の道具はどれも基礎的ですが、それらを「まず眺める、疑う、確かめる」というサイクルとして回すことがEDAの本体です。

今日のデータ分析や機械学習の実務では、EDAは省略できない最初の工程とされています。データの取り違え、欠損値の偏り、単位の混在といった問題は、モデルの精度指標には「もっともらしい嘘」としてしか現れません。それらを人間の目で捕まえられる唯一のタイミングが、この探索の段階だからです。

なぜ生まれたか

20世紀半ばまでの統計学は、仮説検定を頂点とする「確認」の理論を精緻化してきました。しかしその枠組みは「検証すべき仮説がすでにある」ことを前提としており、そもそも仮説はどこから来るのか、データを眺めて問いを見つける段階には理論も名前もありませんでした。実務家はグラフを描いてデータを吟味していましたが、それは統計学の正式な仕事とはみなされず、いきなり検定やモデル当てはめに進んで、データの異常や前提のズレを見逃す失敗が繰り返されていました。

この状況に正面から異を唱えたのが、統計学者ジョン・テューキーです。1962年の論文「データ解析の未来(The Future of Data Analysis)」で、彼は数理統計学が数学的な厳密さに閉じこもっていると批判し、データ解析を経験科学として捉え直すよう訴えました。「正しい問いへのおおよその答え — それはしばしば曖昧だが — のほうが、間違った問いへの正確な答え — それはいつでも精密にできる — よりはるかによい」という有名な一節は、この論文のものです。その考えを道具として形にしたのが1977年の著書『Exploratory Data Analysis』で、彼は探索を確認と対等な統計学の一部として位置づけ、箱ひげ図や幹葉表示など、手で素早く描けてデータの形と外れ値を浮かび上がらせる道具群を体系化しました。その後、計算機と可視化ソフトの発達でグラフを描くコストが劇的に下がり、テューキーの思想は現代のデータサイエンスの標準工程として定着しました。

詳細

EDAのサイクル — 眺めて、問いを立てて、また眺める

EDAは一直線の手順ではなく、「図を描く → 気づきを得る → 新しい問いを立てる → また図を描く」という反復のサイクルです。典型的な流れを図にすると次のようになります。

データの素性を確認行数・型・単位・集め方1変数ずつ眺める分布の形・欠損・外れ値組み合わせを眺める散布図・箱ひげ図・クロス集計違和感は?問いを立てて掘り下げる層別・変換・絞り込み仮説・モデルの構築へ確かめるのは別のデータであるまた眺める十分に理解した金の矢印 = 探索のサイクル(何周も回すのがふつう)
EDAのサイクル — 違和感がある限り、問いを立てて観察に戻る。十分に理解してから確認の分析へ進む

出発点は1変数ずつの観察です。数値変数はヒストグラムで分布の形を、歪度と尖度が示すような裾の偏りまで含めて見ます。カテゴリ変数は度数を数え、想定外のカテゴリ(表記ゆれ、「不明」の混入)がないかを確かめます。あわせて欠損値の量とパターン、外れ値の有無を必ず確認します。次に変数の組み合わせに進み、数値×数値は散布図と相関、カテゴリ×数値はグループ別の箱ひげ図、カテゴリ×カテゴリはクロス集計という定番の対応で関係を眺めます。

要約統計量と図はセットで使う

平均・中央値・標準偏差・分位数といった要約統計量は、データを数個の数字に圧縮してくれる強力な道具ですが、単独では危険です。そのことを鮮やかに示したのが、統計学者フランシス・アンスコムが1973年に発表した4組のデータ(アンスコムの数値例)です。4組とも11個の点からなり、x と y の平均・分散、相関係数、回帰分析で引いた直線が小数第2位までほぼ一致します。ところが散布図を描くと、まったく別の世界が現れます。

I 直線の関係51015204812II 曲線の関係51015204812III 1点の外れ値が傾きを変える51015204812IV 1点だけが相関を作る510152048124つとも x の平均 9・分散 11、y の平均 7.50・分散 約4.12、相関係数 0.82、回帰直線 y = 3.00 + 0.50x(金の破線)
アンスコムの数値例 — 4組とも平均・分散・相関係数・回帰直線がほぼ同じなのに、描くとまったく違う(点の座標はアンスコムの原データ)

I はおおむね直線的な関係で、相関係数0.82という要約がそのまま当てはまります。II は滑らかな曲線で、直線を当てはめること自体が誤りです。III は10点が完全な直線上に並び、1点の外れ値だけが傾きを狂わせています。IV では x がほぼすべて同じ値で、ぽつんと離れた1点だけが「相関」を生み出しています。数字の要約だけを見ていれば、この4つは同じデータに見えてしまいます。だからEDAの鉄則は「要約統計量と図は必ずセットで見る」です。数字は比較と再現性のために、図は形と異常の発見のために、互いの死角を補います。ここでデータ可視化の原則が効いてきます。問いに合ったグラフを選べるほど、探索の解像度は上がります。

発見の典型例 — EDAは何を見つけるか

EDAで見つかるものは大きく3種類あります。第一にデータの不備です。単位の混在(メートルとセンチ)、コピー由来の重複行、「-999」のような欠損コードが数値として混ざっている、時系列の抜け — こうした問題は集計を静かに狂わせるため、発見が早いほど傷が浅くて済みます。第二に構造の発見です。ヒストグラムに山が2つあれば異質な集団の混在を、散布図の曲線パターンは変数変換の必要性を示唆します。グループ別に分けたときに傾向が逆転するなら、両方に影響する第3の変数、つまり交絡を疑うべき合図で、極端な場合はシンプソンのパラドックスとして現れます。第三に仮説の種です。「この2変数の関係は他の層でも成り立つのか?」という気づきが、次の検証すべき問いになります。

探索と確認は分ける — EDAの倫理

EDAには重要な規律があります。探索で見つけたパターンを、同じデータでの仮説検定で「確認」してはいけない、ということです。データを何十通りも眺めれば、偶然だけでも「面白いパターン」は必ず見つかります。それを同じデータで検定すれば、有意な結果が出やすいのは当然で、これはp値ハッキング(有意になるまで分析を繰り返すこと)と地続きの誤りです。原則は「探索したデータと検証するデータを分ける」こと。新しくデータを取り直す、あるいは最初にデータを探索用と検証用に分割しておくのが定石です。

機械学習でも同じ構図があります。テスト用に取り分けたデータまで眺めて前処理や特徴量を決めると、テストデータの情報がモデル作りに漏れ込むデータリークになり、評価が実力より楽観的に出ます。EDAは訓練用のデータで行い、交差検証でモデルを選ぶ場合も、前処理の判断を検証の外に持ち出さないことが大切です。テューキー自身、探索と確認は別の営みであり、両方が必要だと強調していました。

実務での型

実務のEDAには、おおよその型があります。(1) まずデータの素性を確認する — 行数・列数、各列の型、単位、収集方法、そして各列の尺度水準。(2) 1変数ずつの分布・欠損・外れ値の確認。(3) 目的変数と各変数の関係、変数どうしの相関の確認。(4) 気づきを記録し、データの修正方針と分析の仮説をまとめる。この間、コードと図を残しながら進めると、後から「なぜこの前処理をしたのか」を説明できます。

よくある失敗は、要約表だけを出して満足すること、全変数の相関行列を眺めて「相関の高いもの」だけを拾うこと、外れ値や欠損を理由を調べずに機械的に削除することです。どれも、データが生まれた現場への問いを省略しています。EDAは地味で時間もかかりますが、分析の失敗の多くは高度なモデルの選択ミスではなく、データを見ずに進んだことに起因します。「モデルより先に、まずデータを見る」— この一文がEDAのすべてです。

試問

✦ 命題挑戦中

探索の途中で浮かんだ8つの問いを、最初に描くべき図で仕分けよ

ヒストグラム数値1つの分布の形
散布図数値 × 数値
グループ別の箱ひげ図カテゴリ × 数値
クロス集計カテゴリ × カテゴリ

項目を選んでから、入れる箱を選びます