因果推論の各手法について、どれをどのような場合に用いるべきなのかがわからなくなるので、交絡への対処方針という観点から自分なりに整理してみた。
交絡と因果推論
2つの変数間に因果関係を想定するとき、原因と結果の両方に影響を与える別の変数が存在する状態を交絡といい、そのような変数を交絡因子と呼ぶ。
交絡を取り除く最も有効な方法はセレクションバイアスのないランダム化比較試験(Randomized Controlled Trial、RCT、あるいはABテスト)を実施することであるが、現実にはセレクションバイアスのないデータを得ることが難しい場合がある。
因果推論と呼ばれる分野では、RCTが実施できない場合やありあわせのデータを分析する場合に交絡に対処して因果関係を見出すためのさまざまな手法が考案されてきた。
手法の種別とフローチャート
手法は大きく3パターンに分類できる。各手法の概要は後述する。
- 介入を実施したかのような状況のデータを活用する(回帰不連続デザイン・中断時系列デザイン)
- 交絡因子を特定してその効果を取り除く(層別解析・マッチング・傾向スコア・回帰分析)
- 介入前後で生じた交絡を取り除く(差分の差分・Causal Impact)
手法を選択する方針は次のようなフローチャートで表現できる。
1. 介入を実施したかのような状況のデータを活用する
セレクションバイアスのない介入を実施したかのような特殊な状況のデータが得られる場合にのみ使える手法である。2、3が想定する因果関係から交絡を取り除くのに対し、そもそも交絡が存在しないような因果関係を見つけて利用する。ただし、介入変数の変化に伴うトレンドは考慮しなければならない。
1.1 回帰不連続デザイン
ある値を境に介入の割り付けが変化しているとみなせる変数が存在する場合、その値の前後のデータを使って介入効果を推定できる。
たとえば1,000円以上購入したユーザに対して割引クーポンを発行するキャンペーンの効果を検証する場合、950-999円購入したユーザと1,000-1,499円購入したユーザを比較することが考えられる。
1.2 中断時系列デザイン
回帰不連続デザインの特殊な場合と考えてよい。ある時点を境に介入の割り付けが変化しているとみなせる変数が存在する場合、その前後のデータを使って介入効果を推定できる。通常の回帰不連続デザインにはない留意点として、時系列データには自己相関が存在しうることが挙げられる。
たとえば英会話教室の学費値上げが生徒数に及ぼした影響を検証したいなら、月による生徒数増減の傾向を考慮したうえで値上げ前後の生徒数を比較すればよい。
2.交絡因子を特定してその効果を取り除く
データにセレクションバイアスが存在しても、どの変数が交絡因子であるかがわかれば、以下の手法が交絡を取り除くのに有効である。
2.1 層別解析
交絡因子の値ごとにデータを分ける。交絡因子が連続変数の場合は、適当な範囲でカテゴリ変数にしておく。分けられた層ごとに相関係数の算出や回帰分析など各種解析を行う。
たとえば化粧品のインターネット広告の配信効果を検証したいとき、女性を中心に配信していれば、広告を配信された人のほうが化粧品を多く購入したとしても、女性の比率が高いことが理由かもしれない。そこで性別でデータを分けてから広告を配信された人のほうが多く購入したのかを検証する。
2.2 マッチング
介入群と対照群から交絡因子の値が近いデータを1つずつ選んでペアにすることを繰り返す。ペアリングが終了したら、ペアのうち介入群から選ばれたデータと対照群から選ばれたデータを比較して介入効果を検証する。
たとえば広告を配信された人とされなかった人で年齢構成が異なり、年齢によって広告への反応が異なると考えられるとき、年齢を5歳ごとの区分に分け、区分ごとに広告を配信された人とされなかった人が同数になるようにする。
2.3 傾向スコア
傾向スコアとは簡単にいうと介入が行われる確率である。交絡因子の存在が想定されるならば、交絡因子を説明変数として傾向スコアを算出できる。言い換えると、複数の交絡因子を1次元に圧縮した変数が傾向スコアである。
たとえば大学へ進学することによる収入の増加を検証したいとき、性別と住んでいる都道府県で大学へ進学するかどうかが十分に予測できるとする。このとき、性別と住んでいる都道府県から大学へ進学する確率である傾向スコアが求められる。
傾向スコアはマッチングと合わせて使われることが多い。交絡因子の代わりに傾向スコアでマッチングする。
2.4 回帰分析
介入変数および交絡因子を説明変数にした回帰モデルを作成する。モデルの係数から交絡因子の効果を取り除いた介入効果がわかる。
3. 介入前後で生じた交絡を取り除く
介入効果を検証したいグループすべてに対して介入が実施されている場合、2の手法は使えない。そこで介入前後での結果の変化で効果を測定することが考えられるが、たとえ変化が生じていたとしても、それだけでは介入以外の要因によって結果が変化した可能性を否定できない。このような介入前後で生じた交絡を取り除くために次の手法が考案されている。
3.1 差分の差分
介入効果を検証したいグループ(介入群)と別のグループを対照群とする。介入前後での介入群の結果の差から対照群の結果の差を引いて介入効果を求める。介入前後で生じた交絡が介入群でも対照群でも同じであることが前提になっている。これは平行トレンド仮定と呼ばれる。
関東地方全域で放送したアイスのテレビCMが売上に与えた効果を測定したいとする。関西地方ではテレビCMを放送しておらず、関西地方に対して平行トレンド仮定が成り立つならば、関西地方を対照群として差分の差分を適用できる。
3.2 Causal Impact
3.1において対照群のデータが準備できない場合にも使える手法である。介入前のデータだけで介入前の結果を予測するモデルを構築する。このモデルを介入後の対照群データに適用することで、対照群に介入が行われなかった場合の結果が推定できる。
3.1の例で関東と関西でアイスに対する嗜好が異なるとする。1日の平均気温からアイスの売上を予測できるならば、テレビCM放送前の関東地方における1日の平均気温とアイスの売上のデータを使ってCausal Impactを測定できる。
参考