効果検証入門(1)

読了いたしましたので、いつでも内容を思い出せるように、気持ちばかりのメモ。

正確性には一切の保証はないです。

1.セレクションバイアスとRCT

  • 何らかのActionn がKPI(Key performance indicator)に与えた影響を効果と呼ぶ。
    • Actionを計量経済的には介入とか処置とかいう
  • そのアクションの効果を測定することはすごくむずい。
    • 同時に、複数キャンペーンや潜在的な購入量の差など同時に発生している事象があるから(分野による)
  • 施策は全員に打つことは現実的に不可能であることから、、、
    • メールマーケティングにおいて、 施策打ったOR打たない と 買ったOR買ってない は独立している
      • 打たなくても買ってくれる ということを考慮する必要がある
      • 潜在的なグループの傾向差分をSelectionBiasという。
  • 実験では、観測したデータしか観測できない。ある対象に介入した場合、介入していない場合を観測できない
    • これを「因果推論の根本問題」という
  • 因果推論の根本問題を解決する手段として、介入の選択をランダムにする
    • RCT:Randomized Controlled Trial をすることで、Selection Biasを回避できる
    • メール配信の際に、潜在的に購入意欲のあるユーザに配信する。というのはbiasを発生させる
  • 効果の推定
    • Potential outcome framework:介入したY(1)と介入していないY(0)の差に介入の本来の効果があると考えること
      • Potential outcome:観測されない方の結果
      •  
    • 平均的な効果
      • ATE: Average Treatment Effect 
      • 効果の期待値(平均)差を使用する。Treatmentにおける効果
    • 介入の決まり方がSelection biasの有無を確定する
      •  上記のようにRCTしていない場合、施策と結果が独立していない場合はbiasがある
      • ATEをすることで、Selection biasによって過剰に見積もられた結果が返る
      • BIasは必ずしも+ではなく、ーにもなる。この場合、過少に見積もられる。
        • Ex. 薬投与量によって、数値が低くなった
      • Biasはサンプルサイズで解決する問題ではない
    • 統計的検定の利用
      • 母集団の推定としてt検定などを用いた誤差検定w/ 信頼区間
      • 正確にBiasを排除した上で、その結果の正確性を担保するものにすぎない。正確でないものは正確ならない
    • RCTの実践の難しさ
      • RCTの実行コストはある。短期的な売上の減少。手間。
      • 選択的に安値を提供することは炎上につながる
      • こういった事象を回避すべく、次章以降を実施する
    • PDCAサイクル
      • PDCAサイクルに分析結果は組み込まれるが、一度Bias込みの結果を投入すると、KPI目標達成は難しい
      • Biasがあるので、KPI改善にむけたコストが見合わないもの担ってしまう

2.介入効果を測る

  • 回帰分析
    • 線形の単回帰や重回帰分析
    • OLS;最小二乗法によるoptimize
  • 効果分析のために回帰分析
    • Y:被説明変数(購入額)、Z:介入変数(メール配信有無・2値)、X:共変量(最近の購入履歴、男女,etc.. 複数取れる)
      • Y=b1X+b2Zのようになる
    • Y=b1X+b2X^2+b3Zみたいに二乗項をつくることはできるが、そこは知識ベースで編成
      • Xが複利のような考え方なら二乗項を作るなど。。。
    • Zは2値なので、Y=b1X+b2X^2+b3Zにおいては実質介入効果はb3Zでb3だけ平均値を上げているという味方になる
    • Xの係数にも非常に興味がわくが、分析では焦点を絞ってb3に注目する
    • 共変量Xは実験のselection biasを示すものであり、回帰分析をするとb3はXを加えることで正確な値へと近づく
  • 脱落変数bias: Omitted variable bias
    • biasを減らすために必要な共変量Xが抜けてる場合、その変数を脱落変数とよぶ。抜けた場合の推定結果にOVBを加えることで正確な効果が推定される
    • OVBを考慮すると、興味のあるパラメータ以外の結果を使用して共変量を決めることは、結果的に正しい推定人なりえない可能性がある(式略。p53)
    •  2.2.4再読
  • Conditional Independence Assumption(CIA)
    • 共変量の選択において、理想はOVBがすべて0になること。
    • 理想に近づくために、モデルに含めた共変量をつけた際(←条件つけた)にY(1)とY(0)が独立していると仮定する
      • つまり、共変量が等しいサンプルにおいて、介入Zはランダムに振り分けられていると仮定する
  • 変数選択とモデル評価
    • 共変量は施策を表現できるような変数とし、関数設計する。
    • これがCIAを満たしていると仮定するには問題がある。手持ちのデータのbiasを考慮し、制御するか判断する(応用的な手法はある) 
      • Selection Biasは現実的に評価できない
        • 評価できないものは評価できないので、変数選択と組合せでいかに決定できるかを調査・仮定しておく
      • 必要な共変量がデータにない
        • 必要な共変量があった場合にも、確実にbiasをとることは不可能である可能せがある
          • 実際に定義ができないetc…
        • また存在しない場合はbiasの影響を考慮して効果推定は不可能(当然)
    • sensitivity Analysis
      • 回帰分析はbiasを起こす変数をモデル共変量として組み込むことでbiasの軽減を図る
        • しかし、変数を持たない場合、意味はない。
      • sensitivity Analysisは手持ちにない変数がbiasを起こしているか評価する
        • 重要な共変量と推定される変数を除外し、Yの変動を調査する。
          • 小さい変動は回帰分析の結果が他の変数による影響を受けにくい→仮に手持ちにない変数を含めたとしても大きく影響はしない
          • 変数選択として、有効な選定手段
  • Post treatment bias
    • 処置後変数bias。介入Zによって影響を受けた変数を共変量として入れてしまうことにによるbias
      • メール配信におけるサイト訪問有無など 、Zの結果で変化する変数が該当
      • OVBが0でない変数を闇雲に入れてはいけない
    • 発生しうる状況として変数選択だけでない
      • 例えば、広告クリックログから自社サイト誘引ユーザを決める場合など、そもそも誘引されているようなユーザに誘引することになる
      • このような場合を回避するには、クリック以外にも広告表示ユーザの情報が必要となる
  • 回帰分析を利用した探索的な効果検証
    • コロンビアの学費割引券を例に取ったもの
    • pp67-83で解説
      • 闇雲に一気に入れて分析するのではなく、順々にプロセスを踏んで、仮説検証⇔データ取得と変数設定+事前知識の適用を行うことで結論へと導く
  • 回帰分析に係るいろいろ
    • 「予測性能が良くないモデルは効果がない」というのは、十分な説明ではない
      • 「データに対する説明能力や未知のデータに関する予知能力向上が、効果検証に有効である」と言い切るには不十分であるため
      • ただし、予測問題におけるプロセスは有効である可能性がある
    • 制限被説明変数
      • 0〜1までしか目的変数が取り柄ない変数をいう。(無理やり)回帰をしている
      • 仮に介入変数が線形で目的変数と非線形な関係であると、効果検証の妥当性は失われる
    • 対数変換
      • 対数変換とすることで、スケールの調整ができる
      • 差分ベースではなく、比率ベースで見る場合には対数変換を使用する
        • 目的Yを対数:それぞれYに対して何%影響あるか
        • 説明Xを対数:推定されたパラメータXは1%変化した時にYにどの程度影響しているか
        • 対数差≒割合
    • 多重共線性
      • モデル中の変数同士が強い相関関係を持つこと。推定の結果に影響を及ぼしかねない
      • 効果検証において、介入変数と必要な共変量しか見ないことを前提にしているため、介入変数に多重共線性がない場合には、意識する必要はない
    • パラメータ計算(一度消失・書き直したので少し雑)
      • 重回帰分析におけるパラメータbeta(i)の計算
        • eps: Z(i)を他の目的変数X(i,j)で回帰させた際の残差
        • beta(i) = 共分散Cov(eps, Y)/ 分散Var(eps)
      • 式展開すると介入:非介入=1:1であるデータが最もパラメータ決定に作用する
        • どちらかに偏りのあるデータは影響しづらいということ
        • RCTのデータの場合は介入と非介入のデータでは、どのXでも割合の期待値は1:1となる。よってATEの推定ができるということになる。
      • 介入効果がサンプルの特徴によって左右されることを意味する
        • RCTの結果≠回帰結果となる。比較できそうなサンプルに限定していることに原因がある
        • 逆にサンプルをまたいでも効果に影響が少ない場合は、上式は等しくなる

3.傾向スコア計算

  • RCT/CIAでは、共変量の一致を見てランダムを決定している
    • 実験において、共変量が同じような場合がある(全員がん患者など)
      • 傾向スコアは共変量から傾向スコアを算出し、傾向スコアが同一の中でランダム化している
    • LaLondeデータセット分析
  • 傾向スコアの算出はロジスティク回帰やGBDTなど色々ある
    • 算出スコアが直感に即しているかなどの解釈は、効果検証の保証にならない
    • スコアによって推定されたモデルについても解釈は同様の理由で不要
  • 傾向スコアマッチング
    • Z(1)から1つだして、傾向スコアが同じものをZ(0)から出す。傾向スコアごとにグループが形成されるので、グループごとに差を算出し、群の重み付き平均をとる
      • 傾向スコアが一致することは難しいため、一番近い値となる
      • 傾向スコアは介入とは独立した関係にであるため、biasの影響を受けない !(なるべく小さくできる)
      • 傾向スコアが同じもの同士を比較することで介入の効果を測る
      • 介入の影響を受けたサンプルの介入効果の期待値ATT:Average Treatment effect on Treatedが推定される
      • Z(0)で選択されなかったものは破棄されるので、実質Z=1のサンプルにおける平均的な効果
  • 逆確率重み付き推定IPW
    • Yが1/0は一方のみ観測される。また一方が観測されたとしても介入によっては均等に傾向スコアが割り振られない
    • そこで、各Yで傾向スコアの分布から期待値を推定し推定値の差分をとる。
      • 傾向スコアに属す確率に応じて重みを変える(逆数)
      • 図参照
    • 仮にRCTしてたら・・という分析であり、ATEを推定していることになる。
      • 得られる効果は全てのデータで平均的な効果である
        • Z=1となるようなデータの効果が、全てのデータにおける効果と同一になることがマッチングとの一致条件
  • よりよい傾向スコアとは?
    • 傾向スコアのマッチングを実施後のデータの共変量のバランスが取れているかどうかが重要らしい
      • 以前はAU-ROCのようにデータに対して一定の基準を満たしている必要があったらしい
    • 共変量のバランスとは、共変量の平均が近いかどうかを見ている
      • 平均差を標準誤差で割ったASAM:Average Standard Absolute Mean distanceで評価して比較可能にする
    • ASAMで共変量の差が小さいような方法を採用すべきであるという使い方をする、
  • 回帰分析とマッチングとのの差
    • 回帰分析
      • 目的変数Yと共変量Xについて入念なモデリングが必要。
        • ミスったらOVBが発生する。逆にミスらなければ標準誤差を小さくできる保証がつく
      • OVBでbiasの評価できる点やsensitive analysisなどが適用できる
    • 傾向スコア
      • すごく時間がかかるらしい
      • Yの情報が少ない場合、Zの決定方法について調査すれば解決できる
  • 機械学習を利用した効果推定
    • skipします

4.差分の差分法(DID)

  • DID(Deference in Deference)
    • RCTではどうにもならない場合、ある時期に介入がありその影響を測りたい時など
      • ある地域でのある介入の影響を測るときに、他の地域の介入前後のデータから介入の影響を測る
      • 計算式見れば一目瞭然で、差分の差分をとることで効果τを算出している
    • 介入前後の単純な比較では、他の外部要因については考慮していないため不十分といえる。
    • 並行トレンド仮定
      • 他地域(統制群)のデータをもとに、対照群の効果ATEを推定する。つまり同じような傾向で時を歩んでいる体
      • しかし、実際に同じようなトレンドを歩んでいるかどうか判定は非常に難しい
        • 明確なトレンドを確認できない
        • 分析者の解釈に依存する部分ではある
      • Synthetic Controlのような手法を用いてトレンドの阻害となるようなデータを省くことで、仮定を守る
        • 禁煙キャンペーン施策効果推定において、他の地域のうち関連するようなことをしていない地域のみを採用など
      • 共変量をいれてトレンド乖離を低減する
    • 回帰分析
      • 回帰分析に適用可能で、OVBの考え方同様に共変量をいれて並行トレンド仮定をがんばって維持することも有効な手段
      • 先と同様に追加されたパラメータの推定値に関しては一切の興味はない
    • 標準誤差
      • 時系列データなので、自己相関が発生し、分散が極端に小さくなる可能性がある。
      • 対象データの全期間を対象にして、クラスター標準誤差を使用し、パラメータ毎の標準誤差を算出す
        • クラスター標準誤差は後でお勉強
  • Causal Impact
  • Synthetic Control(合成 コントロール)
    • 介入が行われたサンプルの介入が行われなかった場合の結果を算出(同じ)
      • 算出する方法として、統制群から他のデータを抽出して、重み付きの予測を行う
      • 抽出方法は一意ではないので、いいように作ろうと思えば作れてしまう
  • DID は不完全な実験を補佐する
    • A/Bテストは見え方によってはA/B2つの選択肢があるという新しい選択肢Cという結果を生みかねない
      • この状況下では、RCTは不可能。しかしDIDなら平行トレンド仮定を満たす限り分析可能
    • DIDでも無理な場合
      • 一般的に施策の前後は介入が一つではない。よって1つの効果を測ることは実質的に不可能
        • 在庫一掃セール、商品入れ替えetc…
      • このように他の施策とのタイミングが重なることから生じるバイアスはActivity biasという

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する
  • 線形回帰
    • historyが目的変数であるメールの配信に線形の関係を持ち、効果にhistoryが影響しない場合
      • 線形な関係でない場合はselection biasが発生していることになる(共変量不足によるOVB)
  • 非線形回帰
    • 共変量としてp次のモデルを構築できる
  • 実験
    • historyで介入と非介入でどの程度効果があるか見る
      • 異なるhistoryでも効果が一定かどうかで線形か判定できる
    • 実際に検定する場合はcutoffでデータを分割する(穴だった..)
  • LATE:Local Average Treatment Effect
    • 回帰分析における介入の効果は、非介入と介入が同一である場合にパラメータ決定に最も強力に作用する
    • cutoffは類似したデータが集中するため1:1になりやすい
      • よってcut off周辺の効果になりやすい
    • RDDによる効果推定はLATEとなるため、Cutoff周辺のデータに依存することになる
      • データ全体の効果を見る場合には、running variableによって介入効果が変化しない仮定を置く必要がある
        • 仮定の妥当性証明は厳しいので、分析者の解釈に依存。
        • ただし施策によっては、cut off周辺の効果でも全く問題ない場合もあるね
  • Non-Parametric RDD
    • 非線形回帰の一種
    • cut off周辺のデータはbiasが小さいことを利用して、データを制限する
      • ただし、データ数が少ないことに起因する誤差の拡大→Biasの発生は避けられないため、非線形回帰する
    • データの幅はCVで決定する
  • Continuity of Conditional Regression Functions
    • RDDの重要な仮定として連続性の過程がある
      • 介入・非介入の場合において説明変数Xが目的変数Yに対して連続であること。
      • 連続でない場合は、別の介入があることになるので、共変量に入れて確認する
  • 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の観点から個人単位では厳しいが、研究が続いており、絶賛未完成分野