1. セレクションバイアスとは

  • セレクションバイアス (Selection Bias) の定義:

  • 「原因として考えている変数(処置変数)と結果変数の関係が、想定する因果関係以外に存在する状況」

  • 「処置の値」と「潜在的結果」の間に相関があるということ
    = 「処置を受けた群」と「受けていない群」で、結果のベースラインに違いがある
    = 例えば「通院する人」(処置を受けた群)と「通院しない人」(処置を受けない群)では、もともとの健康状態に違いがある
    → もともと健康状態が良い人は通院しない
    → もともと健康状態が悪い人が通院する

セレクションバイアスの問題点・ 調査・観察データを使った単純比較では、多くの場合、セレクションバイアスのせいで因果効果は特定できない

→ セレクションバイアスへの対処が、因果推論にとって最大の課題

セレクションバイアスの種類

  • 次の二種類あるが、ここでは (2) の「セルフセレクション」について解説する
(1) サンプルセレクション 母集団からかけ離れたサンプルをとること
(2) セルフセレクション 個人が自らの意思に行動を選択した結果、ある行動を取る人たちのグループと取らない人たちのグループの間で特性の差が生じる
  • サンプルセレクションの例:

  • 知りたいこと:早稲田大学政経学部全ての学生の統計学の知識

  • 母集団:早稲田大学政治経済学部の全ての学生

  • サンプル:「計量分析(政治)」を履修している学生
    → 「計量分析(政治)」を履修する学生はもともと計量分析に興味がある
    → このサンプルは母集団からかけ離れたサンプルである可能性が高い

対策:調査対象の選定に注意して、早稲田大学政経学部全ての学生から無作為にサンプルをとる

2. セルフセレクション

2.1 事例 1: シンプソンのパラドクス

  • シンプソンのパラドクスとは、全体でみた解釈と部分で見た会社が異なるという現象

  • 確認したいこと:「運動する」→「コレステロールが下がる」

  • x 軸に「運動量」、y 軸に「コレステロール値」をとってプロットしてみる


Source: Judea Pearl and others, 2016, Causal Inferences in Statistics

  • データからわかる事実:

→ 運動量が多い人ほどコレステロール値が高い!
→ 常識と反する結果!
- ここで確かめたい因果関係は「運動する」→「コレステロール値が上がる(下がる)?」
- 「想定する因果関係以外の変数」として「年代」を考える
- 上のグラフを年代別に分けて表示してみる


Source: Judea Pearl and others, 2016, Causal Inferences in Statistics

  • データからわかる事実:

  • 年代別に「運動量」と「コレステロール値」の関係を見ると負の相関がある

  • 年代別に見ると「運動する」→ 「コレステロール値が下がる」関係がある

  • 若い人はもともとコレステロール値が低い人が多い

  • 年を経るにつれてコレステロール値が高くなる
    →「年代」を考慮しないと「運動する」と「コレステロール値が上がる」ように見える

  • 「運動をするかどうか」という判断は個人の判断
    => セルフセレクション (self-selection)

  • 3 つの変数(年齢、運動、コレステロール値)の関係を図示してみる

結論・全体で見ると、運動するとコレステロール値は上がる
・しかし、年代別に見ると、運動するほどコレステロール値は下がる
・「年代」のようなセレクションバイアスを考慮する必要がある

2.2 事例 2: 病院に行く人ほど不健康になる?

  • 確認したいこと:「病院行く」→「健康になる」
  • 「通院(病院に行ったこと)」と「健康状態」の関係

  • データからわかる事実:

  • 通院しなかった人の方が健康(健康状態の平均値: 3.21 < 3.93
    → 常識と反する結果!

  • なぜ通院すると健康でなくなるのか?

  • これは因果関係なのか?

  • ここで想定する因果関係は「通院する」→「健康になる」

  • なぜ通院すると不健康になるのか?

【考えられる理由】:
(1) 病人から病気が感染してしまう
(2) 医療ミスのせいで健康を害する・・・等々

  • 「想定する因果関係以外の変数」として「そもそもどういう人が通院するのか」を考える
  • 「通院するかどうか」ということは本人が選べる
    => セルフセレクション (self-selection)
    → 「病院に行く」のは「もともと健康状態が悪い人」
    → もともと健康状態の良い人は「病院には行かない」はず

結論・ 病院に行ったからといって不健康になるわけではない
・ 「もともとの健康状態」を考慮すべき

まとめ調査・観察データを単純比較しても因果効果はわからない

その理由 → セレクションバイアスがあるから

・ セレクションバイアスがあると正しい因果効果が推定できない

3. Rubin の潜在的結果アップローチ

  • Rubin の潜在的結果アップローチを使って、セレクションバイアスへの理解を深めフォーマルに定義する 
  • ここでは「事例 2: 病院に行く人ほど不健康になる?」を使って、実例と照らし合わせつつ解説する
  • 「もし・・・なら」と考える条件は 2 つ:
通院しない
通院する

→ このことを変数 D で表す
→ 変数 D は「処置 (treatment) 」 と呼ばれる
→ D= 0なら「通院しない」
→ D= 1なら「通院する」

  • 効果検証を表す指標は「健康状態(5 段階)」
(1) 最悪
(2) 悪い
(3) 普通
(4) 良い
(5) 最良
  • 潜在的結果変数は Y(0)Y(1)
\(Y(1)\) : その人が通院したときの、健康状況
\(Y(0)\) : その人が通院しないときの、健康状況
  • ここでは反事仮想の考え方(もし・・・だったら)を利用する
    ・ 通院した人 (D = 1) についての \(Y(1)\) は観測できる
    ・ 通院した人 (D = 0) についての \(Y(0)\) は観測できない
    → 現実に通院した人が「通院しなかった時の健康状態」は観測できないから
    同様に
    ・ 通院しない人 (D = 0) についての \(Y(0)\) は観測できる
    ・ 通院しない人 (D = 0) についての \(Y(1)\) は観測できない
    → 現実に通院しない人が「通院した時の健康状態」は観測できないから

\(Y(0)\)\(Y(1)\) は同時には観察(= 測定)できない

  • 同じ人に「本来はどちらの潜在的結果変数も存在する」と発想
    → 「もし・・・していたら」と「もし・・・していなかったら」の比較が可能になる

2.1 記号と用語の説明

個人 : i = 1, 2, 3,…, N・・・個体を表す ID
処置 (treatment) : \(D_i ∈ {0, 1}\)・・・原因となる変数
処置を受けた(通院する):\(D_i = 1\)
処置を受けない(通院しない):\(D_i = 0\)
結果 (outcome) : \(Y_i ∈ {1, 2, 3, 4, 5}\)・・・5 段階の健康状態
潜在的結果 (potential outcome) :

\[ Y_{i}\left(D_{i}\right)=\left\{\begin{array}{ll} Y_{i}(1) &\text { if } D_{i}=1(ここでは「通院する」)\\ Y_{i}(0) & \text { if } D_{i}=0(ここでは「通院しない」)\end{array}\right. \]

  • 潜在的結果
  • 1 つの行動に対して、1 つの潜在的結果がある 
  • \(Y_i(0)\)\(Y_i(1)\) は潜在的には存在しうるが、D の値によって観測できるものが異なる
     → 潜在的結果変数 (potential outcomes)
  • 「通院する・しない」の例では次の 2 つの可能な行動とそれぞれ 5 段階の結果を想定できる

  • 処置した(\(D_i = 1\) = 通院する)場合の潜在的結果(5 段階の健康状態)
  • 処置しない(\(D_i = 0\) = 通院しない)場合の潜在的結果(5 段階の健康状態)
  • 処置と潜在的結果
  • \(Y_i(D_i)\)・・・処置が \(D_i\) の場合(通院する or 通院しない)の潜在的結果(健康状態) \[Y_i(D_i) = Y_i(1). if. D_i = 1\] \[Y_i(D_i) = Y_i(0). if. D_i = 0\]
  • どちらも実際に観察可能
  • 観察される結果 \(Y_i\) (健康状態)は、二つの可能な行動 \(D_i\)(通院する = 1、通院しない = 0) の確率の関数なので、\(Y_i\) は次のように表記できる

\[Y_i = D_iY_i(1) + (1-D_i)Y_i(0)\\= Y_i(0) + [Y_i(1) - Y_i(0)]D_i\] \(D_i = 0\) の時 \[Y_i = Y_i(0) + [Y_i(1) - Y_i(0)]D_i = Y_i(0)\] \(D_i = 1\) の時 \[Y_i = Y_i(0) + [Y_i(1) - Y_i(0)]D_i = Y_i(1)\]

2.2 処置効果

  • 因果推論を実現するために、私たちが知っておくべき「処置効果」は次のとおり
  • 私たちが最終的に知りたいのは「群間の因果効果」である「平均処置効果 ATE   
処置効果の種類 略称
1. 個体処理効果 ITE: individual treatment effect
2. 平均処置効果 ATE: average treatment effect
3. 処置群における平均処置効果 ATT: average treatment effect for the treated
4. 統制群における平均処置効果 ACT: average treatment effect for the control

・ ランダム化比較実験 (Randomized Controlled Trial: RCT) によって、ランダムに(無作為に)処置群と統制群が決まる場合
→ 2 群の期待値を単純比較すれば「平均処置効果 ATEを計算できる
・ しかしほとんどの「調査・観察データ」にはセレクションバイアスが含まれている
→ 単純比較するだけでは「平均処置効果 ATEを計算できない

2.2.1 個体処置効果 (ITE)

  • 個体処置効果 \(δ_i\): ITE (individual treatment effect)

  • 個人レベルの処置効果(因果効果)

  • 個体 \(i\) に関する因果効果 \(δ_i\)(デルタ)は「潜在的結果の差」を表す

\[δ_i ≡ Y_i(1) - Yi(0)\]

  • 通院の事例を使うと、同一人物が「通院した場合の健康状況 \(Y_i(1)\)」 と「通院しなかった場合の健康状況 \(Y_i(0)\)」の差のこと

  • 因果効果は同一個体の同一時点での「潜在的結果の差」によって定義される

  • 観察される結果 \(Y_i\) は、二つの可能な行動 \(D_i\) の確率の関数なので、次のように表記できた

\[Y_i = Y_i(0) + [Y_i(1) - Y_i(0)]D_i\]

  • この式に \(δ_i ≡ Y_i(1) - Yi(0)\) を代入する

\[Y_i = Y_i(0) + [Y_i(1) - Y_i(0)]D_i\\ = Y_i(0) + δ_i(D_i)\]

\(Y_i(0)\) : 結果のベースライン(5 段階の健康状態)
\(δ_i\) : 因果効果
\(D_i\) : 処置の有無: \(D_i = 1\)なら通院、\(D_i = 0\)なら通院しない

「潜在的結果の差」\(δ_i ≡ Y_i(1) - Yi(0)\)  

  • 通院の事例を使うと、同一人物が「通院した場合の健康状況 \(Y_i(1)\) 」 と「通院しなかった場合の健康状況 \(Y_i(0)\)」の差がゼロ (\(δ_i = 0 )\) なら、通院と健康状態の間には「因果効果なし」

  • 他方、同一人物が「通院した場合の健康状況 \(Y_i(1)\) 」 と「通院しなかった場合の健康状況 \(Y_i(0)\)」の差がプラス (\(δ_i > 0 )\) なら「通院は健康状態を改善させるという因果効果がある」

  • また、同一人物が「通院した場合の健康状況 \(Y_i(1)\) 」 と「通院しなかった場合の健康状況 \(Y_i(0)\)」の差がマイナス  (\(δ_i < 0 )\) なら「通院は健康状態を悪化させるという因果効果がある」

  • しかし、例えば2021年4月の一ヶ月間の間、菅総理大臣が毎週月曜日に東大病院に「通院する」ことと「通院しない」ことを同時に観察することはできない

  • 菅総理が経験し観察できるのは「通院する」か「通院しないか」のどちらか片方だけ
    → つまり、

2 つの潜在的結果である \(Y_i(1) と Y_i(0)\) は同時に観察することはできない

→ 因果推論の根本問題 (Holland 1986)

  • 因果推論の根本問題
処置 潜在的結果 潜在的結果
\(Yi(1)\) \(Yi(0)\)
あり \(D_i = 1\) \(Y_i\) として観察される 観察できない
なし \(D_i = 0\) 観察できない \(Y_i\) として観察される

個体の因果効果は観察できない!

→ 個人の因果効果は観察できないので諦める

  • しかし、複数の個体(=集団)を考慮すると因果効果は観察できる
観察対象 潜在的結果 \(Y_i(1)\) 潜在的結果 \(Y_i(0)\) 個体レベルの因果効果 \(δ\)
1 \(Y_1(1)\) \(Y_1(0)\) \(Y_1(1)-Y_1(0)\)
2 \(Y_2(1)\) \(Y_2(0)\) \(Y_2(1)-Y_2(0)\)
3 \(Y_3(1)\) \(Y_3(0)\) \(Y_3(1)-Y_3(0)\)
. . . .
. . . .
\(i\) \(Y_i(1)\) \(Y_i(0)\) \(Y_i(1)-Y_i(0)\)
. . . .
. . . .
\(N\) \(Y_N(1)\) \(Y_N(0)\) \(Y_N(1)-Y_N(0)\)

・ 個体レベルの ITE(個体処置効果 \(δ_i\)) は観察できないが、集団の平均なら観察できる

2.2.2 平均処置効果 (ATE)

  • 平均処置効果 \(δ_i\): ATE (average treatment effect)
  • 観察できる集団の平均を使って「平均処置効果 (ATE)」を計算する

\[ATE = E[Y_i(1) - Y_i(0)] = E[Y_i(1)] - E[Y_i(0)]\]
\(E[Y_i(1)]\): 全ての個体が処置 1 を受けたとき(= 通院する)の結果の期待値
\(E[Y_i(0)]\): 全ての個体が処置 0 を受けたとき(= 通院しない)の結果の期待値

  • 処置群と統制群

  • 処置の値が 2 つ (0 or 1) しかないとき
    → 処置 1 を受ける =「処置を受ける」= 「通院する」
    処置を受けた個体のグループ:処置群(実験群)
    → 処置 0 を受ける =「処置を受けない」=「通院しない」
      処置を受けない個体のグループ:統制群(比較群)

  • 平均処置効果 (ATE) は観察可能? →  NO!

\[ATE = E[Y_i(1) - Y_i(0)] = E[Y_i(1)] - E[Y_i(0)]\]

  • 全ての個体が処置 1 を受けたとき(= 全員が通院する) → \(E[Y_i(1)]\) は観察可能
  • 全ての個体が処置 0 を受けたとき(= 全員が通院しない)→ \(E[Y_i(0)]\) は観察可能
  • しかし、私たちが知りたい「通院の因果効果」(= 「期待値の差」)を計算するためには「通院する」人々と「通院しない」人々が混じった集団が必要
  • 「通院する」人々と「通院しない」人々の両方が混じった集団だと、期待値 \(E[Y_i(1)]\)\(E[Y_i(0)]\) はどちらも計算できない   → 私たちが知りたい「期待値の差」は計算できない
    ::: {style=“text-align: center;”} → 平均処置効果 (ATE) は観察できない :::

2.2.3 平均処置効果 (ATTATC)

  • 「観察したいこと」と「観察できること」
  • 通院することの因果効果を知りたい時、私たちが「観察したいこと」と実際に「観察できること」は次のように表すことができる

  • 私たちが観察できることは 2 つだけ (\(E[Y_i(1) |D = 1] と E[Y_i(0) |D = 0]\) )
  • つまり「通院する集団」と「通院しない集団」の体調の平均値の差
  • これら観察できる 2 つの体調の平均値の差を単純比較してみる \[E[Y_i(1) | D = 1] ー E[Y_i(0) | D = 0]\]
  • ここでわかること
     →「通院した集団」と「通院しなかった集団」における体調の平均値の差
  • しかし、この平均値の差には二種類のセレクションバイアスが含まれている 
  • 「通院する集団」に含まれているバイアス
  • 「そもそも通院するのは、もともと体調が悪い人々」
     → 通院する集団の中では、通院の効果が過小評価される
  • 「通院しない集団」に含まれているバイアス
  • 「もともと体調が良い人々は、そもそも通院しない」
     → 通院しない集団の中では、通院の効果が過大評価される
  • 以上を図にまとめると次のようになる

  • ここからわかること
    「通院する集団」に関して
  • もしセレクションバイアスの値が 0 なら → ATT を計算できる
    「通院しない集団」に関して
  • もしセレクションバイアスの値が 0 なら →  ATC を計算できる
  • もし「通院する集団」と「通院しない集団」のセレクションバイアスの値がどちらも 0 なら

→ 群間比較で因果効果 (ATE) を推定できる

2.3 フォーマルな表現

2.3.1 ATT(処置群における平均処置効果)

  • ここでは、上で説明した ATT とセレクションバイアスの関係をフォーマルに表してみる
  • 観察可能な 2 つの期待値 (\(𝐸[𝑌(1)|𝐷=1]と𝐸[𝑌(0)|𝐷=0]\) )の差を表す式を展開してみる
  • 以下が式の解説である

  • セレクションバイアスをフォーマルに表すと次のようになる \[E[Y_i(0)|D=1] - E[Y_i(0)|D=0]\] → 通院する人もしない人も (つまり D=0 であれば)「もともとの健康状態が同じ」なら
    → セレクションバイアスは消える \[E[Y_i(0)|D=1] = E[Y_i(0)|D=0] ならば\] → セレクションバイアスは消える → その場合、ATE は推定できないが、ATT が推定できる

2.3.2 ATC(統制群における平均処置効果)

  • ここでは、上で説明した ATC とセレクションバイアスの関係をフォーマルに表してみる
  • 観察可能な 2 つの期待値 (\(𝐸[𝑌(1)|𝐷=1]と𝐸[𝑌(0)|𝐷=0]\) )の差を表す式を展開してみる
  • 以下が式の解説である

  • セレクションバイアスをフォーマルに表すと次のようになる \[E[Y_i(1)|D=1] - E[Y_i(1)|D=0]\] → 通院する人もしない人も (つまり D=0 であれば)「もともとの健康状態が同じ」なら
    → セレクションバイアスは消える \[E[Y_i(1)|D=1] = E[Y_i(1)|D=0] ならば\] → セレクションバイアスは消える → その場合、ATE は推定できないが、ATC が推定できる

2.3.3 ATE(平均処置効果)が計算できる条件  

  • 処置群と統制群それぞれの集団に関して、2つのセレクションバイアスを両方除去できる
    → 処置群における平均処置効果 (ATT) と統制群における平均処置効果 (ATC) が計算できる
    → 平均処置効果 (ATE) が計算できる
    \[E[Y_i(0)|D_i=1] = E[Y_i(0)|D_i=0]   →  ATT が計算可能\\ E[Y_i(1)|D_i=1] = E[Y_i(1)|D_i=0]   →  ATC が計算可能\\ → ATE が計算可能\]
  • 通院と体調の事例にあてはめてみる
  • 「通院する集団」のセレクションバイアス:
    もともと体調が悪い人々なので、この集団では通院の効果が過小評価される
  • 「通院しない集団」のセレクションバイアス:
    もともと体調の良い人々なので、この集団では通院の効果が過大評価される
  • 「通院する集団」「通院しない集団」それぞれのセレクションバイアスを両方除去できる
     →「通院する集団」における ATT「通院しない集団」における ATC が計算できる
     →通院の因果効果 ATE を計算できる
  • このことをフォーマルにまとめると次のようになる

参考文献