ひらめの日常

日常のメモをつらつらと

『効果検証入門』用語まとめ

はじめに

効果検証入門を読みました。「概念の説明→具体例での実践」が繰り返されることで、実際に使う様子がイメージしやすく、取り組みやすい本だなと思いました。少し誤植があって、そこで引っかかってしまったので、そこだけもったいないとは思いました(とても分かりやすかったので、次の版に期待...!)。

知らない単語や概念がたくさんあったので、用語集的にまとめ直しました。内容は本を読んだ方が分かりやすいと思うので、是非そちらをお読みください。

1章

セレクションバイアス

そもそも比較しているグループの潜在的な傾向が違うことによって発生するバイアスのこと。

例えば、クーポンを発行した効果を検証したいとする。クーポンを配信したグループと、配信されなかったグループに元々購買量の差があった場合、その差分が効果に上乗せされてしまう。

介入をどのようにして行うかが、セレクションバイアスの有無を決めることになる。

ポテンシャルアウトカムフレームワーク

まず Z_{i} を以下のように定義する。

{ \displaystyle
Z_{i}=\left\{\begin{array}{ll}
1 & \text { (介入が行われた場合) } \\
0 & \text { (介入が行われなかった場合) }
\end{array}\right.
}

売り上げである Y は次のように2種類が存在する。

{ \displaystyle
Y_{i}=\left\{\begin{array}{ll}
Y_{i}^{(1)} & \left(Z_{i}=1\right) \\
Y_{i}^{(0)} & \left(Z_{i}=0\right)
\end{array}\right.
}

上記の売り上げは、場合わけを取り除いて以下のように表現することもできる。

{ \displaystyle
Y_{i}=Y_{i}^{(0)}\left(1-Z_{i}\right)+Y_{i}^{(1)} Z_{i}
}

介入が行われた場合の結果 Y^{(1)} と、介入が行われなかった場合の Y^{(0)} があると考え、その差に介入の本当の効果があると考えることをポテンシャルアウトカムフレームワークと呼ぶ。

実際の実験では、Y^{(1)}Y^{(0)} のどちらかしか観測されないので、この差は計算ができない。観測されない側の結果をポテンシャルアウトカムと呼ぶ。

差が計算できないので、平均的な効果の差を計算する。この平均的な効果を、平均処置効果(ATE) と呼ぶ。

{ \displaystyle
\tau=E[Y^{(1)}] - E[Y^{(0)}]
}

t検定のプロセス

有意差検定におけるt検定のプロセスをここでおさらいする

標準誤差の算出

グループ間の平均の差が、母集団におけるグループ間の期待値の差からどの程度ずれているのかを示す。 グループ間の差の分散を以下で計算し、

{ \displaystyle
V=\frac{\sum_{i=1}^{n}(Y_{i}^{(0)} - \bar{Y^{(0)}})^2 + \sum_{i=1}^{m}(Y_{i}^{(1)} - \bar{Y^{(1)}})^2}{n+m-2}
}

その分散を用いて標準誤差を計算する。

{ \displaystyle
SE=\sqrt{\frac{V}{m} + \frac{V}{n}}
}

効果の推定値と標準誤差を使ってt値を算出

グループ間の平均の差が、標準誤差の何倍であるかを算出する。

{ \displaystyle
t = \frac{\bar{Y^{(1)}} - \bar{Y^{(0)}}}{SE}
}

t値を使ってp値を算出

p値は得られた推定結果がたまたま得られてしまう確率を表す。

p値を有意水準と比較する

p値が有意水準よりも低い場合は、推定結果がたまたま得られてしまった可能性は十分に低いと判断し、統計的に優位な値であると評価する。

2章

共変量

共変量は、介入・施策の有無で傾向が異なっていると想定される変数。セレクションバイアスを発生させていると分析者が想定している変数でもある。共変量と介入変数を合わせて、説明変数と呼ばれる。

回帰分析では、共変量で条件づけた被説明変数の条件付き期待値を推定する。

脱落変数バイアス

二つの回帰分析モデルAとBを考える。

{ \displaystyle
\begin{aligned}
Y_{i}&=\alpha_{0} + \alpha_{1}Z_{i} + u_{i} &\text{モデルA}\\
Y_{i}&=\beta_{0} + \beta_{1}Z_{i} + \beta_{2}X_{omit, i} + e_{i} &\text{モデルB}
\end{aligned}
}

この二つのモデルの差は、共変量 X_{omit, i} が追加されているか否かにある。\alpha_{1}, \beta_{1} はそれぞれ介入変数 Z_{i} にかかるパラメータ。介入変数の効果が、この2つのモデル間でどのような差を生じているかを考える。

モデルAの誤差項 u_{i} のなかに、\beta_{2}X_{omit, i} とモデルBの誤差項 e_{i} が含まれていることになる。

{ \displaystyle
u_{i} = \beta_{2}X_{omit, i}+e_{i}
}

モデルBはセレクションバイアスの影響がより小さい分析結果を得られるため、X_{omit,i} は必要な共変量。
このように、本来必要だがモデルから抜け落ちている変数を 脱落変数 と呼ぶ。

このとき、X_{omit, i} を無視した時のパラメータ \alpha_{1} は、以下のようになることが知られている。(TODO: 導出する)

{ \displaystyle
\alpha_{1} = \beta_{1} + \gamma_{1}\beta_{2}
}

つまり、\alpha_{1} は、本来推定されるはずの \beta_{1} に何らかの値を付け加えたものとなる。この \gamma_{1}\beta_{2}脱落変数バイアス (Omitted Variable Bias : OVB) と呼ぶ。

このように、

  • 必要な共変量がモデルに含まれない場合は、推定される結果に OVB が含まれる。
  • 必要な共変量をモデルに加えることで、回帰分析では OVB の影響を取り除くことが可能。

ということがわかる。

{ \displaystyle
\alpha_{1} = \beta_{1} + \gamma_{1}\beta_{2}
}

この式に戻って、\gamma_{1}\beta_{2} の意味について考える。

  • \gamma_{1} は、X_{omit, i} に対して Z_{i} を回帰させた時に得られる回帰係数であり、Z_{i}X_{omit, i} の相関と捉えることができる。
  • \beta_{2} はモデルBにおいて推定される X_{omit, i}Y_{i} の相関に当たるもの。

よって \gamma_{1}\beta_{2} は、省略された共変量 X_{omit, i}Y_{i} に対して与える影響が、X_{omit, i}Z_{i} との相関を通して Z の効果として現れているように見えているということになる。

f:id:thescript1210:20210519104750p:plain:w500
イメージ図

OVB は、統計的に有意でない共変量をモデルから除外しても発生する可能性がある。なので、興味あるパラメータ以外の有意差検定の結果を考慮して共変量を選択することは避けた方が良い。

またこれを逆に考えると、介入変数 Z の決定に何らかの関連を持っていて、さらに目的変数 Y との相関もあるような変数を新たにモデルに加えると、バイアスを減らすことができる。

Conditional Independence Assumption

モデルに含めた共変量で条件づけた時に、介入変数が Y^{(1)}Y^{(0)} とは独立になることを、CIA (Conditional Independence Assumption) と呼ぶ。

共変量の値が同じサンプルにおいては、介入 Z はランダムに割り振られているの等しい状態。

Sensitivity Analysis

手持ちのデータには含まれない変数が、セレクションバイアスを起こしているか評価するための方法が Sensitivity Analysis

分析者が重要だと認識している共変量以外の共変量をモデルから抜くことで、効果の推定値が大きく変動しないかを確認する。

Post Treatment Bias

介入によって影響を受けた変数を分析に入れることによって生じるバイアスのことを、Post Treatment Bias と呼ぶ。

これを避けるために、介入よりも後のタイミングで値が決まるような変数は、分析から除外する必要がある。

多重共線性

回帰モデルに含まれている変数のうち、2つが強い相関を持つ状況ことを 多重共線性 と呼ぶ。

回帰分析で得られる推定値の分散の式は次のようになる。(TODO: 導出する)

{ \displaystyle
\bar{x}_{k} = \frac{1}{N}\sum^{N}_{i=1}x_{k,i} \\
Var(\hat{\beta}_{k}) = \frac{\sigma^{2}}{(1-R_{k})\sum^{N}_{i=1}(x_{k, i} - \bar{x}_{k})^{2}}
}

R_{k} は変数 k と多重共線性を起こしていると考えられる変数の相関をを表した値。つまり、相関が強いと分子が0に近づき、推定値の分散が非常に大きくなってしまう。

しかし、多重共線性は関連の強い変数以外の変数には特に影響を与えていないため、介入変数以外の変数においては仮に起きていたとしても問題にはならない。

3章

傾向スコア

傾向スコア とは、各サンプルにおいて介入が行われる確率のこと。傾向スコアを用いた分析は、介入が行われた仕組みに注目し、介入グループと非介入グループのデータの性質を近くするする操作を行う。

CIA のように共変量で条件づけるのではなく、共変量から算出した介入の割り振り確率で条件づけ たサンプルの中で、介入の割り振りが独立だと考える。つまり、傾向スコアが同一のユーザーの中ではランダムに介入が決められているに等しいと考える。

割り当て結果 Z を用いて、傾向スコア P(X) を推定できる。多くの場合はロジスティック回帰が用いられる。具体的な回帰式は以下の通り。

{ \displaystyle
Z_{i} = \sigma(\beta X_{i}+u_{i}) \\
\sigma(x) = \frac{1}{(1+e^{-x})} \\
\hat{P}(X_{i}) = \hat{Z}_{i} = \sigma(\hat{\beta}X_{i})
}

u は誤差項であり、 \beta は推定されるパラメータ。

傾向スコアマッチング

傾向スコアマッチング では、介入が行われているグループと傾向スコアが近いサンプルを、介入が行われていないグループからマッチングしてペアにする。そしてそのペアの中で目的変数の差を算出し、平均をとったものを効果の推定値とする。つまり、介入が行われているサンプルにのみ注目して、そのサンプルと傾向スコアが近いものとの差をとって平均をとるので、母集団における以下のような効果を推定しているということになる。

{ \displaystyle
\hat{\tau}_{match} = E\{E[Y|P(X),Z=1] - E[Y|P(X), Z=0]|Z=1\}
}

これを、ATT (Average Treatment effect on Treated) と呼ぶ。

逆確率重み付き推定

逆確率重み付き推定 (Inveres Probability Weighting: IPW) は傾向スコアをサンプルの重みとして利用する。与えられたデータ全体での介入を受けた場合の結果の期待値 E[Y^{(1)}] と、介入を受けなかった場合の結果の期待値 E[Y^{(0)}] を推定する。そしてこれらの期待値の差分を取ることで効果を推定する。

Z=1 となったサンプルはデータセット全体の中で P(X) が高い値のサンプルばかりとなり、Z=0 となったサンプルはその逆になる。よって、Z=1 となったサンプルで E[Y^{(1)}] を推定するために Y^{(1)} の平均を計算すると、\hat{P}(X_{i}) が小さいサンプルはデータとしてほとんど含まれないということになってしまう。

f:id:thescript1210:20210522165121p:plain:w500
イメージ図

欠損しているところは、P(X) が低いので、その分観測されていない。そこで IPW では、P(X) が低いところに大きな重みをつけて「重み付きの平均」を取ることで、この偏りを解消する。

{ \displaystyle
\bar{Y}^{(1)} = \sum_{i=1}^{N} \frac{Z_{i}Y_{i}}{\hat{P}(X_{i})} / \sum_{i=1}^{N} \frac{Z_{i}}{\hat{P}(X_{i})}
}

平均をとる際に確率の逆数を重みにしている。これにより、サンプルが含まれない分重みを増していることになる。

逆に Y^{(0)} は、確率 1-\hat{P}(X) の逆数を重みに利用する。

{ \displaystyle
\bar{Y}^{(0)} = \sum_{i=1}^{N} \frac{Z_{i}Y_{i}}{1 - \hat{P}(X_{i})} / \sum_{i=1}^{N} \frac{Z_{i}}{1 - \hat{P}(X_{i})}
}

4章

DID (差分の差分法)

回帰分析と傾向スコアは、介入グループと非介入グループの両方に同じような特徴を持つサンプルが含まれている状況を利用して比較するという方法。

しかし実際には同質なサンプルが存在しない時がある。そのような際に DID (Difference in Difference: 差分の差分法) を使うと、介入が行われた地域における介入の前後データに加えて、他の地域の介入の前後のデータを利用することで問題を解決するという方法。

方法としては大まかに以下の2ステップ。

  1. 介入前後の差分を介入されたグループと介入されなったグループでそれぞれ算出し、
  2. さらにグループ間でその差を取る。

DID における標準誤差

  • 自己相関 とは、ある時点で取得された変数の値がその近辺の時間で取得される同じ変数の値と相関するような状態。
  • クラスター標準誤差 とは、指定した観測対象ごとに誤差を観測していると考えて誤差項を扱う(TODO:詳細を調べる)。

平行トレンド仮定 (Common Trend Assumption)

介入グループと非介入グループの目的変数の時間を通した変化(これをトレンドと呼ぶ)が同一であるという仮定を、平行トレンド仮定 (Common Trend Assumption) と呼ぶ。DID の分析結果が正しいと考えるために必要な重要な仮定。

CausalImpact

DID の欠点は以下の2点。

  • 効果の影響を調べたい変数が複数の場所や時期で得られている必要がある。
  • どのデータを分析に用いるのかが分析者の仮説に依存している。

そこで、介入が発生した前の期間で、目的変数 Y をうまく予測できるモデルを作成し、それとの差分を取ろうというのが CausalImpact のアイデア。さらに、介入前のデータを利用してどの変数のデータが予測に役立つのか判別し、自動的に利用するデータを決定しつつモデルを学習してくれる。

なお、CausalImpact においても平行トレンド仮説は重要で、介入に影響を受ける変数は予測に用いると問題になる。

5章

回帰不連続デザイン

介入が確率的に定まると考えるのが傾向スコアを用いた手法だが、実際には「条件を満たす人全員に介入する」というような、介入の割り当てがルールによって行われている場合もある。このような場合には 回帰不連続デザイン (Regression Discontinuity Design: RDD) を用いることができる。

介入を決定する変数のことを running variable とよび、介入の有無の閾値のことを カットオフ と呼ぶ。

回帰不連続デザインでは、カットオフ付近のデータに注目することで効果を検証できる手法。カットオフ付近のデータは似たような値になっているので、同質なユーザが集まっていると考えられる。

running variable を共変量として線形回帰を行うと、バイアスがある程度取り除かれた効果が推定される。これはカットオフ付近のデータのみが効果として利用されており、Local Average Treatment Effect (LATE) と呼ばれている。

nonparametric RDD

介入を決定する変数と目的変数の関係が非線型の場合に使用できるのが nonparametric RDD。利用するデータを閾値の前後に限定することでセレクションバイアスを小さくするというアイデア

しかし、同時にデータを絞り過ぎると、集計に含まれるデータ量が少なくなることから、標準誤差は大きくなってしまう。

Continuity of Conditional Regression Functions

Continuity of Conditional Regression Functions とは、介入を受けた場合と受けなかった場合における条件付き期待値である E[Y^{(1)}|X] と E[Y^{(0)}|X] が X に対して連続であることを仮定していること。これは RDD で推定された効果が正しいと考えるために満たされるべき仮定。

例えば、介入したグループに対して他の施策も行っていた場合は、その他の施策も効果に含んでしまう。

non-manipulation

RDD においては、分析の対象が自身の介入に関するステータスを調整できないという non-manipulation という重要な仮説がある。例えば、介入される人が、一定の購入額を超えるとクーポンをもらえると知っている場合は、意図的に追加購入をしてしまうような状態だと、カットオフ付近でのデータの分布が大きく変化する。

LATE の妥当性

カットオフ近辺のみではなくデータ全体における平均的な効果と考えるためには、行われた介入の効果が running variable の値によっては変化しないという仮説を置く必要がある。

一方で、カットオフ付近の効果を知る方が価値がある場合は、LATE を得ることで閾値における効果を比較できるため、非常に重要。