科学の雑学

シンプソンのパラドックスをExcelで防ぐ方法とは?実践手順


「部分で見ればAが良いのに、全体で見るとBが良くなる」。そんな不思議な現象に首をかしげたことはありませんか。

検索キーワード「シンプソンのパラドックス 防ぐ方法」を念頭に、現場で使える実践的な対処法を、Excelの具体例つきで分かりやすくまとめます。

 

なぜ逆転が起きるのか(原因をざっくり整理)

まず本質だけ押さえます。

部分集団ごとの傾向と、合算した全体の傾向が逆転する主因は「交絡(こうらく)因子」です。

見かけの関連は、別の変数の偏りによって歪められていると考えられています。

観察データではこうした交絡が原因になりやすい点に注意が必要です。

 

 

🔍 まずは直感的に理解

たとえば、こんな状況。

例:2つの病院の治療成功率

 

▶ 男性だけで比較

  • 病院A:90%成功

  • 病院B:80%成功
    → Aの方が良い

▶ 女性だけで比較

  • 病院A:70%成功

  • 病院B:60%成功
    → やっぱりAの方が良い

ここまではAが明らかに優秀。


😱 しかし全体で見ると…

患者数の偏りがあると…

  • 病院A:75%

  • 病院B:78%

👉 全体ではBの方が良い という逆転が起きる。

これがシンプソンのパラドックスです。

🧠 なぜこんなことが起きるのか

原因はシンプルで、

「第三の要因(交絡因子)」を無視しているから

です。

典型的には:

  • グループごとの人数が極端に違う

  • 難易度が違う集団が混ざっている

  • 重み付き平均になっている

ときに発生します。

✔ 本質

全体平均は単純平均ではなく
👉 重み付き平均
だからです。

人数が多いグループの影響が強く出て、
見かけの関係がひっくり返ります。


📊 有名な実例:UCバークレー大学

1973年の大学院入試で実際に起きました。

表面上の結果

  • 男性合格率:44%

  • 女性合格率:35%
    → 女性差別では?と問題に

しかし…

学部別に見ると

多くの学部で
👉 むしろ女性の方が合格率が高かった

理由:

  • 女性は倍率の高い学部に多く出願

  • 男性は入りやすい学部に多く出願

つまり、学部の難易度という第三要因が原因でした。

男女で人気のある学部が別れているし、それぞれで倍率が違う事を無視しているから起こった事ですね。

かなり大雑把な統計を取っているから起きた事と言えます。

実務で使える防ぎ方(要点を先に)

以下は現場でよく使われる手法です。使う場面に応じて組み合わせると効果的です。

1) 層別(セグメント)に分けて見る

集計前に年齢や性別、重症度など、意味のある軸でデータを分解します。

層ごとの傾向を確認すれば、全体集計での「ウソ」を発見しやすくなります。単純集計を最初に鵜呑みにしないクセを付けると良いでしょう。

 

 

2) 回帰分析などで調整する

重回帰やロジスティック回帰などを使い、関係を評価するときに交絡因子をモデルに入れます。

そうすることで、他の要因を一定にした条件下での効果を推定できます。観察研究では標準的なアプローチです。

 

 

3) ランダム化(可能なら)を使う

介入の効果を確かめる場合は、ランダム割付(RCT)が交絡を最も確実に抑えます。

実務でランダム化が難しくても、設計段階での工夫(層化ランダム化など)が有効です。

 

 

4) 傾向スコアなどの手法で均衡をとる

傾向スコア(propensity score)を使えば、複数の測定された交絡因子をひとまとめにして調整できます。

層化・マッチング・重み付けのいずれかを用いることで比較を公平にできます。

 

 

5) データ収集と設計を見直す(前工程が大事)

どの集団を対象に意思決定するのかを先に決めます。収集段階で重要な変数を計測しておけば、後から調整が可能になります。

観察研究では測定されない交絡に悩まされるため、設計段階の配慮が効きます。

 

 

Excelで再現して防ぐ(実務で使える手順)

ここからは手を動かせる具体例です。

サンプルデータ(そのままExcelに貼れる)

まず次の表をA1:D5に貼ってください。

グループ治療成功試行
軽症A90100
軽症B1920
重症A1020
重症B80100

(セルA1には「グループ」…と入れる)

ステップ1:成功率を計算する

E2に次の式を入れて下までコピーします。
=C2/D2
これで各行の成功率が出ます。軽症・重症それぞれで見ると、治療Bが高く見えるはずです。

 

 

ステップ2:治療ごとの合計を求める

別エリアに集計表を作ります。たとえばG1:I3に以下を手入力。

 

 

治療成功合計試行合計
A=SUMIFS(C:C,B:B,"A")=SUMIFS(D:D,B:B,"A")
B=SUMIFS(C:C,B:B,"B")=SUMIFS(D:D,B:B,"B")

実際に計算させて見ると

治療成功合計試行合計成功率
A100120?
B99120?

成功率:

=成功合計/試行合計

計算結果

  • A:100/120 = 83.3%

  • B:99/120 = 82.5%

 

成功率は =成功合計/試行合計 で算出します。合計で見ると、全体の優劣が逆転することが確認できます。ここがシンプソンのパラドックスです。

 

 

ステップ3:ピボットテーブルで層別表示

  1. 元データを選択 → 挿入 → ピボットテーブル。
  2. 行に「治療」、列に「グループ」、値に「成功」と「試行」を追加。
  3. 値フィールド設定で「成功/試行」を計算するか、成功率列を使って「平均」表示にします。

ピボットだと「層ごとの割合」と「全体」を並べて比較できます。視覚的に差が分かるため、誤った全体結論を回避できます。

Excelでの層別検査は、実務で最も手軽にできる初動策です。

 

 

ステップ4:簡単な回帰調整(Excelの近似手法)

Excelの「データ分析」→「回帰」を使えば、説明変数に「治療」と「グループ(ダミー)」を入れて効果を調整できます。

Excelは専用統計ソフトほど便利ではない点に注意が必要ですが、交絡因子を入れて比較する感覚は掴めます。

より本格的な解析はRやPythonを推奨します。

 

意外性とよくある誤解

「集計したら自動的に正しい」と思いがちです。

だが、観察データは収集方法や母集団の偏りで簡単に騙されます。

 

シンプソンのパラドックスは数学的に成立する現象で、データが正しくても逆転は起き得ます。

したがって、単に数値を並べるだけでは不十分だと考えられています。

 

 

数字は便利だが、扱い方で性格が変わる。表を一手間分解すれば、見落としは防げます。

ではでは(^ω^)ノシ

この記事もおすすめ

「イケメンは性格が悪い」は本当? バークソンのパラドックスでわかる“見かけの相関”の正体

 

バリスタのパラドックス:2つの全く異なる顔

 

グルーのパラドックスと帰納法 — やさしい解説

 

 

 

管理人の著書

 

ブログ検索

-科学の雑学
-,