Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

モデルの評価

Double ML

処置効果θ(X)\theta(X)の推定を行う。YYはoutcome, TTはtreatment

Y=θ(X)T+g(X)+ε,E[εX]=0T=f(X)+η,E[ηX]=0E[ηεX]=0\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}

g(X),f(X)g(X), f(X)はそれぞれoutcomeとtreatmentを予測するモデル

別途outcomeをXから予測するモデルq(X)q(X)を構築し、残差

Y~=Yq(X)T~=Tf(X)\begin{aligned} & \tilde{Y}=Y-q(X) \\ & \tilde{T}=T-f(X) \end{aligned}

を得る。

これらを組み合わせて

Y~=θ(X)T~+ε\tilde{Y}=\theta(X) \cdot \tilde{T}+\varepsilon

と回帰することでθ(X)\theta(X)を推定する。

rscore

モデル評価のためのスコア。

r=1rlossblossr = 1 - \frac{ r_{\text{loss}} }{ b_{\text{loss}} }

ここで

rloss=E[(Y~τ(x)T~)2]r_{\text{loss}} = E\left[ \left( \tilde{Y} - \tau(x) \tilde{T} \right)^2 \right]

blossb_{\text{loss}}はconstant treatment model (linear double machine learning modelなど)のbaseline loss

Sensitivity analysis

感度分析(sensitivity analysis)はモデルへのinputを少し変えることでモデルの反応がどれだけ変わるかを見るもの。

Refutation

refutation法はDoWhyの論文で提案された方法。

  • データの部分集合DsubsetD_{\text{subset}}でATEの推定値がどれだけ変化するか

  • 共通原因(common cause)の変数を追加したモデルのATE推定値がもとのモデルからどれだけ変化するか

  • treatmentを並べ替え(permuting)たもの(placebo treatment)を入れてATE推定値がゼロになるか

など