名前はまだない

データ分析とかの備忘録か, 趣味の話か, はたまた

CATEを推定するMeta-Learnersの特徴と比較

はじめに

前にCATEを求めるCausal Treeについての記事を書きました。

saltcooky.hatenablog.com

そうなるとMeta-Learnerも気になってきたので、こちらを読みました。

arxiv.org

簡単に内容をまとめます。

事前知識

因果推論

因果推論における詳しい話はこちらをご覧ください。

効果検証入門〜正しい比較のための因果推論/計量経済学の基礎

効果検証入門〜正しい比較のための因果推論/計量経済学の基礎

  • 作者:安井 翔太
  • 発売日: 2020/01/18
  • メディア: 単行本(ソフトカバー)

平均処置効果:Average Treatment Effect(ATE)

注目する群全体における処理の効果


ATE := E[Y (1) − Y (0). ]

個別因果効果:Individual Treatment Effect (ITE)

個体iにおける因果効果


D_i := Y_i(1) − Y_i(0).

条件付き平均処置効果:Conditional Average Treatment Effect (CATE)

ITEは一般的に推定することは難しい。そのため、共変量x_iの場合に期待される処置効果であるCATEを推定することが多い。


τ (x) := E [ D | X = x_i = E[Y (1) − Y (0) | X = x_i ] ]

評価方法

  • MSE(平均二乗誤差)

MSEは次のように定義されるが、D_iは推定が難しいため実際はこちらで評価することは難しい。


E [ (D_i − \tau^i ) ^2 |X_i = x_i ] = E [ (D_i − \tau (x_i))^2 |X_i = x_i ]+ E [ (\tau (x_i) − \tau^i)^2 ].
  • EMSE(期待平均二乗誤差)

論文中で紹介されているシミュレーションでは、EMSEを用いて複数あるモデルの相対的な評価を行っている。


EMSE(P, \hat \tau) = E  [ (\tau (X ) − \hat \tau (X ))^2 \.

T-learner

Y(1),Y(0)をそれぞれ個別にモデリングする。

はじめに、対照群W=0のデータのみを用いて対照反応のモデリングを行う。


\mu_0(x) = E[Y(0)|X = x ]

次に、処置群W=1のデータのみを用いて処置反応のモデリングを行う


\mu_1(x) = E[Y (1)|X = x ]

それぞれをモデルを用いて共変量xにおけるそれぞれの推定値\hat \mu_0(x), \hat \mu_1(x)を得る。

これらの差が推定されるCATEとなる.

 \displaystyle{
\hat \tau_T(x) = \hat \mu_1(x) − \hat \mu_0(x)
}

f:id:saltcooky:20200814221711p:plain

S-learner

対称群と処置群の両方のデータを用いてモデリングを行う.

 \displaystyle{
\mu (x, w) := E [ Y^{obs} | X = x, W = w ]
}

推定したモデル \hat \mu (x, w)を用いて、共変量xの対象に対してw=1,w=0をそれぞれ投入した推定値を得る。その差分がCATEの推定値となる。

 \displaystyle{
\hat \tau_S(x) = \hat \mu (x, 1) − \hat \mu (x, 0)
}

f:id:saltcooky:20200814221757p:plain

X-learner

推定には三段階の手順をとる。

はじめにT-Learnerと同様にベース学習器を得る。

 \displaystyle{
\mu_0 (x) = E [ Y^{(0)} | X = x ] \\
\mu_1 (x) = E [ Y^{(1)} | X = x ]
}

次に、対照群の学習器の\hat \mu_0 を用いて、処置群の個人の処置を行わない場合の結果変量の推定値を求める。

この推定値と観測された対照群の結果変量との差を取ることで、対照群の個人の治療効果を推定[tex:\tilde D0_i ]する。

同様に処置群の個人の治療効果を推定する。

 \displaystyle{
\tilde D^1_i := Y^1_i − \hat \mu_0(X^1_i ) \\
\tilde D^0_i := \hat \mu_1(X^0_i ) − Y^0_i 
}

そして、介入群のみを対象として D_1 を推論するモデル、対象群のみを対象として D_0 を推論するモデルを作成する。

これを二段階目のベース学習器と呼んでいる。

 \displaystyle{
\hat \tau_1 (x)= E [ \tilde D^1_i | X = x ] \\
\hat \tau_0 (x)= E [ \tilde D^0_i | X = x ]
}

最後に二段階目のベース学習器の重み付き平均を取ることでCATEを推定する

 \displaystyle{
\hat \tau_X (x) = g(x) \hat \tau_0(x) + (1 − g(x)) \hat \tau_1(x)
}

ここで, g(x)は[0,1]の重み関数であり、傾向スコアである。

f:id:saltcooky:20200814222059p:plain

Mete-Learnerの特性と比較

利点は大きく二つ挙げられている。

データの不均衡性に対応できる

処置群と対照群のサンプルが不均衡でも、それぞれの群を別々にモデリングに用いるため、処置群と対照群のデータ量が不均衡の場合でも推定が可能である。

サンプル数が多い群に対応する関数の形状が複雑でも適切な推定を行うことができるとしている。(サンプル数が少ない群が複雑だと大丈夫?)

f:id:saltcooky:20200814010139p:plain

ベース学習器を自由に選択できる

Meta-Learnersは特定のベース学習器に依存しないデザインである。

ベース学習器の選択が予測精度に大きな違いをもたらす。

ドメイン知識を用いて性能の良いベース学習者を選択する必要がある。

論文では、次にような線形と非線形のデータ生成を仮定して得られたデータに対するCATEの推定を行っている。

f:id:saltcooky:20200815161118p:plain

ベース学習器にはBART(Bayesian additive regression trees)とRandom Forestを用いている。

f:id:saltcooky:20200815004552p:plain

上記の結果から次のことが言える。

  • データの生成構造が大域的に線形である状況やデータセットが小さい場合には、BARTのように大域的に作用する推定器が大きな優位性を持つ。

  • 大域的な構造がない場合やデータセットが大きい場合には、Random Forestのような高次元の交互作用を用いることができるモデルが有利になる。

S-learnerの特徴

S-learnerでは、処置変数を他の共変量の同様に扱い、処置変数には特別な役割はない。

そのため、lassoやRandomForestのようなアルゴリズムは、治療の割り当てを完全に無視して、治療の割り当てを選択しないこともできる。

論文では、次にような処理群と対照群のデータ生成過程が等しい場合と異なり共変量によってはCATEが0となるようなデータを用いたシミュレーションを行っている。

f:id:saltcooky:20200815162631p:plain

シミュレーション結果から、データ生成過程が等しい場合とCATEが多くの場所で0である場合において、最も良い推定を行うことが確認できる。

f:id:saltcooky:20200815011615p:plain

T-learnerの特徴

T-learnerでは処理群と対照群の観測データをプールして利用していない。

そのため、処理群と対照群のそれぞれのデータ生成過程の違いが推定性能に影響を与える。

シミュレーション4(global linear)の結果を見ると、T-learnerが最も誤差が大きい。

処理群と対照群のそれぞれのデータ生成過程が等しい場合は、不利になる傾向になる。

また、シミュレーション2, 3の結果を見ると、比較的にT-learnerの誤差が小さい。

処置効果の構造が非常に複雑で、処理群と対照群のそれぞれのデータ生成過程に共通の傾向がない場合には、特に優れた性能を発揮する傾向にある。

X-learnerの特徴

X-learnerは,CATEに構造的な仮定がある場合や,一方の処置群が他方の処置群よりもはるかに大きい場合に特に優れた性能を発揮する。

シミュレーション5のように真のCATEに0の部分がある場合、通常はS-learnerほどではないが、T-learnerよりは良い推定ができる。

シミュレーション3のようにCATEが非常に複雑な構造である場合には、S-learnerやT-learnerよりも良い推定ができる。

これらのことから、期待されるCATEがほとんど0であるという強い信念がない限り、小さなデータサイズの場合はBARTを用いたX-learnerを、大きなデータサイズの場合にはRandomForestを用いるべきであるとしている。

その他のMeta-Learners

F-learner

はじめに傾向スコアを推定する。推定した傾向スコアを用いて目的変数Yを調整する。

F-Learnerでは、調整した目的変数Y*を共変量Xで予測するモデルとなる。

f:id:saltcooky:20200814232931p:plain

U-learner

観測したデータで予測モデルと傾向スコアを推定する。

傾向スコアで重み付けしたモデルと実測値の誤差R_iを推定する。

U-Learnerでは、共変量XR_iを予測する。

f:id:saltcooky:20200814233022p:plain

終わりに

Meta-Learnerについての紹介している記事はいくつか見かけるのですが、それぞれの特徴について紹介しているものがなく、この論文は非常に参考になりました。

この論文では、CATEの信頼区間の推定をBootstrap法により行う方法も紹介しているので、次にそちらの実装を行ってみたいと思います。

参考