効果検証入門(2)
前回のつづき
4.差分の差分法(DID)
- DID(Deference in Deference)
- RCTではどうにもならない場合、ある時期に介入がありその影響を測りたい時など
- ある地域でのある介入の影響を測るときに、他の地域の介入前後のデータから介入の影響を測る
- 計算式見れば一目瞭然で、差分の差分をとることで効果τを算出している
- 介入前後の単純な比較では、他の外部要因については考慮していないため不十分といえる。
- 並行トレンド仮定
- 他地域(統制群)のデータをもとに、対照群の効果ATEを推定する。つまり同じような傾向で時を歩んでいる体
- しかし、実際に同じようなトレンドを歩んでいるかどうか判定は非常に難しい
- 明確なトレンドを確認できない
- 分析者の解釈に依存する部分ではある
- Synthetic Controlのような手法を用いてトレンドの阻害となるようなデータを省くことで、仮定を守る
- 禁煙キャンペーン施策効果推定において、他の地域のうち関連するようなことをしていない地域のみを採用など
- 共変量をいれてトレンド乖離を低減する
- 回帰分析
- 回帰分析に適用可能で、OVBの考え方同様に共変量をいれて並行トレンド仮定をがんばって維持することも有効な手段
- 先と同様に追加されたパラメータの推定値に関しては一切の興味はない
- 標準誤差
- 時系列データなので、自己相関が発生し、分散が極端に小さくなる可能性がある。
- 対象データの全期間を対象にして、クラスター標準誤差を使用し、パラメータ毎の標準誤差を算出す
- クラスター標準誤差は後でお勉強
- RCTではどうにもならない場合、ある時期に介入がありその影響を測りたい時など
- Causal Impact
- DIDの欠点
- 介入がないデータがないと不可能
- 並行トレンド仮定を維持するために分析者の腕がはいる
- アイディア
- 介入が行われたサンプルの介入が行われなかった場合の結果を算出
- 介入前のデータでトレンドを示す有用な変数を導く
- 当然、説明能力の高い変数を入れておく必要はある
- 介入前のデータでトレンドを示す有用な変数を導く
- 算出方法はMCMC
- 介入が行われたサンプルの介入が行われなかった場合の結果を算出
- https://tjo.hatenablog.com/entry/2014/09/19/190219
- https://ill-identified.hatenablog.com/entry/2019/10/09/120000
- DIDの欠点
- Synthetic Control(合成 コントロール)
- 介入が行われたサンプルの介入が行われなかった場合の結果を算出(同じ)
- 算出する方法として、統制群から他のデータを抽出して、重み付きの予測を行う
- 抽出方法は一意ではないので、いいように作ろうと思えば作れてしまう
- 介入が行われたサンプルの介入が行われなかった場合の結果を算出(同じ)
- DID は不完全な実験を補佐する
- A/Bテストは見え方によってはA/B2つの選択肢があるという新しい選択肢Cという結果を生みかねない
- この状況下では、RCTは不可能。しかしDIDなら平行トレンド仮定を満たす限り分析可能
- DIDでも無理な場合
- 一般的に施策の前後は介入が一つではない。よって1つの効果を測ることは実質的に不可能
- 在庫一掃セール、商品入れ替えetc…
- このように他の施策とのタイミングが重なることから生じるバイアスはActivity biasという
- 一般的に施策の前後は介入が一つではない。よって1つの効果を測ることは実質的に不可能
- A/Bテストは見え方によってはA/B2つの選択肢があるという新しい選択肢Cという結果を生みかねない
5.回帰不連続デザイン(RDD)
- ある特定のルールに沿って介入が実施される場合、介入と非介入データでは傾向が全くことなる
- 機械学習・統計的な手法により決定論的に介入することは近年特に多い
- ルール由来のselection biasが発生する
- 傾向スコアの観点だと介入アリは傾向スコアは常に1。介入ナシは0となる。つまりIPWも使えない
- こんなときはRDD(Regression Discontinuity Design)を使う
- 過去の訪問履歴historyが一定の閾値を超えたらメールする場合
- historyのように介入を決定する変数をrunning variable という
- 過去にhistoryを用いて介入が行われている場合は、DIDとかもちろん無理
- 介入の有無の閾値をcut offという
- cut off 周辺のデータは介入と非介入データでは類似したデータが集中していると仮定
- 両者のbiasが小さくするため
- 何も考えずに単純集計すると、selection biasが紛れ込む
- historyによって、そのbiasをControlする
- cut off 周辺のデータは介入と非介入データでは類似したデータが集中していると仮定
- historyのように介入を決定する変数をrunning variable という
- 線形回帰
- historyが目的変数であるメールの配信に線形の関係を持ち、効果にhistoryが影響しない場合
- 線形な関係でない場合はselection biasが発生していることになる(共変量不足によるOVB)
- historyが目的変数であるメールの配信に線形の関係を持ち、効果にhistoryが影響しない場合
- 非線形回帰
- 共変量としてp次のモデルを構築できる
- 実験
- historyで介入と非介入でどの程度効果があるか見る
- 異なるhistoryでも効果が一定かどうかで線形か判定できる
- 実際に検定する場合はcutoffでデータを分割する(穴だった..)
- historyで介入と非介入でどの程度効果があるか見る
- LATE:Local Average Treatment Effect
- 回帰分析における介入の効果は、非介入と介入が同一である場合にパラメータ決定に最も強力に作用する
- cutoffは類似したデータが集中するため1:1になりやすい
- よってcut off周辺の効果になりやすい
- RDDによる効果推定はLATEとなるため、Cutoff周辺のデータに依存することになる
- データ全体の効果を見る場合には、running variableによって介入効果が変化しない仮定を置く必要がある
- 仮定の妥当性証明は厳しいので、分析者の解釈に依存。
- ただし施策によっては、cut off周辺の効果でも全く問題ない場合もあるね
- データ全体の効果を見る場合には、running variableによって介入効果が変化しない仮定を置く必要がある
- Non-Parametric RDD
- 非線形回帰の一種
- cut off周辺のデータはbiasが小さいことを利用して、データを制限する
- ただし、データ数が少ないことに起因する誤差の拡大→Biasの発生は避けられないため、非線形回帰する
- データの幅はCVで決定する
- Continuity of Conditional Regression Functions
- RDDの重要な仮定として連続性の過程がある
- 介入・非介入の場合において説明変数Xが目的変数Yに対して連続であること。
- 連続でない場合は、別の介入があることになるので、共変量に入れて確認する
- RDDの重要な仮定として連続性の過程がある
- Non-manipulation
- 分析対象が自身の介入に関する状態を調整できないという問題
- 一定の購入額以上でクポーン配布施策中の場合、購入額閾値周辺のユーザは意図的に購入しようとする
- cut off周辺のユーザの分布が変化する
- 分布の変化を見ることで、ユーザ自らの意思で介入グループに入ったか否かを検定できる
- McCraryの検定など(python ない。。)
- 一定の購入額以上でクポーン配布施策中の場合、購入額閾値周辺のユーザは意図的に購入しようとする
- 分析対象が自身の介入に関する状態を調整できないという問題
因果推論をビジネスに活かすために
- より正しい情報が多くのビジネス上の価値をもたらすという条件
- 受注側のbias
- 施策受注側にとって良い結果となるように分析結果を持っていくこと
- 「なにか面白い関係を見つけてくれ」といった不明瞭な依頼
- 短期的に見たら契約維持などの効果がある。でも、ビジネス的には価値は皆無
- 良い結果のCherry picking
- 利用するユーザへ提供する立場から活用できる立場へ異動がベスト
- 複雑な事業構造と多彩な施策を持っていると難しい
- 結局、効果が現れづらくHIPPO(HIgh Paid Persons’s Opinion)のアイディアに依存しがちな環境
- 複雑な事業構造と多彩な施策を持っていると難しい
- 施策受注側にとって良い結果となるように分析結果を持っていくこと
- より正しい意思決定
- あるアイディアをもとした介入が期待通りの機能を果たしているかを調べることが目的
- 施策・介入の目的を明確にする
- KPIを明確にしないと、果てしないKPIを当たることになり意味ない。かつCherry picking される
- Overall Evaluation Criterion
- 介入に良い影響を及ぼすかを表す変数は一つに限定すべき。という議論
- 手法の仮定が満たされている状況づくり
- 因果推論は現実的に実験できない状況でも、ある仮定を踏むことで介入の効果を測るもの
- 必要な仮定を踏む
- 必要な共変量を用意する
- データがある環境
- 施策・介入に人的な意思が介入していることもあるからコミュニケーション大事
- 機械学習や統計モデルに基づく意思決定はコミュニケーションを減らすものだが、因果推論の知識を弁えた上で、因果推論できる状況を作り出す必要がある
- どのようなデータが加味されて介入の意思決定ルールが策定されているかに興味がある
- 介入の割り当て確率が同一であるサンプル間の比較はbiasが少ないという傾向スコアを用いた分析ができる
- 予測値に応じて介入確率が上がる設計にした場合(このほうが一般的に望ましい)、閾値付近における効果が測れるRDDを用いた分析ができる
- どのようなデータが加味されて介入の意思決定ルールが策定されているかに興味がある
- ITE(Individual Treatment Effect)
- 各個人の因果効果を測るもの
- RCTの観点から個人単位では厳しいが、研究が続いており、絶賛未完成分野
- 因果推論は現実的に実験できない状況でも、ある仮定を踏むことで介入の効果を測るもの
- 施策・介入の目的を明確にする
- あるアイディアをもとした介入が期待通りの機能を果たしているかを調べることが目的