思考の本棚

機械学習のことや読んだ本の感想を整理するところ

【効果検証入門】が良かったのでまとめてみた②

前回に引き続き、効果検証入門の内容をまとめていこうと思います。本記事では2章の介入効果を測るための回帰分析について説明していきます。なお本記事ではRによる実装部分は割愛いたします。


はじめに

前回の記事では、効果検証を行う上で引き起こりやすいセレクションバイアスについての説明とその理想的な対応策であるRCT(無作為化比較実験)について説明しました。RCTは分析を行う上で、非常に都合の良い反面、ビジネスとしては大きなコストになってしまう可能性があります。

kutohonn.hatenablog.com

そこで本記事ではセレクションバイアスが存在している状態でもその影響を少なくすることのできる回帰分析について説明していきます。回帰分析は最も基本的なセレクションバイアスの削減方法です。


効果分析のための回帰分析

セレクションバイアスの入ったデータで効果検証を行う場合、何も対処せず分析を行うとセレクションバイアスを含んだ介入効果を導出することになってしまい、真の効果がわかりません。効果分析のための回帰分析では、データに存在するセレクションバイアスの影響をなるべく減らして\tau = E[Y(1) ] - E[Y(0) ] (介入の有無による期待値の差←真の効果値)の推定が行われます。効果分析のための回帰分析では以下の3種類の変数が登場します。

・被説明変数 Y: 介入による効果を確認したい変数
・介入変数 Z: 施策の有無を示すバイナリ変数
・共変量 X: セレクションバイアスを発生させていると分析者が想定する変数

X,Z統計学では説明変数、機械学習の分野では特徴量と呼ばれたりもします。効果を検証する際の回帰分析においては、説明変数が複数あることが一般的です。このように複数の種類の変数をモデルに含む回帰分析を重回帰分析と言います。今回はX,Zを説明変数とした重回帰分析について説明していきます。以下にX,Zを説明変数としたYに対する回帰式を示します。

E[Y|X, Z] = \beta_0 + \beta_1 X + \beta_2 Z

左辺はX,Zの場合のYの期待値(条件つき期待値)を示しています。これはX,Zが与えられたときにYがどのような値を取りうるかを表したもので、これが今回の回帰分析で対象となる回帰式です。なお回帰式の係数\beta_0, \beta_1,\beta_2は未知のため、後ほど説明する最小2乗法によってこれらのパラメータを推定する必要があります。

Y = E[Y|X, Z]+u = \beta_0 + \beta_1 X + \beta_2 Z+u

こちらは上記の式を少しだけ変形したものです。Yは実際のデータを示しており、uは実際のデータYと回帰式との間の誤差を示しています。
(図)回帰(図簡単のためX,Zは1次元にまとめ疑似的な単回帰で説明) f:id:kutohonn:20200409230910j:plain 上記で示した誤差は以下の式のように表すことができます。

u_i =Y_i - (\beta_0 + \beta_1 X_i + \beta_2 Z_i)

回帰式を求めるにはこの誤差を最小化するように計算をする必要があります。このとき使われるのが最小2乗法です。最小2乗法は誤差の2乗を最小にすることで、誤差がプラスの値であろうがマイナスの値であろうが関係なく全ての誤差の和が最小となるパラメータ\beta_0,\beta_1,\beta_2を求めることができます。

min_{\beta_0,\beta_1,\beta_2} \sum_{i=1}^N(Y_i-(\beta_0 + \beta_1 X_i + \beta_2 Z_i))^2


ここで本題である介入効果の分析において調べたいのは、介入した場合としなかった場合の期待値の差E[Y|X,Z=1 ] - E[Y|X,Z=0 ]です。それぞれの期待値は以下のように表せます。

E[Y|X,Z=1 ] =\beta_0 + \beta_1 X + \beta_2 1
E[Y|X,Z=0 ] =\beta_0 + \beta_1 X + \beta_2 0

介入の効果はこれらの差分であるので 

E[Y|X,Z=1 ] -E[Y|X,Z=0 ] = (\beta_0 + \beta_1 X + \beta_2 1) - (\beta_0 + \beta_1 X + \beta_2 0)=\beta_2

となります。これは回帰分析において介入の効果は\beta_2であることを示しています。つまり回帰分析では介入変数Zの係数のみが介入の効果を表すということになります。よって最小2乗法によって\hat{\beta_2}を求めれば、回帰分析によって介入の効果を推定することができます。仮に\hat{\beta_2}=0.4と導出された場合、介入したグループのYの平均は介入していないグループの平均より40%高いであろうということを意味しています。ただ求めた値はあくまで推定値であるため、それが偶然得られたものであるかどうかを有意差検定を用いて検証する必要もあります。なおプログラムでパラメータの推定を行うと今回の場合、\hat{\beta_0}, \hat{\beta_1}も同時に推定されますが、効果検証のための回帰分析で興味があるのはあくまで介入変数の係数だけであるため、それ以外の値に対して何らかの解釈を行うことはありません。


回帰分析におけるバイアス

上記で示したのはあくまで回帰分析による平均的な効果の比較になります。そのため得られた推定値はセレクションバイアスと実際の効果の和となります。回帰分析でセレクションバイアスが小さくなるような推定を行うためには、共変量を正しく選択する必要があります。セレクションバイアスが発生しているデータにおいて、新たな共変量を加えて回帰分析を行うことで、セレクションバイアスの影響がより少ない分析結果を得ることができます。


脱落変数バイアス(OVB)

ではセレクションバイアスの影響をより小さくするためにはどのような共変量をモデルに追加するべきか。結論から述べると「目的関数Yと介入関数Zに対して相関のある変数を与えるべき」ということになります。以下に2つのモデルを示します。

Y_i =\alpha_0 + \alpha_1 Z_i + u_i(モデルA)
Y_i =\alpha_0 + \alpha_1 Z_i + \beta_2 X_{omit,i\\} + e_i(モデルB)

この2つのモデルの差は共変量X_{omit,i}が追加されているか否かです。モデルBはセレクションバイアスの影響を軽減した結果が得られるとします。
このことからこの変数を加えたことによってモデルBのセレクションバイアスが軽減されたことが伺えます。このような本来は必要であるがモデルから抜け落ちている変数を脱落変数と呼びます。Xommit,iを無視したモデルAにおいて介入効果を示すパラメータ\alpha_1

\alpha_1 = \beta+\gamma_1\beta_2

となることが知られています。*1

上式に示すようにモデルAの介入効果\alpha_1はセレクションバイアスの影響を取り除けているモデルBの介入効果\beta_1に加えて、余分なバイアス\gamma_1\beta_2が存在していることが分かります。この\gamma_1\beta_2のように必要な共変量がモデルから抜け落ちていることによって起こるバイアスを脱落変数バイアス(Omitted Variable Bias: OVB)と言います。このモデルA,Bの比較は必要な共変量がモデルに含まれない場合には推定される効果にはOVBが含まれていることを示すとともに、一方ではそのような変数をモデルに加えることでOVBの影響を取り除くことが可能であるという回帰分析の基本的な仕組みを説明しています。
f:id:kutohonn:20200410180819j:plain なお詳細な説明は省きますが、OVBは介入量Zにも目的変数Yにも相関のある共変量が抜け落ちることによって生じます。このようなZ,Yの両方に関係のあるような変数のことを交絡因子といいます。目的変数Yとの相関が0でない変数は、Yを予測する上では含まれるべき重要な存在といえます。しかしながらその変数とZとの相関が0であるような場合はその変数を加えてもZの効果には変化がない、つまりはOVBの減少にはつながらないということになります。よってYZどちらに対してもある程度相関のある変数を加えることにより、バイアスの少ない効果推定を行うことができます。 f:id:kutohonn:20200410180837j:plain

Conditional Independence Assumption(CIA)

効果検証のための回帰分析における共変量の選択は、理想的にはOVBが0になるような状態を目指します。この状況を、CIA(Conditional Independence Assumption)といいます。直感的な解釈としては、共変量の値が同一のサンプルにおいて、介入量Zはランダムに割り振られているのに等しい状態というものです。
CIAは以下の式で表されます。

(Y_i^{(1)}, Y_i^{(0)}) \perp Z_i|X_i

回帰分析で推定した効果の値が本当に正しいのかを考える場合、CIAが満たされているかどうかを考える必要があります。


変数の選び方とモデルの評価

回帰分析において分析者は以下のような手順でモデルを作ることになります。

1.介入の割り当てがどのように決定されるのかを考える
2.想定される決定方法を表現できるような共変量を選択する
3.選択した共変量とYとの関係性を考慮してを決める

このとき推定された効果の妥当性を主張するには作ったモデルの共変量がCIAを満たしているかと考える必要があります。しかしこれを主張する上で2つの問題点があります。

①バイアスの評価ができないという問題
この場合、基本的に分析者がセレクションバイアスの発生原因、どの変数が有効かを仮定する必要があります。
②必要な共変量がデータにはないという問題
この場合、基本的には回帰分析ではセレクションバイアスの影響を取り除いて効果を推定するのは不可能になります。


Post Treatment Bias

介入によって影響を受けた変数を分析に入れることによって起こるバイアスのことをPost Treatment Biasと呼びます。Post Treatment Biasは、元々の介入自体がどのような方法で割り当てられていたとしても発生してしまう問題です。よって仮にRCTによって介入をランダムに選んだユーザに配信したとしても、介入によって影響を受けた変数を投入して作成されたモデルはPost Treatment Biasを含んだ状態となってしまいます。この問題を避けるためには介入よりも後のタイミングで値が決まるような変数を分析から除外する必要があります。


回帰分析に関する様々な議論

分析の現場では、しばしば目的変数に対する予測能力の低いモデルは効果の検証として利用価値がないといった議論が発生します。これは機械学習のような予測を目的として捉える分野においては重要な視点であり、また多くの場合モデルの予測能力の計測が直感的なモデルの評価になると考えられています。一方、今回のような回帰分析のプロセスでは、予測能力や手元のデータに対する説明能力は一切考慮しません。この理由は「モデルのデータに対する説明能力や未知のサンプルに対する予測能力を高めることが効果検証において有用であるという保証にはならない」という点にあります。
脱落変数バイアスの式に注目すると介入変数と目的関数に相関するような変数を含めればより正確なZに関する効果を得ることができる一方で単にYの予測を改善するような変数を追加してもその変数がZと相関がないようであれば効果の推定は改善しないということになります。このような事情からYに対する予測能力が一定以上なければ効果検証としてもモデルの価値がないという批判は、本質をついたものではないことが分かります。


おわりに

次回は3章の傾向スコアを用いた分析についてまとめたいと思います。

*1:OVBの詳細はこちら: www.amazon.co.jp