appricot’s diary

日々の勉強のメモ

Causal Inference and Uplift Modeling / A review of the literature ==> 読後メモ

  • Paper
  • 概要
    • 定義
      • Y_i(1) = 顧客iに対する、介入ありの場合の効果
      • Y_i(0) = 顧客iに対する、介入なしの場合の効果
      • τ_i = Y_i(1) - Y_i(0) =  顧客iに対する介入効果
      • CATE = τ_i (X_i) = E[Y_i(1)|X_i] - E[Y_i(0)|X_i]
        • Conditional Averate Treatment Effect
      • Uplift Modeling = CATEを推定すること
      • Propensity Score = p(X_i) = P(W_i=1 |X_i)
        • RCTであれば、常に、1/2。
    • Uplift modeling手法 #1 ==> The Two-Model Approach
      • E[Y_i(1)|X_i] とE[Y_i(0)|X_i]を、別々にモデル化。
      • 様々な論文のBaselineとして利用されることも多い。
      • 筆者曰く、しばしば、他の手法のほうが結果がよかったり、弱めのUplift Signalを見落とす傾向があるとのこと。
    • Uplift modeling手法 #2 ==> The Class Transformation Method
      • 各ユーザiについて、以下4つのケースが考えられる。ここで新たな変数Z_iを定義。この変数は、(1), (4)のみを1とし、それ以外を0とする。
        • (1): 介入あり、効果あり
        • (2):介入あり、効果なし
        • (3):介入なし、効果あり
        • (4):介入なし、効果なし
      • τ_i(X_i) = 2 * P(Z_i = 1 | X_i) - 1となる。
        • この理由までは、追えず。
      • その上で、P(Z_i = 1 | X_i)をモデル化する。
    • Uplift modeling手法 #3 ==> Modeling Uplift Directly
      • τ_i(X_i) = p - q
        • p = 介入があった場合の効果の平均
        • q = 介入なしの場合の効果の平均
      • このτ_i(X_i) = p - qを、直接、モデル化する。
      • モデル化の一例として、決定木が利用できる。木の作り方は、以下の通り。
        • Gainの差分 = Split後のGain - Split前のGain
        • このGainの差分が大きくなるように、枝を分岐させていく。
        • Gain = 関数D(介入あり集団での効果の分布, 介入なし集団での効果の分布)
        • 関数Dは、確率分布間の距離を測り方。KL-Divergence等。
        • すなわち、介入あり集団と、介入なし集団の間の効果の差が大きくなるように、変数を選んで枝を分岐させていく。
          • 介入による効果の発生に敏感?な変数を選んで、枝分かれさせていく。
        • その上で、各葉ごとに、τを計算。
      • 決定木を学習する際に、Honestアプローチというものがある。
        • 訓練データをランダムに2分割。
        • 一方のデータで、木を作る(枝分かれを作る)
        • もう一方のデータで、葉毎のτの計算を行う。
  • Impression
    • The Class Transformation Methodのメリットが、いまいち理解できず。
    • 各手法の優劣であったり、どのような問題に向くのか、向かないのかを、もっと調べてみたい・・
    • Modeling Uplift Directlyの部分の説明は、個人的には、わかりやすく感じた。
    • Honest アプローチのご利益が気になった。過学習を防ぐのが目的か?