Causal Inference and Uplift Modeling A review of the literatureを読んで

# はじめに  

以下リンクの文献「Causal Inference and Uplift Modeling A review of　the　literature(Pierre Gutierrez, Jean-Yves G ́erardy)」（以下参考文献）に、因果推論とアップリフトモデリングについて簡単にまとまっているとのことなので、勉強のためにまとめてみました.  

https://proceedings.mlr.press/v67/gutierrez17a/gutierrez17a.pdf


# アップリフトモデリングとは

upliftとは何なのでしょうか？
参考文献内ではこんな具体例がありました.  

- 販促のためのEメールを様々な顧客属性に送ったとき、それが来期の電話プラン更改率に与える影響

日本語でupliftを表現するならば、施策・介入効果などといったところでしょうか.  

データサイエンスの分野ではuplift modelingという研究分野があり、参考文献によると、uplift modelingという領域は以下の2つの性質を持ちます.  


- 因果推論タスク
- 機械学習タスク  

以下は、それぞれについての簡単な解説です.  

はじめに、どうしてuplift modeling因果推論タスクの側面を持つのでしょうか？ 

参考文献によるとその理由は次のとおりですした.  

- 同時に観測できない結果の差を推定しなければならないから.  

言い換えると次のようになります.  

- 顧客iが販促メールを受け取った場合と受け取らなかった場合それぞれの結果はいずれか一方しか観測できない.  

一方で、uplift modelingが機械学習タスクの側面を持つ理由は参考文献によると次のとおりです.  

- 担当者は異なるモデルを訓練して、最も信用のおけるアップリフト予測を示すモデルを選択する必要があるから  

いずれもその通りだと思います.  




# 因果推論の基本　

参考文献ではRubin(1974)による因果推論モデルの根幹は、potential outcomes と casual effectsであると断ったのちに、因果推論モデルに関するいくつかの数式説明がなされます.  

因果推論の理解を深めるために私も流れを追ってみたいと思います.　

出だしは次の数式です.  

$$
\tau_{i} = Y_i(1) - Y_i(0)
$$

添え字$i$はN人の顧客を識別するために付されたインデックスなどと考えることができ、$Y_i(1)$は顧客iが介入を受けた場合の、$Y_i(0)$は介入を受けなかった場合のoutcomeを意味します.  ここで、$\tau_i$がcasual effect(因果効果)に相当します.  

次に、以下のような数式が現れます.  


$$
CATE: \tau(X_i) = E[Y_i(1)|X_i] - E[Y_i(0)|X_i]
$$

これは、Conditional Average Treatment Effectと呼ばれ、因果推論の研究者はCATEに関心を持っていることが多いとのことでした.  CATEはL次元の特徴量ベクトル$X_i$を持つ、母集団内の下位集団における因果効果の期待値です. 

ここで一度CATEから話を戻します.  


介入の有無を$W_i \in 0, 1$で表現すると、顧客iの観測されたoutcomeは以下の数式で表現されます.  

$$
Y_i^{obs} = W_{i}Y_i(1) - W_{i}Y_{i}(0)
$$

これは、確かにそうなるのでしょうが、$Y_i(1)$と$Y_i(0)$の実現値はいずれか一方しか観測できないとのことだったので、やや奇妙な表現にも見えます.  しかしながら、1個の数式で表現できると後続の議論が便利になるものと理解しました.  

$Y_i^{obs}$という概念を用いると、以下のような期待値計算の表現が可能です.  

$$
E[Y_i^{obs}|X_i = x, W_i = 1] - E[Y_i^{obs}|X_i = x, W_i = 0] \tag{4}
$$

これは何なのでしょうか. 私には何について期待値の差分をとっているのか理解が及びませんでした.　単に実現値の平均の差を計算しているということでしょうか.  参考文献によると、上述の計算で、どんな場合でもCATE(Conditional Average Treatment Effect)を推定できるというのは誤った考えだとされています.  実際に数式(4)がCATE(Conditional Average Treatment Effect)になるためには、以下の条件が必要です.  

$$
CIA: \\{Y_i(1), Y_i(0)\\}\bot W_i|X_i 
$$

参考文献によると、CIAとは、Conditional Independence Assumptionのことで、$X_i$で条件付けられたとき、介入割り当てがランダムであるという仮定(Assumption)となります. この数式が果たしてそういうことを表現しているのか、私には理解できないのですが、CIAがどんな仮定なのかについては理解できました.  
 

以上が、参考文献による因果推論モデルの基本ですが、uplift modelingの話に入る前に、propensity scoreについても触れられていました.  

propensity scoreは以下の数式で表現されることから分かる通り、$X_i$が与えられた場合に介入$W_i = 1$が起こる確率です.  

$$
p(X_i) = P(W_i=1|X_i)
$$

ちなみに、ここまでの話は、筆者が取り組んでいる書籍「効果検証入門」でも言及があったやに記憶しています.  

# Uplift Modeling  
参考文献では以下のような例え話が提示されます. 

- あなたはジムのオーナーで、ある特徴$X_i$を持つ顧客に販促のためのEメールを送ったときに、次の年度も引き続き会員を継続する確率に関心を持っている

これは言い換えるとCATE(Conditional Average Treatment Effect)の推定タスクです. 参考文献によると、企業は簡単なランダム化実験を実施することで、CIA(Conditional Independent Assumption)を担保することができますが、当然ながら真の因果効果$\tau_i$は観測することができないので、標準的な教師あり学習でそれを予測することは不可能です.  仮に$\tau_i$が観測できたならば、私たちはシンプルにデータを訓練データとテスト用データに分割し、訓練データにおける損失関数を最小化する$\hat{\tau}(X_i)$を導くアルゴリズムを、既存の利用可能なモデルの中から選定することができます. さらに、AUCやF1スコア, Accuracyといった指標を用いて、テストデータでモデルを評価できます.  

ここで現実に話を戻すと、Uplift Modeling関連の文献では、正解データとなる$\tau_i$が存在しないにも関わらず、$\tau_i$を推定するための手法が提唱されており、参考文献によると3つの主要なアプローチがあるそうです.  

- the Two-Model approach
- the Class Transformation approach
- modeling uplift directly  

1つ目の手法はTwo-Model Approachと呼ばれ、2つの予測モデルを作成します. 片方は介入群のデータを用い、もう片方は コントロール群のデータを用います.  

2つ目の手法はClass Variable Transformation(Jaskowski and Jaroszewicz (2012))と呼ばれ、outcomeがバイナリ値である場合のためのものです.  

3つ目の手法では、よく知られた機械学習の分類アルゴリズムの変形を通して、直接的にupliftをモデル化します. 具体的には、random forestやSVMです.  

以下ではこれらの3つの手法について参考文献の内容をまとめたいと思います.  

# The Two-Model Approach
このアプローチは、Radcliffe (2007), Nassif et al. (2013)などの論文にて応用?(been applied)され、ベースラインモデルとして頻繁に使われています.  

介入群のデータを用いて、$E[Y_i(1)|X_i]$を、コントロール群のデータを用いて$E[Y_i(0)|X_i]$をそれぞれ別々に予測するモデルを作成します.  

このアプローチの利点は単純なアプローチをとっている点であり、回帰、分類の別を問わず、Random ForestやXGBoostといった最先端の機械学習アルゴリズムを"そのまま"使用することができます.  

upliftを予測するという観点では、他の手法の方が優れていることを実証した人もいるようです. (Zaniewicz and Jaroszewicz (2013), Athey and Imbens (2015b))


# The Class Transformation Method
この手法はJaskowski and Jaroszewicz (2012)により紹介されました.  

前述のとおり、outcome が　binary
つまり

$Y_i^{obs}=\\{0, 1\\}$

の場合の手法です.  

このアプローチでは次のようなtarget varaibleを作ります.  

$$
Z_i = Y_i^{obs}W_i + (1 - Y_i^{obs})(1 - W_i)
$$

なので、この新たなターゲットZ_iは以下の場合に1となり、そうでない限り0となります.  

- 観測データが介入群に属し、かつ$Y_i^{obs}=1$
- 観測データがコントロール群に属し、かつ$Y_i^{obs}=0$  

介入群と非介入群への割当が個々の全ての側面に関して均等であるとき、つまり  

p($X_i=x$) = 1/2 for all $x$  

であるならば、Jaskowski and Jaroszewicz (2012)は次の式が成立することを証明しました.  

$$
\tau(X_i) = 2P(Z_i=1|X_i)-1
$$

ぱっと見は、何故このような式が成立するのか意味がわかりませんが、1と0しか出てこないので、各群への均等な割り当てが担保されていれば式変形の結果こうなるのでしょう.  

参考文献によると、the Class Transformation methodは人気がある手法だそうです.   
何故なら、the Two-Model Approachよりもパフォーマンスが良い傾向にあるにも関わらず、依然として単純なアプローチで、既製品の分類モデルが使えるからです.  

一方で、前提条件である 

- binary outcomes
- balanced dataset between control and treatments
  
は厳しすぎる制約条件に見えます.  
幸いにも、均等ではない割り当て及び、回帰問題への一般化がAthey and Imbens (2015b)によりなされました.  
彼らは以下のoutcome variableの変形を通して、標準的な機械学習アルゴリズムを用いたCATEの予測を指向していました.  

$$
Y_i^* = Y_i(1)\frac{W_i}{\hat{p}(X_i)} - Y_i(0)\frac{1 - W_i}{1 - \hat{p}(X_i)} \tag{8}
$$  

$\hat{p}(x)$は傾向スコアの一致推定量(の実現値？)であるようです.  
一致推定量というのは統計検定2級の試験以来久しぶりに聞きました.  
また、CIAが充足していれば、(8)はCATEと一致し、以下の数式で表現されます.  

$$
E[Y_i^*|X_i] = \tau(X_i)\tag{9}
$$

(8)の右辺の2項は、$Y_i$の実現値($y_i$とでもいうのでしょうか)が介入群とコントロール群のどちらに割り当てられたかに応じて、片方の項の数値が0になることが分かります.  
従って例えば、N個の実現値の平均をとることを考えると、CIAが成り立てば、(8)の右辺の第一項目に数値が入った標本がN/2個、第二項目に数値が入った標本がN/2個得られることが予想されます. N/2個同士で差分をとったものをNで平均していることと$\frac{W_i}{\hat{p}(X_i)}
$の値がCIAのもとでは2になりそうなことから、(9)のようになることは納得できます.  

著者によると、$E[Y_i^*|X_i]$の一致推定量ならば何でも、$\tau(X_i)$の一致推定量でもあると言及しています.  

なので、$E[Y_i^*|X_i]$の一致推定量を推定するモデルを作るということなのでしょうが、具体的にどのようにモデリングするのかイメージが沸きませんでした.  

# Modeling Uplift Directly
3つ目のアプローチでは、既存の機械学習アルゴリズムを変形して、介入効果を直接計算します.  
ロジスティック回帰, k近傍法, SVMの変形, 決定木ベースのものなど、複数のアルゴリズムが提唱されてきました.  
最も一般的なのは決定木ベースのもので、アンサンブル学習を一般化した手法があります.  
参考文献では、決定木ベースの手法について触れられています.  

ランダム化実験による均等割り当てが担保できる場合以下の数式が成立します.  

$$
\hat{\tau} = \frac{\sum_iY_i^{obs}}{\sum_iW_i} - \frac{\sum_iY_i^{obs}(1-W_i)}{\sum_i(1-W_i)}\tag{12}
$$

これは単純に2群の平均の差ですね.  

Hansotia and Rukstales (2002)により提案された決定木の最初の分割基準は、2つの葉の間のupliftの差で、次の式で表現されます.  

```math
\Delta = \hat{\tau}_{Left}- \hat{\tau}_{Right}
```

添え字の$Left$, $Right$は分割後の左右それぞれの葉における(12)の推定値であることを意味します.  

次に、Rzepakowski and Jaroszewicz (2012)はinformation theoryの方式で3つの新しいcriteriaを提唱しました.  

$$
\Delta_{gain} = D_{after-split}(P^T, P^C) - D_{before-split}(P^T, P^C)
$$  

$D(\cdot)$はdivergence measureと呼ばれ、$P^T$は介入群のoutcomeの確率分布を表します.  
criterionとして、Kullback, Euclidean, Chi-Squaredの3種類が提案されました.  
  
```math
\begin{align}
KL(P:Q) &= \sum_{k=Left, Right} p_k \log \frac{p_k}{q_k}\\
E(P:Q) &= \sum_{k=Left, Right} (p_k - q_k)^2\\
\chi^2(P:Q) &= \sum_{k=Left, Right} \frac{(p_k - q_k)^2}{q_k}
\end{align}
```

$p$と$q$はそれぞれ式(12)の右辺の1項目, 2項目に相当します.  

さらに、Athey and Imbens (2015b)は"Casual tree model"において以下のcriterionを提案しました.  

$$
\Delta = \frac{1}{\\#children} \sum_{k=1}^{\\#children} \hat{\tau}_k^2
$$  

残念なことに参考文献はここで終わってしまいました. 決定木の分岐ロジックを変形していることは何となく理解できたものの、先ほどのClass Variable Transformationと同様に全体像が良く分かりませんでした. 恐らくそれぞれの手法をひととおり学んだ人を想定読者としているように見えます.  




# 評価　

ある個人について、control outcome と treatment outcome の両方を観測することができないので、ほとんどの uplift 関連の文献では、uplift bins や uplift curves などといった手法が用いられるそうです.  例えば、次のような手法です.  

- bins of uplifts
- the uplift curve
- Qini measure  

参考文献によると、uplift curveやQini measureが比較可能で分かりやすいということですが、基本的な考え方は以下のとおりです.  

- 予測されたuplift順に、データの整列させ、インデックスを採番する.  
- 階級tについて、または階級tまでについて、またはインデックスtまでについて、平均的なupliftを計算する.  

これは、分類タスクにおけるAUCの考え方と似通っており、分かりやすいですね. Area Under the Uplift Curveという言葉もあるそうです.  

# まとめ 
- 参考文献のみならず、言及されている3つの主要なアプローチについて原典確認が必要な可能性が高い