jiku log

データサイエンスの核心を掴む : 学びと発見の記録

「効果検証入門」を読む ~第3章 傾向スコアを用いた分析 ~

はじめに

実務における効果検証の精度と信頼性を高めるための方法論を学ぶために,安井翔太 著「効果検証入門~正しい比較のための因果推論/計量経済学の基礎」を読むことにした。


本記事は,「第3章 傾向スコアを用いた分析」における,傾向スコアに関する読書メモである。

  • 本書の紹介ページ

効果検証入門 | 技術評論社

  • 関連コード

GitHub - ghmagazine/cibook

本記事を読むことで得られること

本記事を読むことで得られることは,主に以下の内容である。

  • 傾向スコアの意味と,傾向スコアを利用した効果推定の方法

第3章 傾向スコアを用いた分析

傾向スコアとは,介入の割り当て確率が同一のサンプルで行なった比較はセレクションバイアスが軽減されるという状況を利用した分析手法である。
本章では,傾向スコアの推定方法と,それを利用した効果の検証方法について説明している。

3.1 傾向スコアのしくみ

回帰分析においては,共変量 Xの選定が重要であった。共変量によって,介入効果の値が変わってくる。第2章で紹介していたConditional Independence Assumption(CIA)は,「共変量の値が同じサンプル間において,介入がランダムに割り当てられている」という状態を仮定するものであった。
一方で傾向スコアは,「介入が割り振られる確率である傾向スコア P(X_i)が同一になるようなサンプルの中では,介入 Zが被説明変数 Y^{(0)}と独立に割り振られる」という仮定に基づいている。数式で表すと以下のようになる。


 \begin{align}
\{ Y^{(0)}, Y^{(1)} \} \perp Z \lvert P(X) \\
\end{align}

傾向スコアの推定

傾向スコアは,共変量 Xから推定される確率値であるので,モデル化にはロジスティック回帰などを用いる。ロジスティック回帰モデルは


 \begin{align}
Z_i = \sigma(\beta X_i + u_i), \quad \sigma(x) = \frac{1}{(1+e^{-x})} \\
\end{align}

で表される。ただし \sigma(\cdot)シグモイド関数で,0から1の間の値を出力する。また u_iは誤差項である。この式に基づきデータで学習し,その後推定される傾向スコアは,以下のように与えられる。


 \begin{align}
\hat{P}(X_i) = \hat{Z}_i = \sigma(\hat{\beta} X_i) \\
\end{align}

ロジスティック回帰以外には,Gradient Boosting Decision Treeなど,機械学習手法なども用いることができる。

3.2 傾向スコアを利用した効果の推定

前節では傾向スコアの説明をしていたが,本節では傾向スコアを用いた効果の推定方法について説明している。

傾向スコアマッチング

傾向スコアマッチングは,介入が行われているグループからサンプルを取り出し,そのサンプルと近い傾向スコアを持つサンプルを,介入が行われていないグループからマッチングしてペアを作り,そのペアについて目的変数の差を算出し,平均したものを効果の推定値とする,という方法である。

このマッチングは,母集団における以下のような効果を測定していることになる。


 \begin{align}
\hat{\tau}_{match} = E\{ E[Y \lvert P(X), Z=1]  -  E[Y \lvert P(X), Z=0 ] \lvert Z=1 \} \\
\end{align}

これは,介入を受けたサンプルにおける介入効果の期待値で,ATT(Average Treatment effect on Treated)と呼ばれる。

傾向スコアマッチングは,アイディアはシンプルではあるものの,計算時間が長くなる傾向がある。

逆確率重み付き推定

逆確率重み付き推定(Inverse Probability Weighting : IPW)は,傾向スコアをサンプルの重みとして利用し,与えられたデータ全体での

  • 介入を受けた場合の結果の期待値( E[ Y^{(1)}])
  • 介入を受けなかった場合の結果の期待値( E[ Y^{(0)}])

を推定し,その後これらの期待値の差分を取ることで効果を推定する。

IPWのイメージ


介入が行われた( Z=1)サンプル群について,たとえば傾向スコアが P(X)=0.7だったとする。このとき,70%は Z=1として観測され,残りの30%は Z=0として観測されていることになる。しかし実際には,あるサンプルについて Z=1 Z=0が同時に達成できないため,介入が行われた群( Z=1)における目的変数 Y^{(1)}にはバイアスがかかることになる。

そこでIPWでは,傾向スコア(=確率)の逆数によって,サンプルサイズを水増しする。これにより,バイアスを低減する。

逆数によって重みを付けて本来の期待値に近づける


IPWによる重み付き平均値は以下のようになる。


 \begin{align}
&\bar{Y}^{(1)} = \frac{\sum_{i=1}^N \frac{Z_i Y_i}{\hat{P}(X_i)} }{\sum_{i=1}^N \frac{Z_i}{\hat{P}(X_i)} } , \quad 
\bar{Y}^{(0)} = \frac{\sum_{i=1}^N \frac{(1-Z_i) Y_i}{1- \hat{P}(X_i)} }{\sum_{i=1}^N \frac{(1 - Z_i)}{1- \hat{P}(X_i)} } \\ \\
&\hat{\tau}_{IPW} = \bar{Y}^{(1)} - \bar{Y}^{(0)} \\
\end{align}


IPWでは,先に E[Y^{(0)}] E[Y^{(1)}]を推定している。そしてその推定結果の差分を取って効果を推定しているので,データ全体での平均的な効果を推定していることになり,これはATE (Average Treatment Effect)の推定を行なっていることになる。

まとめと感想

今回は,「第3章 傾向スコアを用いた分析」における,傾向スコアについてまとめた。

効果検証においては,バイアスの影響を低減するために,共変量を揃えて介入の効果を比較する必要があるが,共変量を揃える手段である傾向スコアは,複数の共変量をまとめて扱うことができるので,便利であると感じた。またIPWの考え方は,図を見るとわかりやすく,理解することができた。

傾向スコアについては,以下の過去記事でも調べたことがあったので,改めて見返してみたい。
stern-bow.hatenablog.com


本記事を最後まで読んでくださり,どうもありがとうございました。