第10回 因果推論入門:RCTと観察研究¶
12/8(火)Ⅲ講 13:00〜14:40・B402教室
「効いた」のか、「もともとそういう人が選んだ」だけなのか
今日のリンク
- 📊 スライドを開く
- 📓 Colabノートを開く(10_causal.ipynb)
- 📝 課題を提出する(Moodle・第10回)
- 課題の本文はこのページの末尾にあります
考え方をガイドで確かめる
この回の考え方は、統計の考え方ガイドの「相関と因果」でも解説しています。霊長類のデータを動かしながら確かめられます。
この回のゴール¶
- 因果が 反事実(同じ人の「した世界 vs しない世界」)の比較であることを理解する
- 交絡 が観察データで見せかけの効果を作ることを見抜く
- RCT(ランダム化比較試験) がなぜ因果を示せるか=ランダム化が処置を交絡から 独立 にするから、を説明できる
- 観察研究の限界(交絡・選択バイアス)を理解する
- 発展:平均因果効果 \(E[Y(1)]-E[Y(0)]\) を定義し、ランダム化がそれを \(E[Y\mid T=1]-E[Y\mid T=0]\) と一致させることを、自分で導ける
到達目標との対応:G3(因果推論の基礎を理解し、観察データからの安易な因果主張を見抜ける) の出発点。
1. 直感クイズ ―― サプリは効いたのか?¶
あるサプリの利用者を調べたら、飲んでいる人のほうが健康だった。これは「サプリが健康にする」という因果の証拠か?
なりそうに見える。だが ―― サプリを自分から飲む人は、そもそも 健康志向が高い(運動する・食事に気をつける)人が多いのでは? だとすれば、健康なのはサプリのおかげではなく、もともとそういう人が飲んでいるだけ かもしれない。
この「健康志向」のように、原因の候補と結果の両方に影響する隠れた要因を 交絡(confounder) と呼ぶ。
2. 因果とは「反事実」の比較¶
「サプリが効いた」とは本当はこういう意味だ:
同じ人が、サプリを飲んだ世界と、飲まなかった世界を比べて、健康に差がある。
だが現実には、1人について「飲んだ場合」と「飲まなかった場合」の両方は観測できない(反事実)。だから「飲んだ人の集団」と「飲まなかった人の集団」を比べる。このとき2つの集団が 健康志向などでそろっていない と、比較は因果ではなく交絡を映す。
導出①:因果効果を式で書く ―― 観測できない量を定義する
1人の個体 \(i\) について、2つの世界を考える。
- \(Y_i(1)\):処置を受けた世界(サプリを飲んだ)での結果
- \(Y_i(0)\):受けなかった世界での結果
個体 \(i\) の因果効果は、この2つの差である。
集団全体で平均したものを平均因果効果という。
ところが、実際に観測できるのは片方だけだ。処置の有無を \(T_i\)(飲んだら 1、飲まなければ 0)と書くと、観測される結果は
\(T_i=1\) の人からは \(Y_i(1)\) しか見えず、\(Y_i(0)\) は永久に分からない。\(T_i=0\) ならその逆。つまり \(\tau_i\) は、どの個体についても計算できない。これを因果推論の根本問題という。
上の「同じ人の、した世界と、しない世界を比べる」という言葉が、そのまま \(Y_i(1) - Y_i(0)\) という式になっている。そして式に書いた瞬間に、それが観測できないことも見えてしまう。だから因果推論は、観測できない量を、観測できる量からどう言い当てるかという問題になる。
使った数学:記号の定義と場合分けのみ。確率も微分も使っていない。
3. シミュレーション:交絡が「効果」を捏造する¶
架空の世界 ―― サプリの本当の効果はゼロ。健康を決めるのは「健康志向」だけ。健康志向が高い人ほど自分からサプリを飲む。この世界で「飲んだ人 vs 飲まない人」を比べると:
| 値 | |
|---|---|
| サプリの本当の効果 | 0 |
| 観察データの「飲んだ人 − 飲まない人」の健康差 | +9.4 |
効果ゼロのはずなのに、飲んだ人のほうがずっと健康に見える。 差の正体は、飲む人と飲まない人で 健康志向が偏っていること(飲んだ群 +0.58 / 飲まない群 −0.61)。
観察研究では「飲むかどうか」を本人が決めるので、処置(飲む)と交絡(健康志向)が独立でない。第6回からの言葉そのものだ。
4. RCT ―― ランダム化が交絡を断ち切る¶
本当の効果を知るには、くじ引きで誰がサプリを飲むかを決める。これが RCT。本人の健康志向と無関係に割り当てるので、2群の健康志向が平均的にそろう。
| 飲んだ群の健康志向 | 飲まない群 | 推定された効果 | |
|---|---|---|---|
| 観察研究(本人が選ぶ) | +0.58 | −0.61 | +9.4(捏造) |
| RCT(くじで割当) | ≈0.00 | ≈−0.06 | +0.5(≈真の効果0) |
ランダム化の威力は 「処置」を「交絡」から独立にすること。くじ引きは健康志向を見ないので、群間の差は純粋にサプリの効果だけを映す。これがRCTが「因果推論の金字塔」と呼ばれる理由だ。
今期の糸がここでも
第6〜7回は「独立が崩れると推測が壊れる」だった。因果推論はその逆を積極的に使う ―― ランダム化で“処置と交絡の独立”を人工的に作り出すことで因果を取り出す。独立は、壊れると困るだけでなく、自分で作り出せれば強力な武器になる。
導出②:ランダム化はなぜ効くのか ―― 独立性を「作る」
観測できるのは、次の2つの平均だけである。
導出①の定義より、\(T=1\) の人では \(Y = Y(1)\)、\(T=0\) の人では \(Y = Y(0)\) なので、
ここまでは、ただの書き換えである。ほしいのは \(E[Y(1)] - E[Y(0)]\) なのに、右辺には条件 \(\mid T=1\)、\(\mid T=0\) がついたままだ。「飲んだ人の中での \(Y(1)\) の平均」は、「全員の \(Y(1)\) の平均」とは限らない。
ここでくじ引きの出番になる。\(T\) をくじで決めると、\(T\) は潜在結果 \((Y(0), Y(1))\) と 独立になる。独立なら条件をつけても平均は変わらないので、
独立を使ったのは、この1行だけである。 ここだけが、くじで決めたという事実を必要としている。これを代入すると、
左辺は観測できる。右辺は観測できないはずの平均因果効果である。RCTが因果を示せるのは、この1行のためだ。
数値で確かめる:この回のシミュレーション(真の効果は 0)では、RCTの群間差は +0.52。くじで割り当てた2群の健康志向は −0.00 と −0.06 でそろっている。
独立は「確かめる」ものではなく「作る」もの
上の代入が許されるのは、\(T\) をくじで決めたと分かっているからである。手元のデータを眺めて「2群が似ているから独立だろう」と判断することはできない。似て見えても、測っていない交絡までそろっている保証はどこにもないからだ。
独立性は、データを取る前の設計(ランダム化)によって作られる。式の条件を満たしているかどうかは、データの中身ではなく、どうやってそのデータを取ったかで決まる。ここを取り違えると、「表を見比べたら似ていたので因果と言える」という誤りに落ちる。
使った数学:条件付き期待値の定義と、独立なら条件付き期待値が元の期待値に等しいこと(第2回)。
導出③:ランダム化しないと何が残るか ―― バイアスの正体
くじを使わない場合、導出②の独立性は成り立たない。それでも書き換えだけは進められる。\(E[Y(0) \mid T=1]\)(飲んだ人が、もし飲まなかったらどうだったか)を足して引くと、
第1項は「飲んだ人における因果効果」。第2項が 選択バイアスである。第2項をよく見ると、どちらも \(Y(0)\) ―― つまり誰も飲まなかった世界での結果だ。処置と関係なく、飲む人と飲まない人がもともとどれだけ違っていたかを表している。
\(T\) が潜在結果と独立なら第2項は 0 になり、導出②に戻る。独立でなければ、観測される差は因果効果に選択バイアスが上乗せされたものになる。
数値で確かめる:第3節の世界では、健康は \(50 + 8 \times (健康志向) + 誤差\) で決まり、サプリの効果は 0 だった。飲んだ群と飲まない群の健康志向の差は \(0.58 - (-0.61) = 1.19\) なので、選択バイアスは \(8 \times 1.19 = +9.5\)。観察データの差 +9.4 とほぼ一致する(残りのずれは誤差項のばらつき)。
効果が 0 なのに差が出たのではない。差の全部がバイアスだったのである。第3節のシミュレーションは、この式の第2項を数値で見せたものだ。
使った数学:期待値の線形性(同じ量を足して引く)。第2回の条件付き期待値。
5. 観察研究はダメなのか ―― いや、注意して使う¶
現実にはRCTができない場面も多い(「20年間タバコを吸う/吸わない」をくじで割り当てるのは不可能・非倫理的)。その場合は観察研究に頼るが、交絡を疑い、できる限り調整する必要がある(→第11回)。
もう一つの罠が 選択バイアス(対象の集め方が偏ると何を比べても歪む)。RCTの 盲検・プラセボ(偽薬)は、「飲んでいる」という意識自体の影響を消す工夫だ。
因果を見抜く問い
「Xをした人はYだった」と聞いたら問う ―― 「Xをした人としなかった人は、他の点でそろっている?」「くじで決めた? それとも本人が選んだ?」。本人が選んだなら、その差は交絡かもしれない。
今日のまとめ¶
| ポイント | 中身 |
|---|---|
| 因果 | 反事実(同じ人の“した世界 vs しない世界”)の比較。本来は観測できない |
| 交絡 | 原因候補と結果の両方に影響する隠れ要因。観察研究で効果を捏造する |
| RCT | くじ引きで処置を割当→処置と交絡が独立に→真の効果が出る |
| 観察研究 | RCTが無理なときに使うが、交絡・選択バイアスを疑い調整が必要 |
今日の課題(Moodle提出)¶
配点:100点(選択40点 + 記述60点)/ 提出先:Moodle / 提出期限:次回授業の開始時刻まで
第10回のColabノート 10_causal.ipynb を上から実行し、結果を見たうえで答えること。
パートA:選択問題(各10点 ×4=40点)¶
A1. 「サプリを飲んでいる人は健康だった」という観察結果から「サプリが健康にする」と結論できないのはなぜか?
- (ア) サンプルサイズが小さすぎるから
- (イ) サプリを自分から飲む人は健康志向が高いなど、交絡の可能性があるから
- (ウ) 健康は数値化できないから
A2. 「交絡(confounder)」の説明として正しいのは?
- (ア) 原因の候補と結果の両方に影響する、隠れた第三の要因
- (イ) 標本を取り直すたびに変わる偶然のばらつき
- (ウ) 検定を繰り返すことで増える偽陽性
A3. RCT(ランダム化比較試験)が因果を示せる理由として最も適切なのは?
- (ア) サンプルサイズを必ず大きくするから
- (イ) くじ引きで処置を割り当てるので、処置が交絡(健康志向など)と独立になり、2群がそろうから
- (ウ) p値が必ず小さくなるから
A4. Colabのシミュレーションで、サプリの本当の効果は0だった。観察研究とRCTの推定結果はどうなったか?
- (ア) 観察もRCTも、ほぼ0だった
- (イ) 観察では大きな正の効果(+9程度)に見えたが、RCTではほぼ0だった
- (ウ) 観察ではほぼ0、RCTでは大きな効果に見えた
パートB:記述問題(AIフィードバック対象・60点)¶
B1.(30点) Colabのシミュレーションで、サプリの効果は本当はゼロなのに、観察データでは「飲んだ人のほうが健康」に見えた。なぜそうなったのかを、「交絡」「健康志向」「(処置と交絡の)独立」という言葉を使って150〜250字程度で説明しなさい。また、RCTではなぜ正しい結果(≈0)が得られたのかも述べること。
B2.(30点) 次の主張から1つ選び、それが因果と言えるか/言えないかを判断し、理由を書きなさい。さらに、因果を確かめるにはどんな調べ方(RCT or 工夫した観察)が必要かを述べなさい。
- (a)「朝食を食べる子どもは成績が良い。だから朝食を食べさせれば成績が上がる」
- (b)「ある塾に通った生徒は合格率が高い。だからその塾は効果がある」
- (c)「よく運動する高齢者は健康だ。だから運動は健康に良い」
ヒント:選んだ主張で「処置をした人としなかった人が、他の点でそろっているか?」「本人が選んだのか、くじか?」を考える。倫理的・現実的にRCTが難しい場合はそれも指摘してよい。
文字数の目安:B1・B2あわせて 300〜500字。コピペ・引き写しは評価しない。自分の言葉で書くこと。
字数は目安です。多少の過不足で減点はしません。見るのは、設問が挙げた要素(上の箇条書き)が書けているかどうかです。ただし要素が抜けていれば、その分は引きます。
次回予告
第11回「交絡と疑似相関」。今日の交絡をさらに深掘り。「アイスと水難事故」「チョコとノーベル賞」――統制(調整)で見かけの相関を見破る。そして全体と層別で結論が逆転する シンプソンのパラドックス。