統計学 学習ノート

統計検定の4級から1級まで、出題範囲の順に記事と練習問題で学ぶ

準1級-39 応用統計の手法

統計的因果推論

  • グラフィカルモデル
  • 構造方程式モデル
  • 直接効果
  • 間接効果
  • 因果ダイアグラム
  • 非巡回的有向グラフ(DAG)
  • 有向分離
  • 因果効果
  • バックドア基準
  • フロントドア基準

はじめに

「相関は因果ではない、は分かった。じゃあ、どうすれば因果が言えるの?」

3級でも2級でも、アイスの売上と水の事故の話をしました。2つに関連があっても、原因と結果とは限りません。ここまでの記事は、「言えないこと」を教えてくれました。でも、実際に知りたいのは「言えること」のほうですよね。

例えば、薬を飲んだ人の回復率が、飲まなかった人より低かったとします。この薬は、やめたほうがよいのでしょうか? 重症の人ほど薬を飲んでいたのなら、答えは逆かもしれません。2級で学んだように、くじで割り当てる実験ができれば話は簡単です。しかし、くじを引けない場面のほうが、世の中には多いのです。

実は、実験ができないときでも、「変数の間の因果の地図」があれば、観察データから因果の大きさを計算できることがあります。しかも、どの変数を調整すべきかは、地図を見るだけで機械的に判定できます。

そこで登場するのが、今回の主役 統計的因果推論 です。前回の記事では、乱数を使った計算手法を学びました。今回の記事は、準1級の締めくくりです。因果効果の定義、因果ダイアグラムと有向分離、バックドア基準とフロントドア基準、そして直接効果と間接効果について解説します。

因果効果:もしも別の世界だったら

はじめに、「因果の大きさ」を定義することから解説します。

ある人が補習を受けてテストが80点だったとします。補習の効果は、「補習を受けなかった場合のその人の点数」と比べないと分かりません。そこで、処置 XX の値ごとに、その人が取ったはずの結果を考えます。X=1X = 1 のときの結果を Y(1)Y(1)、X=0X = 0 のときの結果を Y(0)Y(0) と書き、これらを 潜在的結果 と呼びます。

個人の効果は Y(1)−Y(0)Y(1) - Y(0) で、これを集団で平均したものが 平均因果効果(ATE)です。

ATE=E[Y(1)]−E[Y(0)]\text{ATE} = E[Y(1)] - E[Y(0)]

ただし、問題があります。同じ人が、補習を受けた世界と受けなかった世界を同時に生きることはできません。片方は必ず観測できないのです。人生の分かれ道で選ばなかったほうの道は、のぞけません。これを 因果推論の根本問題 と呼びます。

具体的に見てみましょう。6人の潜在的結果が次のようだったとします。神様の視点の表です。

生徒Y(1)Y(1)Y(0)Y(0)実際の選択
A8070受けない
B7565受けない
C7060受けない
D6050受ける
E5545受ける
F5040受ける

全員の効果は+10点なので、ATEは10点です。ところが、私たちに見えるのは実際の選択の側だけです。受けた3人の平均は55点、受けなかった3人の平均は65点で、差は−10点です。補習が逆効果に見えます。成績の低い人が補習を選ぶので、比べる相手が違っていたのです。

ここで記号を1つ導入します。P(Y∣X=x)P(Y \mid X = x) は、X=xX = x だった人たちを 観察 したときの分布です。これに対して、全員を強制的に X=xX = x にしたときの分布を P(Y∣do(X=x))P(Y \mid do(X = x)) と書きます。dodo は「介入する」という意味です。

因果効果=E[Y∣do(X=1)]−E[Y∣do(X=0)]\text{因果効果} = E[Y \mid do(X = 1)] - E[Y \mid do(X = 0)]

因果効果(causal effect)とは、XX への介入で YY の分布がどう変わるかを表す量です。この式は、ATEと同じものを表しています。要するに、「見る」と「する」は違うのです。雨の日に傘を持つ人が多いことを見ても、全員に傘を持たせて雨が降るわけではありません。

無作為化実験では、XX がくじで決まるので、観察と介入が一致します。問題は、くじがない観察データで、dodo のついた量をどう計算するかです。

以上が、因果効果についての解説です。

因果ダイアグラムと有向分離:地図を描いて読む

次に、因果の地図の描き方と読み方を説明します。

因果ダイアグラム(causal diagram)は、変数を点で、直接の原因から結果への関係を矢印で表した図です。矢印をたどって元の点に戻ることがないグラフを、非巡回的有向グラフ(DAG、Directed Acyclic Graph)と呼びます。因果ダイアグラムは、このDAGで描きます。「原因が結果より先」なので、ぐるっと回って自分に戻る矢印はありません。

DAGの裏には、式があります。各変数を、親(矢印の元の変数)と誤差で決める式の集まりを、構造方程式モデル と呼びます。因子分析の記事で見たパス図は、これを線形の場合に描いたものでした。

Z=UZ,X=fX(Z,UX),Y=fY(X,Z,UY)Z = U_Z, \qquad X = f_X(Z, U_X), \qquad Y = f_Y(X, Z, U_Y)

ここでの等号は、「右辺が原因となって左辺が決まる」という一方通行の代入です。介入 do(X=x)do(X = x) は、XX の式を X=xX = x に置き換えることです。DAGでは、XX に入る矢印をすべて切ることにあたります。

また、DAGが表す同時分布は、親を与えた条件つき分布の積に分解できます。

P(z,x,y)=P(z) P(x∣z) P(y∣x,z)P(z, x, y) = P(z)\, P(x \mid z)\, P(y \mid x, z)

このように、グラフと確率分布を結びつけたモデルを グラフィカルモデル と呼びます。分割表の記事で見たのは線に向きがないものでした。ここでは向きのある矢印を使い、因果の向きまで表します。

さて、道路の地図のように、矢印の道を情報が流れると考えましょう。どんなDAGも、3つの部品からできています。

【DAGの3つの部品】

  1. 鎖(X→M→YX \to M \to Y): XX と YY は関連する。MM を固定すると道がふさがる
  2. 分岐(X←Z→YX \leftarrow Z \to Y): XX と YY は関連する。ZZ を固定すると道がふさがる
  3. 合流点(X→C←YX \to C \leftarrow Y): XX と YY は関連しない。CC を固定すると道が開く

1と2は、これまで学んだとおりです。アイスと水の事故は、気温を親とする分岐ですね。ここがポイントです。3の合流点だけ、動きが逆になります。

例えば、ある学校の入試で、才能か努力のどちらかがあれば合格するとします。才能と努力はそれぞれ確率 1/2 で、互いに独立です。全員の中では、才能と努力に関連はありません。ところが、合格者だけを見ます。合格者は3通りで同じ確率なので、才能がある割合は 2/3 です。努力がある合格者の中で才能があるのは 1/2 ですが、努力がない合格者は全員、才能があります。合格者の中では、努力と才能に負の関連が生まれました。これを 合流点バイアス と呼びます。

ふさがり方を一般の道に広げたものが、有向分離(d分離、d-separation)です。

【有向分離の判定】 点の集合 SS を固定したとき、XX と YY を結ぶ道(矢印の向きは問わない)は、次のどちらかなら「ふさがれている」

  • 道の上に、SS に含まれる鎖や分岐の中間点がある
  • 道の上に合流点があり、その点もその子孫も SS に含まれていない

XX と YY を結ぶすべての道がふさがれているとき、SS は XX と YY を有向分離すると言います。このとき、SS を与えて XX と YY は条件つき独立です。

具体的に見てみましょう。A→B→C←D→EA \to B \to C \leftarrow D \to E というDAGで、AA と EE の間の道は1本です。

【判定の例】

  • 何も固定しない: 合流点 CC でふさがっている。AA と EE は独立
  • CC を固定: CC の道が開く。AA と EE は関連する
  • CC と DD を固定: 開いた道が分岐 DD でふさがる。AA と EE は条件つき独立

試験のポイント:鎖と分岐は「固定するとふさがる」、合流点は「固定すると開く」です。合流点の子孫を固定しても開く点を忘れないようにします。

以上が、因果ダイアグラムと有向分離についての説明です。

バックドア基準:裏口をふさいで調整する

続いて、どの変数を調整すればよいかを判定する基準を解説します。

XX から YY への矢印の道が、知りたい因果の道です。一方で、X←Z→YX \leftarrow Z \to Y のように、XX に矢印が入ってくる側から出発する道もあります。これを バックドアパス(裏口の道)と呼びます。この道を通る関連が、交絡の正体です。表玄関だけを通る関連を測りたいなら、裏口をふさげばよいのです。

バックドア基準(back-door criterion)は、変数の集合 ZZ が次の2条件を満たすことです。

【バックドア基準】

  1. ZZ のどの変数も、XX の子孫ではない
  2. ZZ が、XX と YY を結ぶすべてのバックドアパスをふさぐ

この条件が満たされると、因果効果は観測できる量で書けます。

P(y∣do(x))=∑zP(y∣x,z) P(z)P(y \mid do(x)) = \sum_{z} P(y \mid x, z)\, P(z)

これを バックドア調整 と呼びます。言葉で言うと、層 zz ごとに YY の分布を求め、zz の全体の割合で重みをつけて足します。ここで重みが P(z∣x)P(z \mid x) ではなく P(z)P(z) である点に注意してください。全員に介入した世界では、ZZ の分布は全体のままだからです。

例題:バックドア調整で薬の効果を求める

薬 XX、重症度 ZZ、回復 YY を200人で調べました。重症度は薬の選択にも回復にも影響します。

重症度薬人数回復した人数回復率
軽症あり20180.9
軽症なし80640.8
重症あり80320.4
重症なし2060.3

調整なしの差と、バックドア調整した因果効果を求めましょう。

【解き方】

  1. 調整なし: 薬ありの回復率は 50÷100=0.550 \div 100 = 0.5、薬なしは 70÷100=0.770 \div 100 = 0.7 で、差は −0.2-0.2
  2. ZZ の割合: 軽症100人、重症100人なので、P(Z)=0.5P(Z) = 0.5 ずつ
  3. do(薬あり)do(\text{薬あり}): 0.5×0.9+0.5×0.4=0.650.5 \times 0.9 + 0.5 \times 0.4 = 0.65
  4. do(薬なし)do(\text{薬なし}): 0.5×0.8+0.5×0.3=0.550.5 \times 0.8 + 0.5 \times 0.3 = 0.55

答えは、調整なしで −0.2-0.2、因果効果は +0.1+0.1 です。どの層でも薬ありのほうが回復率が高いのに、全体では逆に見えていました。シンプソンのパラドックスです。ZZ が裏口をふさいでいるので、この場合は調整後の値を信じます。

せっかくなので、線形の例も見てみましょう。標準化した変数で Z→XZ \to X の係数が0.5、Z→YZ \to Y が0.4、X→YX \to Y が0.3だとします。XX と YY の相関は、道ごとの係数の積の和で 0.3+0.5×0.4=0.50.3 + 0.5 \times 0.4 = 0.5 です。YY を XX だけで回帰した係数0.5には、裏口の0.2が混ざっています。YY を XX と ZZ で重回帰すれば、XX の係数が因果効果の0.3になります。

一方で、「関係ありそうな変数は全部調整する」は間違いです。

【調整してはいけない変数】

  • 中間変数(X→M→YX \to M \to Y の MM): 表玄関をふさいでしまう。条件1に違反
  • 合流点: 閉じていた裏口を開けてしまう

例えば、X←A→C←B→YX \leftarrow A \to C \leftarrow B \to Y のDAGでは、CC が合流点なので、何も調整しなくても裏口はふさがっています。ここで、XX と YY の両方に関連する CC を「交絡因子だ」と考えて調整すると、かえって偏ります。どの変数を調整すべきかは、データの相関ではなくDAGが決めるのです。

試験のポイント:ZZ の候補を見たら、XX の子孫でないこと、すべての裏口をふさぐこと、新しい道を開けないことを順に確かめます。

以上が、バックドア基準についての解説です。

フロントドア基準:裏口がふさげないとき

次に、調整したい変数が測れないときの方法を説明します。

バックドア基準は、交絡因子が観測できることが前提です。では、交絡因子 UU が測れないときは、あきらめるしかないのでしょうか? 実は、XX から YY への途中の変数が観測できれば、道が開けることがあります。

変数の集合 MM が次の3条件を満たすとき、フロントドア基準(front-door criterion)を満たすと言います。

【フロントドア基準】

  1. MM が、XX から YY へのすべての有向道を遮断する
  2. XX から MM へのバックドアパスがない
  3. MM から YY へのバックドアパスは、すべて XX でふさがれる

典型は、X→M→YX \to M \to Y に、未観測の UU から XX と YY への矢印がある形です。このとき、次の公式で因果効果が求まります。

P(y∣do(x))=∑mP(m∣x)∑x′P(y∣x′,m) P(x′)P(y \mid do(x)) = \sum_{m} P(m \mid x) \sum_{x'} P(y \mid x', m)\, P(x')

なぜでしょうか? 2段階に分けて考えます。バケツリレーのように、効果を2区間に分けて運ぶイメージです。

【フロントドア調整の手順】

  1. X→MX \to M の効果: 裏口がないので、P(m∣do(x))=P(m∣x)P(m \mid do(x)) = P(m \mid x)
  2. M→YM \to Y の効果: M←X←U→YM \leftarrow X \leftarrow U \to Y の裏口を XX でふさげるので、バックドア調整で P(y∣do(m))=∑x′P(y∣x′,m)P(x′)P(y \mid do(m)) = \sum_{x'} P(y \mid x', m) P(x')
  3. 2つをつなぐ: MM の値ごとに掛けて足す

具体的に見てみましょう。店のアプリの登録 XX、クーポンの当選 MM、再来店 YY を調べます。店のファン度 UU は測れず、XX にも YY にも影響します。クーポンは抽選で、当選率は登録の有無だけで決まるとします。次の値が得られました。P(X=1)=0.5P(X = 1) = 0.5 です。

確率M=0M = 0M=1M = 1
X=1X = 1 のときの P(m∣x)P(m \mid x)0.30.7
X=0X = 0 のときの P(m∣x)P(m \mid x)0.90.1
X=1X = 1 のときの再来店率 P(Y=1∣x,m)P(Y = 1 \mid x, m)0.340.72
X=0X = 0 のときの再来店率 P(Y=1∣x,m)P(Y = 1 \mid x, m)0.160.48

【計算の手順】

  1. 内側の和: m=0m = 0 なら 0.5×0.34+0.5×0.16=0.250.5 \times 0.34 + 0.5 \times 0.16 = 0.25、m=1m = 1 なら 0.5×0.72+0.5×0.48=0.600.5 \times 0.72 + 0.5 \times 0.48 = 0.60
  2. do(X=1)do(X = 1): 0.3×0.25+0.7×0.60=0.4950.3 \times 0.25 + 0.7 \times 0.60 = 0.495
  3. do(X=0)do(X = 0): 0.9×0.25+0.1×0.60=0.2850.9 \times 0.25 + 0.1 \times 0.60 = 0.285

因果効果は 0.495−0.285=0.210.495 - 0.285 = 0.21 です。一方で、単純な再来店率は X=1X = 1 で0.606、X=0X = 0 で0.192で、差は0.414でした。ファン度による見かけの分が、約半分を占めていたことになります。

ただし、基準の条件は強い仮定です。「ファン度がクーポンの当選に直接は影響しない」「登録の効果はすべてクーポンを通る」ことは、データからは確かめられません。この例では抽選なので前者はもっともらしいのですが、後者は慎重に考える必要があります。地図が間違っていれば、計算も間違います。

以上が、フロントドア基準についての説明です。

直接効果と間接効果:効果の道を分ける

最後に、効果がどの道を通っているのかを見ていきましょう。

運動習慣 XX がテストの点 YY を上げるとします。運動で睡眠時間 MM が増えて点が上がる道もあれば、運動そのものが集中力を高める道もあるかもしれません。X→YX \to Y の矢印を通る効果を 直接効果、X→M→YX \to M \to Y のように中間変数を通る効果を 間接効果 と呼びます。2つを足したものが、全体の効果である 総合効果 です。川が2本に分かれて、下流でまた合流する場面を思い浮かべてください。

線形の構造方程式モデルなら、計算は単純です。

M=aX+εM,Y=c′X+bM+εYM = aX + \varepsilon_M, \qquad Y = c'X + bM + \varepsilon_Y

MM の式を YY の式に代入すると、Y=(c′+ab)X+⋯Y = (c' + ab)X + \cdots となります。

総合効果=c′⏟直接効果+ab⏟間接効果\text{総合効果} = \underbrace{c'}_{\text{直接効果}} + \underbrace{ab}_{\text{間接効果}}

言葉で言うと、間接効果は道の上の係数の積で、総合効果はそれらをすべての道について足したものです。

例題:パス係数から効果を分解する

週の運動回数 XX が1回増えると睡眠が0.5時間増え(a=0.5a = 0.5)、睡眠が1時間増えると点数が4点上がり(b=4b = 4)、運動そのものの効果が1点(c′=1c' = 1)だとします。直接効果、間接効果、総合効果を求めましょう。

【解き方】

  1. 直接効果: c′=1c' = 1
  2. 間接効果: ab=0.5×4=2ab = 0.5 \times 4 = 2
  3. 総合効果: 1+2=31 + 2 = 3

答えは、直接効果1点、間接効果2点、総合効果3点です。効果の3分の2は、睡眠を通っていることが分かります。

回帰で推定するときは、YY を XX だけで回帰した係数が総合効果の推定値、YY を XX と MM で回帰した XX の係数が直接効果の推定値です。バックドア基準の話とつながりますね。中間変数を入れると表玄関の一部がふさがるので、総合効果を知りたいときには入れません。一方、直接効果を知りたいときには、その道をあえてふさぐのです。

ただし、この分解にも前提があります。MM と YY の間に未観測の交絡があると、MM は合流点の役割もするので、bb も c′c' も偏ります。また、XX と MM に交互作用があるときは、係数の積では分解できません。

補足(ここは読み飛ばしてOK): 交互作用がある場合は、潜在的結果を使って定義します。Y(x,m)Y(x, m) を X=xX = x、M=mM = m のときの結果、M(x)M(x) を X=xX = x のときの MM として、自然な直接効果は E[Y(1,M(0))]−E[Y(0,M(0))]E[Y(1, M(0))] - E[Y(0, M(0))]、自然な間接効果は E[Y(1,M(1))]−E[Y(1,M(0))]E[Y(1, M(1))] - E[Y(1, M(0))] です。2つを足すと総合効果になります。

試験のポイント:間接効果は道の係数の積、総合効果はすべての道の和です。

以上が、直接効果と間接効果についての解説です。

細かい式を忘れてしまっても問題ありません。ここでは、「見ると、するは違う」「DAGが調整すべき変数を決める」「鎖と分岐は固定でふさがり、合流点は固定で開く」という点だけ押さえておきましょう。

今回のまとめ

それでは、今回の内容を振り返ります。

今回は、観察データから因果を語るための道具について紹介しました。統計学はデータの関連を教えてくれますが、因果の地図そのものはデータからは出てきません。背景の知識で地図を描き、その地図のもとで計算する。これが統計的因果推論の基本の姿勢です。

今回のポイントを振り返りましょう。

振り返り

  • 因果効果は介入したときの変化で、P(Y∣do(x))P(Y \mid do(x)) と P(Y∣x)P(Y \mid x) は別物。「見る」と「する」は違う。
  • 因果ダイアグラムはDAGで描き、裏には構造方程式モデルがある。
  • 有向分離では、鎖と分岐は固定するとふさがり、合流点は固定すると開く。
  • バックドア基準を満たす ZZ で調整すれば、∑zP(y∣x,z)P(z)\sum_z P(y \mid x, z)P(z) で因果効果が求まる。
  • 交絡因子が測れなくても、フロントドア基準を満たす中間変数があれば因果効果を求められる。
  • 総合効果は直接効果と間接効果の和で、線形なら間接効果は係数の積になる。

キーワードのおさらい

  • 因果効果: XX への介入による YY の変化の大きさ
  • 因果ダイアグラム: 変数の因果関係を矢印で表した図
  • 非巡回的有向グラフ(DAG): 矢印をたどって元に戻れない、向きのあるグラフ
  • グラフィカルモデル: グラフで変数の関係と確率分布の構造を表すモデル
  • 構造方程式モデル: 各変数を親と誤差で決める式の集まり
  • 有向分離: 条件となる変数の集合によって、2点を結ぶすべての道がふさがれること
  • バックドア基準: 調整すべき変数の集合を判定する条件。XX の子孫を含まず、裏口をすべてふさぐ
  • フロントドア基準: 交絡が未観測でも、中間変数を使って因果効果を求められる条件
  • 直接効果: 中間変数を通らずに XX から YY へ伝わる効果
  • 間接効果: 中間変数を通って XX から YY へ伝わる効果

これで、準1級の記事はすべて終わりです。ここまでお疲れさまでした。確率と分布の見直しに始まり、推定と検定の理論、回帰、多変量解析、時系列、分割表、ベイズ法、計算手法、そして因果推論まで、実社会の課題に合う手法を選んで解釈するための道具がそろいました。順に読んで練習問題を解いてきたなら、準1級の合格ラインはもう見えています。

さて、次はいよいよ1級です。準1級では公式を使いこなすことが目標でした。1級の統計数理では、その公式がなぜ成り立つのかを、自分の手で証明できるようになります。統計応用では、分野ごとの問題に対して、手法を選んで論述する力を身につけます。

その第一歩は、準1級の最初と同じ「事象と確率」です。同じ題材を、今度は証明の目で読み直します。

それでは、1級の記事へ進んでいきましょう。

練習問題5問開いて挑戦する
問1. 4人の潜在的結果が、Y(1)Y(1) は 8, 6, 7, 5、Y(0)Y(0) は 6, 6, 4, 4 だった。平均因果効果として正しいものはどれか。
問2. DAGが X→C←YX \to C \leftarrow Y のとき、正しいものはどれか。
問3. バックドア基準を満たす2値変数 ZZ があり、P(Z=1)=0.4P(Z = 1) = 0.4、P(Y=1∣X=1,Z=0)=0.5P(Y = 1 \mid X = 1, Z = 0) = 0.5、P(Y=1∣X=1,Z=1)=0.8P(Y = 1 \mid X = 1, Z = 1) = 0.8 である。P(Y=1∣do(X=1))P(Y = 1 \mid do(X = 1)) として正しいものはどれか。
問4. UU が未観測で、DAGが X→M→YX \to M \to Y、U→XU \to X、U→YU \to Y のとき、XX から YY への因果効果を求める方法として最も適切なものはどれか。
問5. 線形の構造方程式モデル M=0.6X+εMM = 0.6X + \varepsilon_M、Y=0.5X+0.4M+εYY = 0.5X + 0.4M + \varepsilon_Y で、XX から YY への総合効果として正しいものはどれか。