ユニット 4 / 11

探索的データ分析 (EDA): 分布、関係性、および初期洞察

利益:

  • 適切なグラフ (ヒストグラム、箱ひげ図、散布図) を使用して、変数の分布、中心、広がり、および異常を調査する機能。
  • 相関関係を因果関係と混同することなく、正しく解釈し、散布図と合わせて読み取る能力
  • 要約統計は誤解を招く可能性があることを理解し (アンスコムのレッスン)、モデリングの方向性を決定する仮説を立てる能力。

モデルを構築する前に、データを知る必要があります。医師が患者を診察せずに薬を処方しないのと同じように、データ サイエンティストはデータを「検査」せずにモデルを構築しません。この検査は探索的データ分析 (略して EDA) と呼ばれます。これは、データの分布、関係性、意外性や罠を視覚的およびグラフィカルに発見するフェーズです。 EDA の目的は、仮説を生成し、エラーを検出し、モデリングの方向性を決定することです。人工知能は、この段階では非常に強力なアシスタントです。どのチャートが適切かを提案し、そのコードを記述し、分布を解釈します。しかし、人は自分の現場の知識に基づいて、自分が見たパターンが本物なのか偶然なのかを判断します。

EDA は何を探していますか?

EDA は 4 つの質問に対する回答を求めています。分布: 各変数はどのように分布していますか?それは対称的でしょうか、歪んでいますか、または 2 つのピークを持っていますか?中心の傾向と広がり: 平均、中央値、標準偏差は何ですか?関係: 変数は相互にどのように関連していますか?異常: 予期しない値、ギャップ、グループ化はありますか?これら 4 つの質問により、どの機能が機能するか、どのモデルが適切かが決まります。

いくつかの基本概念を定義しましょう。ヒストグラムは、数値変数の値を間隔に分割し、各間隔に含まれる観測値の数を示すグラフです。ディストリビューションを確認するのに最も早い方法です。歪度は、分布の一方向へのシフトです。収入などの変数は右に偏っています(大部分が低く、非常に高い変数はほとんどありません)。箱ひげ図には、中央値、四分位数、外れ値が一目でわかります。散布図は、2 つの数値変数と点群の関係を示します。

相関関係:関係はありますが注意してください

相関 — 2 つの変数がどのように連動するかを示す尺度。 -1 から +1 までの数値 — これは EDA で最も使用され、最も誤解されているツールです。 +1 は完全な共増加を意味し、-1 は完全な逆関係を意味し、0 は線形関係がないことを意味します。大きな罠が2つあります。まず、有名なルール: 相関関係は因果関係ではない。アイスクリームの販売に伴い窒息事故が増加。一方が他方につながるからではなく、夏(隠れた 3 番目の変数)が両方を引き起こすからです。第二に、相関関係は線形関係のみを測定します。これは、0 に近い、強いけれども曲線的な関係を示している可能性があります。そのため、相関関係を確認するときは、必ず散布図も確認してください。

注意: AI が相関数を与えるとき、「A は B を増加させる」などの因果関係のある言語に陥る可能性があります。これは危険です。相関関係は、一緒に動くことを示すだけです。経験、ドメイン知識、および慎重な推論のみが理由を確立します。

アンスコム・カルテット: 数字だけを見てみませんか

統計学にはアンスコムカルテットという有名な例があります。 4 つの異なるデータセットは、ほぼ同じ平均、同じ分散、同じ相関 (0.82) を持ちます。しかし、グラフにすると、それらはまったく異なって見えます。1 つは直線、1 つは曲線、1 つは単一の異常値によって引かれた雲です。教訓は明らかです。要約統計は誤解を招くものであり、グラフを見ることは必須です。 AI は平均や相関関係を示してくれますが、グラフを見ずにそれらの数値を信頼することは、アンコムの罠に陥ることになります。

以下の表は、どのグラフがどの質問に適合するかをまとめたものです。

質問

適切なグラフィック

何を示すか

単一変数の分布

ヒストグラム / KDE

形状、歪度、頂点数

中心値と外れ値

箱ひげ図

中央値、四分位、外れ値

2 つの数字の関係

散布図

方向、強度、曲率

カテゴリ比較

棒グラフ

グループ間の違い

時間の経過とともに変化する

折れ線グラフ

トレンド、季節性

多変量関係

相関ヒートマップ

一般的な関係マトリックス

シンプソンのパラドックス: 集計されたデータは嘘をつく可能性がある

注意すべき EDA の卑劣な罠はシンプソンのパラドックスです。すべてのデータを一緒に検査するとパターンは一方向を示す可能性がありますが、データが意味のあるサブグループに分割されると逆になります。典型的な例: 大学における女性志願者の全体的な合格率は男性よりも低いようです。しかし学部ごとに見ると、ほとんどの学部で女性の合格率が男性よりも高い。どこから?女性はより競争の激しい(合格率が低い)学部に応募しました。結合された数値には、この隠し変数が格納されます。教訓は明らかです。合計または平均を見るときは、意味のあるサブグループ (セグメント、期間、チャネル) に分割したときに、その数値が同じ内容を物語っているかどうかを必ず確認してください。 AI が総合レートを提示する場合、「セグメント化してもまだ有効か」と尋ねることで、誤解を招く結果のほとんどを早い段階で発見できます。

ミニケース3個

ケース 1 — 2 つの隠れた丘。あるアナリストは、顧客の平均年齢が41歳であることを発見し、それを「中年の群衆」であると報告しました。しかし、ヒストグラムには 22 ~ 28 歳と 55 ~ 62 歳の年齢グループという 2 つのピークが示されました。平均 41 人は、実際には誰を代表しているわけでもありません。教訓: 平均を信頼する前に分布をプロットしてください。

ケース 2 — スプリアス相関。あるチームは、「広告費」と「売上」の間に 0.78 の相関関係があることを発見し、予算を 2 倍にしました。ただし、どちらもきっかけとなったのは季節限定のキャンペーンでした。キャンペーン期間外では、関係は 0.10 に低下しました。 34万TLの追加広告では期待した収益が得られませんでした。教訓: 相関関係を因果関係と取り違えると高くつく。

ケース 3 — 孤独な逆張り者が引いた線。不動産分析では、平方フィートと価格の間に強い関係があることが示されました (r=0.80)。散布図が描かれたとき、ほぼ全体の関係は、1 つの 1,200 万 TL の高級ヴィラによって作成されました。この点を取り除くと、相関関係は 0.31 に低下しました。教訓: 常に散布図とともに相関関係を読みましょう。

コピー可能な 4 つのテンプレート

1) 自動 EDA サマリー:

パンダDFを飼っています。 (1) df.info() と df.describe()、(2) 各数値列のヒストグラム、(3) 各カテゴリ列のカウントを生成するコードを作成します。コメントはせずに、検出コードを生成するだけにしてください。パターンを解釈してみます。

2) 相関関係 + 視覚的 (因果関係に注意):

数値列の相関行列とヒート マップを描画するコードを作成します。また、相関性が最も高い 3 つのペアの散布図も描画します。相関関係は因果関係を意味するものではないことを通知するコメント行を出力に追加します。因果関係のある主張をしないでください。

3) 分布診断:

「income_tl」列の場合: ヒストグラム、箱ひげ図、歪度値、中央値と平均値の比較を生成するコードを作成します。分布が偏っているかどうかを解釈します。コードを与えるだけです。

4) セグメントの比較:

「チャネル」(Web/モバイル) ごとに顧客を比較します。各チャネルの平均金額、中央値、注文数、および金額分布の箱ひげ図を生成するコードを作成します。 2 つのチャネル間の差異の統計的有意性を考慮して、どの検定が適切かを提案してください。ただし、決定は私次第です。

弱いプロンプト / 強いプロンプト

弱いプロンプト:

このデータから興味深いものを見つけてください。

「興味深い」とは定義されていません。 AIはデータを見ていないので、データをでっち上げるか、一般的な発言をします。方向性も変数も目的もありません。

強力なプロンプト:

あなたの役割: EDA アシスタント。 df 列: age (int)、income_tl (float)、city (category)、channel (web/mobile)、amount (float)。目的:「量」に影響を与える要因を発見すること。タスク: (1) 金額の分布をプロットするコード、(2) 金額、年齢、収入_tl の間の分布グラフ、(3) チャネルの内訳における金額のボックス プロット。因果関係の主張を確立する。ディスカバリーコードを生成するだけで、私がパターンを解釈します。

ここでは、「因果関係の主張」の目的、変数、限界が明確です。

よくある間違い

  • 要約統計のみに依存します。 Anscombe カルテットが示すように、同じ平均値には非常に異なる分布が隠されています。チャートを参照してください。
  • 相関関係を因果関係と勘違いする。共同作用は、一方が他方につながることを示すものではありません。隠れた変数に注意してください。
  • 散布図を使わずに相関関係を調べます。単一の外れ値や曲線性によって数値が誤解されます。
  • 2 つのピークを持つ/歪んだ分布を平均値で要約します。平均値は誰をも代表していない可能性があります。
  • EDA をスキップしてモデルに直接進みます。認識されないデータはブラインドモデルを意味します。
ヒント: 新しいデータセットを作成するたびに、最初の 30 分間は、各数値のヒストグラム、有意なペアの散布図、カテゴリの棒グラフなどのグラフの描画だけに費やします。この 30 分により、今後数日間のモデリング エラーが防止されます。

要約すると

EDA はモデルを構築する前にデータを理解するフェーズであり、分布、中心拡散、関係、異常という 4 つの質問に対する答えを探します。要約統計は誤解を招く可能性があります。グラフを見ることは必須です(アンスコムの講義)。相関関係は強力なツールですが、因果関係は強力なツールではないため、必ず散布図と組み合わせて読み取る必要があります。 AI は、グラフィックを提案したりコードを記述したりするための優れたアクセラレータです。しかし、人々は、自分が見たパターンが本物なのか、それとも偶然なのかを、現場の知識に基づいて解釈します。

アプリケーションタスク

データセットを選択して、EDA を実行するだけです。少なくとも 3 つの数値変数のヒストグラム、2 組の変数の散布図、および相関ヒート マップを抽出します。少なくとも 1 つの「驚き」 (2 つのピークを持つ分布、偽の相関の候補、単一の外れ値によって引き付けられる関係など) を見つけて、それを 1 つの文で説明します。因果関係を主張せずに書きます。

チェックリスト

  • [ ] 各数値変数の分布をグラフ化しましたか?
  • [ ] 散布図との相関関係を見ましたか?
  • [ ] 因果関係と相関関係を分けて考えていませんか?
  • [ ] 私は分布の偏りや 2 つのピークに気づき、平均値を盲目的に信頼していませんでしたか?
  • [ ] EDA の調査結果から少なくとも 1 つのモデリングの側面/仮説を導き出しましたか?