モデルの評価#
Double ML#
処置効果\(\theta(X)\)の推定を行う。\(Y\)はoutcome, \(T\)はtreatment
\[\begin{split}
\begin{align}
Y &= \theta(X) \cdot T+g(X)+\varepsilon, \mathrm{E}[\varepsilon \mid X]=0 \\
T &= f(X)+\eta, \mathrm{E}[\eta \mid X]=0 \\
\mathrm{E}[\eta \cdot \varepsilon \mid X] &= 0
\end{align}
\end{split}\]
\(g(X), f(X)\)はそれぞれoutcomeとtreatmentを予測するモデル
別途outcomeをXから予測するモデル\(q(X)\)を構築し、残差
\[\begin{split}
\begin{aligned}
& \tilde{Y}=Y-q(X) \\
& \tilde{T}=T-f(X)
\end{aligned}
\end{split}\]
を得る。
これらを組み合わせて
\[
\tilde{Y}=\theta(X) \cdot \tilde{T}+\varepsilon
\]
と回帰することで\(\theta(X)\)を推定する。
rscore#
モデル評価のためのスコア。
\[
r = 1 - \frac{ r_{\text{loss}} }{ b_{\text{loss}} }
\]
ここで
\[
r_{\text{loss}}
= E\left[
\left( \tilde{Y} - \tau(x) \tilde{T} \right)^2
\right]
\]
\(b_{\text{loss}}\)はconstant treatment model (linear double machine learning modelなど)のbaseline loss
Sensitivity analysis#
感度分析(sensitivity analysis)はモデルへのinputを少し変えることでモデルの反応がどれだけ変わるかを見るもの。
Refutation#
refutation法はDoWhyの論文で提案された方法。
データの部分集合\(D_{\text{subset}}\)でATEの推定値がどれだけ変化するか
共通原因(common cause)の変数を追加したモデルのATE推定値がもとのモデルからどれだけ変化するか
treatmentを並べ替え(permuting)たもの(placebo treatment)を入れてATE推定値がゼロになるか
など