case-kの備忘録

日々の備忘録です。データ分析とか基盤系に興味あります。

書籍メモ:効果検証入門 4章 差分の差分法(DID)とCausallmpact

効果検証入門 4章 差分の差分法(DID)とCausallmpactの備忘録となります。

DIDとは

DIDを使いたい時

介入を行ったグループのデータは取得できるけど、非介入グループとなるデータが得られない場合に有効な方法です。このような場合、他の地域のデータを非介入グループとして扱うことを考えます。しかし、セレクションバイアスは地域軸や時間軸でも発生します。前後比較と呼ばれる同じ店舗で介入前後の比較をしたとしても、平行トレンドの影響を受けるためセレクションバイアスが発生します。もしこの比較で介入後に売上が有意に変化するような結果が得られたとしても、価格変更をしなくても同じ結果が得られたのであれば、この売上の変化は価格によるものではなく他の要因で自然に変わるということになります。

DID (Difference in Difference)

差分の差分方法は介入が行なわれた地域における介入前後のデータに加え、他の地域の介入前後のデータを利用することで上記の問題点をのり超える方法となります。DIDは介入前後の差分を介入されたグループとされなかったグループで、それぞれ算出して、さらにグループ間でその差をとるような方法です。まず介入を受けたグループと受けなかったグループで前後比較を行います。このままだとグループ間のセレクションバイアス(地域など)があるため、グループ間の結果の差分をみることで地域間のバイアスを取り除きます。次の図は地域間のコレラの水源による介入効果を調べた例です。水源による介入効果の違いを調べています。

事例
コレラの原因が汚染水であることを仮説とします。2箇所(AとB)の水源での効果を比較しています。AはBと同じ水源を使ってましたが、1849年よりより上流の水源を使っていました。一方Bは同じ水源を使っていました。そ介入のあるグループ(A )と介入のないグループ(B)で前後比較を行い、グルーブ間の結果の差分を確認します。平行トレンドが整理するならば、介入効果は(2) + (3)となります。

f:id:casekblog:20200509190349j:plain

上記の図は死者数で見ていますが、地域間によって人口は異なるので比率で行う方が適切です。なので増減率の差分から効果を見ます。そうすると介入効果によって42%ほどコレラの死者数が減少したことが確認できます。
f:id:casekblog:20200509191616p:plain

ただし、この事例ではサンプルサイズが少なくて統計的に有意だと説明することはできません。実際に介入効果を評価するには十分なサンプル数が必要となります。

平行トレンド過程

先ほどのコレナの分析方法はもし、水源を変更しなかったらAとBの水源で、同様に死者が増加するといった仮定を分析者がおいています。このような仮定を平行トレンド仮定といいます。
f:id:casekblog:20200509194757p:plain
これは上の分析結果が成立する前提となる重要な仮定です。この仮定が成り立たないのであれば上記の過程は成立しません。しかし、この過程は実際には観測されないデータです。なので過去のデータからこの2つのグループで平行トレンドが成立しているか調べる必要があります。

トレンドが同一ではない場合どうするのか?

トレンドが満たされない場合2つの対策をとることを考えます。

1. 仮定を満たさないデータを取り除くこと

これらの例のように地域ごとに得られているデータであれば、近隣の地域を選択するなど。ただ、地理的に似ていてもトレンドが解離している可能性があるため考慮する必要があります。
また、介入のタイミングより前のデータを使って、トレンドが同一になるようトレンドの類似サンプルを自動的に検出する合成コントロール(Synthetic Control)という方法も提案されています。

所感
傾向スコアとは異なるが、サンプリング時点でトレンドの類似度(傾き)をコサイン類似度やK平均法など何らかの方法でトレンドが類似するデータをサンプリングする必要があるように思う。例えば人口推移を考えると、新宿駅とその近辺でトレンドが似ているかと言われる違う気がする。新宿駅と人口推移が似ているところであればおそらく大阪駅の方が似てそう。

2. トレンドの乖離を説明するような変数をモデルに加えること

回帰モデルであれば、トレンドの乖離を説明するような変数を加えることで、バイアスの効果を抑えることが可能

DIDの欠点

DIDの欠点として次の2つが考えられます。

1. 介入が行なわれていないデータの取得ができない場合

マス配信で全ての地域に広告を配信した場合など

2. 分析者の仮説に依存している点

DIDの分析は平行トレンドが成立を前提にしています。

Causallmpact

DIDの欠点を補う手法です。これは優れたモデルをつくることで本来得ることができない未来のデータを予測することです。

f:id:casekblog:20200509221605p:plain

Causallmpactの問題点

優れた予測モデルを作れていることを前提にしているため、機械学習のスキルが必要となります。また、モデルを構築する際にリーク対象のデータ(介入後のデータ)は除外しないとダメ.

DIDのアイデアを用いた分析が使えない時

DIDやCausallmpactは効果を分析したい介入が他の介入と同時に導入される場合、その効果の分析ができません。
例えば、特定の広告キャンペーンの開始と同時に商品の値下げを行っているような場合など。

所感

DIDやCausallmpactなどは実験が限定的にしか行えないケースには有効に思う。自社サービスでメール施策の検証などであればシンプルに同じセグメントで介入前と介入後を比較して、傾向スコアや回帰モデルの説明力をみた方が良さそうです。また、介入が重なるケースは結構ありそうな気がしており、そのような場合においては両施策の介入効果は出せるにしても、施策一つ一つについての検証は難しいように思いました。