社会科学における因果推論

9/ 回帰不連続デザイン

宋財泫(関西大学)

1 RDDとは

比例性と投票参加

  • 合理的有権者の投票参加モデル(Riker and Ordeshook 1968
    • \(R = P \cdot B - C + D\)\(R \leq 0\)の場合、棄権)
    • 有権者は自分の持つ一票の価値(\(P\))が低いと、棄権しやすい。
  • 比例性が高い = 自分の一票が議席に変換される確率が高い = 死票が少ない
  • \(\Rightarrow\) 比例代表制は投票率を上げる?

群間単純比較

  • 多数代表制の国が比例代表制を採用すると投票率が2.8%p増加する?
    • 比例代表制を採用する国の平均投票率:65.3%
    • 多数代表制を採用する国の平均投票率:62.5%

  • 平均値の単純比較の限界
    • 誤差項には政治文化、歴史、経済状況、社会内の対立軸、周辺国の制度、支配国の制度等が含まれる。
    • これらの要因の一部は交絡要因と考えられるため、単純比較から得られた推定値はバイアスを含む。
    • 国固有の文脈(context)により単純比較は困難
    • \(\Rightarrow\) 一国内で異なる選挙制度があれば?

フランスの例

  • コミューン1commune)議会選挙(1982〜20132
    • 人口3500人未満のコミューン:多数代表制(大選挙区制)
    • 人口3500人以上のコミューン:比例代表制(プレミアム付)
    • 以下は架空のデータ(実際の研究成果はEggers[2014]等を参照)

内生性は?

交絡要因の存在により、群間の単純比較では信頼できる処置効果の推定が不可能

  • バックドア経路が存在(D \(\leftarrow\) R \(\rightarrow\) W \(\rightarrow\) Y)

  • Y:投票率
  • D:選挙制度
  • R:人口
  • W:都市化度

選挙制度がランダムに?

  • 人口が3500人周辺であれば、都市化度はほぼ同じだと考えられる。
    • 人口3400人のコミューンと3600人のコミューンの都市化度は「ほぼ」同じであり、人口が3500人を超えるかどうかは「」とも言える。
    • \(\leadsto\) 内生性の原因(の一つ)である「都市化度」がコントロールされる。
    • \(\leadsto\) 区間内において、選挙制度は「ほぼ」ランダムに決まる(\(\fallingdotseq\)実験?)。

回帰不連続デザイン

  • Regression Discontinuity Design(RDD
  • 観測された共変量の値が(制度等によって決められた)閾値のいずれかの側にあるかによって、処置の割り当てが決まる。
    • 「観測された共変量」は割当変数(Running variable)、または強制変数(Forcing variable)と呼ばれる。
    • 割当変数(\(R_i\))の値が閾値(\(c\))を超えた個体を「処置群(\(D_i = 1\))」と呼ぶケースが多い。

\[ D_i = \begin{cases} 0 & \textsf{if} & R_i < c \\ 1 & \textsf{if} & R_i \geq c \end{cases} \]

  • 推定対象(estimand)はATEでなく、LATE(Local ATE; 局所平均処置効果

なぜ「不連続」か

  • 回帰直線が上方向(または、下方向)にジャンプ
    • ジャンプの幅がLATE

2つのRDD

異なる割当メカニズムを想定した2つのRDD(本講義ではSRDのみ解説)

  1. Sharp Regression Discontinuity (SRD)
    • 割当変数の値が閾値を超えると必ず処置を受ける。
    • 例) 人口と選挙制度
  2. Fuzzy Regression Discontinuity (FRD)
    • 割当変数の値が閾値を超えると処置を受ける確率がジャンプする。
    • 例) 入試

割当メカニズムの比較

割当変数の値が閾値を超えると、処置を受ける確率がジャンプする。

2 仮定

RDDの仮定(識別条件)

  1. 閾値のルールが明確であり、既知であること
    • RDDの場合、閾値は制度に起因するものが多いため、これが問題になるケースは少ない。
  • 閾値周辺において…
    1. 潜在的結果が連続であること
    2. 結果変数に影響を与える共変量(処置変数を除く)が連続すること
    3. 割当変数が連続であること

潜在的結果の連続性

共変量の連続性

  • 結果変数に影響を与える変数が閾値周辺で変化しないこと
    • 架空の例)21歳になれば…
      1. 識別可能:飲酒ができるようになり、他は何も変わらない。
      2. 識別不可:飲酒だけでなく、運転も、宜しくない薬も、結婚もできるようになる。
  • 共変量が揃っていれば(限定的ではあるが)バランスチェックで確認可能

割当変数の連続性

  • 閾値周辺において強制変数の操作が行われていないこと
  • McCrary(2008)の密度検定(density test)で仮定違反有無が確認可能

3 推定

推定方法

  • パラメトリック(parametric)推定
  • ノンパラメトリック(non-parametric)推定
    • 局所平均
    • 局所回帰

パラメトリック推定

結果変数を処置変数と割当変数に回帰した(非)線形回帰モデル

\[ \hat{Y_i} = \alpha + \rho D_i + \beta R_i \]

  • \(Y_i\):結果変数

  • \(D_i\):処置変数(\(D_i \in \{0, 1\}\)

  • \(R_i\):割当変数

  • \(\rho\)局所処置効果(LATE)

交互作用

閾値を超えることによって回帰直線の傾きが変化すると考えられる場合

  • 処置変数と割当変数の交差項を投入

交互作用の注意点

\[ \hat{Y_i} = \alpha + \rho D_i + \beta R_i + \gamma D_i \cdot R_i \]

  • この場合、LATEは\(\rho\)ではなく\(\rho + \gamma \cdot c\)
    • 処置効果は\(R_i\)の値に依存1(処置効果は\(R_i = c\)の箇所のみで観察されるため)
  • 閾値(\(c\))が0になるように割当変数を調整(=割当変数を閾値で中心化する)することを推奨
    • 割当変数の値から閾値を値を引くだけで十分
  • 割当変数を\(c\)で中心化すると、新しい\(c\)は必ず0
    • LATEは\(\rho + \gamma \cdot 0\) = \(\rho\)

中心化の前後比較

\[ \hat{Y_i} = \alpha + \rho D_i + \beta R_i + \gamma D_i \cdot R_i \]

非線形の場合

  • 割当変数の2乗項、3乗項、…を投入(交互作用と組み合わせる場合

\[ \begin{align} \hat{Y_i} = & \alpha + \rho D_i + \beta_1 R_i + \beta_2 R_i^2 + ... + \beta_k R_i^k \textcolor{#E82825}{+} \\ & \textcolor{#E82825}{\gamma_1 (D_i \cdot R_i) + \gamma_2 (D_i \cdot R_i^2) + ... + \gamma_k (D_i \cdot R_i^k)} \end{align} \]

  • モデル選択の基準の例:\(F\)検定、AIC、BIC、…
  • しかし、高次多項式は推奨されない(Gelman and Imbens 2018
    • 高次項を入れるとバイアスは小さくなるが、分散が大きくなる。
      • そもそもRDDにおいてフィットの良さは重要ではない。
    • Gelman and Imbens(2018)は局所回帰、または二次多項式までを推奨

線形か非線形か

実は閾値周辺で連続する関数(\(Y = \frac{1}{1 + e^{-R}}\))だが…

1次関数の例

\(Y_i = \alpha + \rho D_i + \beta R_i + \varepsilon_i\)

1次関数 + 交差項の例

\(Y_i = \alpha + \rho D_i + \beta R_i + \gamma D_i \cdot R_i + \varepsilon_i\)

2次関数の例

\(Y_i = \alpha + \rho D_i + \beta_1 R_i + \beta_1 R_i^2 + \varepsilon_i\)

2次関数 + 交差項の例

\(Y_i = \alpha + \rho D_i + \beta_1 R_i + \beta_1 R_i^2 + \gamma_1 D_i \cdot R_i + \gamma_1 D_i \cdot R_i^2 + \varepsilon_i\)

3次関数の例

\(Y_i = \alpha + \rho D_i + \sum_{j=1}^3 \beta_j R_i^j + \varepsilon_i\)

3次関数 + 交差項の例

\(Y_i = \alpha + \rho D_i + \sum_{j=1}^3 \beta_j R_i^j + \sum_{k=1}^3 \gamma_k D_i \cdot R_i^k + \varepsilon_i\)

4次関数の例

\(Y_i = \alpha + \rho D_i + \sum_{j=1}^4 \beta_j R_i^j + \varepsilon_i\)

4次関数 + 交差項の例

\(Y_i = \alpha + \rho D_i + \sum_{j=1}^4 \beta_j R_i^j + \sum_{k=1}^4 \gamma_k D_i \cdot R_i^k + \varepsilon_i\)

5次関数の例

\(Y_i = \alpha + \rho D_i + \sum_{j=1}^5 \beta_j R_i^j + \varepsilon_i\)

5次関数 + 交差項の例

\(Y_i = \alpha + \rho D_i + \sum_{j=1}^5 \beta_j R_i^j + \sum_{k=1}^5 \gamma_k D_i \cdot R_i^k + \varepsilon_i\)

LATEの推定値

モデルの適合度

ノンパラメトリック推定

パラメトリックのデメリット

  • 結果変数と割当変数間の関数形の特定が重要
    • 線形? 非線形(2次? 3次? 4次?)? 交差項?
  • 関数形の誤設定(misspecification)はバイアスの原因


ノンパラメトリック推定

  • 閾値周辺の個体のみを対象とし、処置群と統制群間の結果変数の平均値の差を比較
    • \(c - h \leq R \leq c + h\)の個体のみ使用(\(h\)バンド幅(bandwidth)と呼ばれる)
  • 2つの推定方法
    • 局所平均(単純平均であるため、結果変数と割当変数間の関数形の特定が不要)
    • 局所線形回帰分析(local linear regression)
      • 現時点の主流であり、関数形の特定は必要だが、誤設定の影響が小さい。

局所平均

  • 全体平均の\(\widehat{\textsf{LATE}}\)\(\mathbb{E}[Y | c \leq R] - \mathbb{E}[Y | R < c]\)
  • 局所平均の\(\widehat{\textsf{LATE}}\)\(\mathbb{E}[Y | c \leq R \leq c + h] - \mathbb{E}[Y | c - h \leq R < c]\)

バンド幅


  • バンド幅によってLATEの推定値は変わる。
    • 多少の変動は仕方ないが、バンド幅が少し変わっただけでLATEの推定値が大きく変化することは望ましくない。
    • \(\Rightarrow\) 感度分析(sensitivity analysis)を推奨
      • バンド幅を最適バンド幅を中心に少しずつ(前後に)動かしながらLATEの推定値の変化を示す

局所回帰分析

ハンド幅内の個体のみを用いたパラメトリック推定法(Hahn, Todd, and van der Klaauw 2001

  • 「線形+交差項」か「二次多項式+交差項」で十分な場合が多い

局所平均と局所回帰

  • 境界問題によるバイアスの発生

カーネル関数

閾値における処置効果に興味があるため、閾値に近い個体ほど高い重みを付ける

  • バンド幅外の個体には重み0を付ける
  • 重み付けのルール:カーネル関数(kernel function)
    • 一様/長方形カーネル関数:すべての個体の重みが同じ(=重み付けなし)
    • 三角形カーネル関数:LATE推定に最適なカーネル関数(Fan and Gijbels 1996
    • ほとんどのパッケージは三角形カーネル関数がデフォルト
  • カーネル関数が推定値に与える影響は限定的(Lee and Lemieux 2010

様々なカーネル関数

4 実装例

推定(パッケージ)

パッケージによってバンド幅、局所回帰分析の関数形、標準誤差の計算方法が異なるので、事前に確認しておくこと。

可視化(散布図)

  • 方法1:割当変数と結果変数の散布図(左)
    • 個体が多い場合、傾向が読み取りにくい。
  • 方法2:割当変数の区間と結果変数の平均値の散布図(右)

感度分析

バンド幅(左)と高次多項式(右)の感度分析の例

プラセボ検定

Imbens and Lemieux(2008)のガイドライン

  1. 閾値を基準とし、左右でサンプルを分割する。
  2. それぞれのサブサンプルにおける\(R\)\(\delta\)分位数をを求める。
    • 閾値左側サンプルにおける\(R\)\(\delta\)分位数:\(q_{R, \delta, l}\)
    • 閾値右側サンプルにおける\(R\)\(\delta\)分位数:\(q_{R, \delta, r}\)
    • 中央値を\(\delta\)とする場合、それぞれ\(q_{R, 1/2, l}\)\(q_{R, 1/2, r}\)
  3. \(q_{R, \delta, l}\)\(q_{R, \delta, r}\)をサブサンプルにおける閾値とする。
  4. 各サブサンプル内でRDDを推定する。
    • \(\delta=0.5\)に加え、別の\(\delta\)を採用しても良い。

プラセボ検定の例

新しい閾値周辺においてジャンプが生じない(=LATEの推定値が0)ことが望ましい。

バランスチェック

共変量(処置前変数)を結果変数とし、RDDを実行

  • ジャンプが生じないことが望ましい

密度検定

  • \(H_0\):閾値周辺において割当変数の操作が行われていない。