勉強の記録

機械学習、情報処理について勉強した事柄など

BART: Bayesian additive regression treesによる因果推論

[1707.02641] Automated versus do-it-yourself methods for causal inference: Lessons learned from a data analysis competition

Atlantic Causal Inference Conference 2016の結果をまとめた論文.

このコンペはstrong ignorabilityを仮定したシチュエーションにおいて,線形・非線形の77種のdata generating process (DGP)を仮定し,各々のDGPについて100回ずつn=250 or 500のdatasetを生成した計7700個のデータセットで因果推論を行うコンペ.20個のデータセットが提示されて試行錯誤できるdo-it-yourselfセクションと,手法を提出して7700個のデータセット上で評価されるblack-boxセクションから構成されている.

個人因果効果を算出するモデルの中ではBARTというモデルを活用したものが一番成績がよかった模様.あまり聞いたことのない手法だったので,ざっと調べてみた.以下、年代順に重要そうな論文を3つ紹介する。

BART: BAYESIAN ADDITIVE REGRESSION TREES

[0806.3286] BART: Bayesian additive regression trees

BART自体は最新の予測モデルというわけではなく,Chipman 2007, 2010などで提案された予測モデル.具体的にはリンクの論文や,次のセクションで紹介するHill, 2010の§3.1に詳しいが,理解した範囲で概要を紹介する.

まず,m個(元論文では200個)の木による加法的予測モデル(以下1個の予測モデルを森と呼ぶ)

\begin{align}
Y = \sum_m g(x;T,M) + \epsilon\\
\epsilon \sim N(0, \rho)
\end{align}

を考え,これをベイズで求めることを考える.初期値は適当なpriorからサンプリングして森を作成したのちに,木を1個ずつMCMCで更新していく作業を繰り返していく.各更新では尤度比に応じて棄却するか更新するか決定される.これが収束したところで事後分布に応じたK個の森をサンプリングし,予測する際はK個の森を使うことで予測値の事後分布を得るというモデル.これ自体は予測モデルであり,因果推論のためのモデルというわけではない.

残差を予測するような木を加法的に用いる点はGBDTに似ているが,ひたすら足していくのではなく一定の数の木を周回して更新していくところと,過学習を防ぐ手段として正則化項を加えるのではなくpriorによって複雑さを抑制しているところが大きな違いか.

メリットとしては事後分布をを得られるということ.当然,点推定値だけではなく区間推定どころか分布で結果が得られる.事後分布が妥当な広がりを持っているかは,問題に応じた複雑さと,priorが規定する複雑さが合致するかどうかに依存すると思うのだけど,経験的にこのぐらいのpriorがよかったよというのが本文中で紹介されていて,一部のパラメータについてはデフォルトでも良いがcross-validationで決めてもよいとされている.

BARTによる因果推論

Bayesian Nonparametric Modeling for Causal Inference Jennifer L. Hill

f:id:tmitani-tky:20191113135247p:plain
Hill, 2010より引用

3.1がBARTの概論.3.2からBARTによる因果推論.基本的には因果推論として特別なことをするわけではなく,treatmentも他のcovariateと同列に扱った予測モデルを構築し,その上でtreatment Z={0,1}とした予測値の差で因果効果を推定するアプローチ.K個の森を得られているので,因果効果の事後分布に沿ったK個の推定値を得ることができいる.よって上の図のように,その95%信用区間を算出できる.

An overall benefit is the lack of “tinkering” required with BART. Researchers tend to condition on variables and use functional forms that fit their existing theory (for a discus- sion, seeLeamer 1983). Moreover, when searching for the “best” model it may be difficult not to stop as soon as the model meets prior expectations or to bypass models that do not meet prior expectations. Such model-searching strategies, while understandable, particu- larly given strong theory regarding a phenomenon, have the potential to mask important but unexpected results and bias estimates.

authorのHillは,事前の知識や因果構造についての推論などをモデル化に活用すると,予測していなかった重要な結果をマスクしてしまったり,推定にバイアスを生んでしまう,という立場を取っている.なので事前知識に応じた既知の因果構造を取り込んだpriorを設定するといった方法論の記載は論文内にない.

f:id:tmitani-tky:20191113140308p:plain
Dorie, 2017より引用
ACIC2016の結果をみると,データが与えられるdo-it-yourselfのシチュエーションでも,データをみずにautomaticにもとめたBARTをベースとしたモデルのほうが好成績ではあるが,このようなシミュレーションデータではなく外部データ・外部知識を活用できるような場合ではどちらが好ましいのかについての示唆は与えられていない.

BART on PScore

ACIC2016においてBARTが,(random forest, GBDT, neural networkなどによる)ensembleモデルに匹敵する唯一の手法だったことから,コンペ終了後にBARTをベースとしたいくつかの手法が試された.BART on PScore(typoじゃないよ)は,別で推測したpropensity scoreをcovariateとしてBARTによる予測モデルの入力に加えた手法らしい.以下の論文からinspireされた方法とのことで確かに4章がほぼほぼその説明になっている。

[1706.09523] Bayesian regression tree models for causal inference: regularization, confounding, and heterogeneous effects

この論文の前半4章までが上記のBART on PScoreの説明である。ここで問題視されているのは、vanilla BARTにおいてPrognosis→propensity scoreに単調な関係があるようなとき(これは、治療しないと重症になる人ほど治療を受けやすいということで非常によくある関係である)、priorにかなり影響されてしまうregularization-induced confoundingという性質。

nonlinear modelにおける解説は難しくてよくわからないので、単純な線形モデルで示してあった例(p10)を載せておく。

\begin{align}
E(Z|x)&=\gamma x\\
Var(Z|x)&=Var(\nu)\\
E(Y|x,Z)&=\tau Z + \beta x
\end{align}

が成立しているとき、bを任意のバイアスパラメータとして、

\begin{align}
E(Y|x,Z)&=(\tau +b)Z+(\beta-b\gamma)^t x-b(Z-\gamma^{t}x)\\
&=\hat{\tau}Z+\hat{\beta}^t x-\hat{\epsilon}
\end{align}

が常に成立する。もし \hat{\beta}=(\beta -b\gamma) \betaよりも高い事前分布が割り当てられているとき、 Var(\hat{\epsilon})=b^{2} Var(\nu)が、Yの分散 \sigma^{2}よりも十分に小さければ、 \tauの推定は、 \hat{\tau}=\tau+bに向かってバイアスが生じる。

これはZ|xの分散が小さい、つまり治療がxによってほぼほぼ決まっているような状況でZの影響とxの影響を識別できず、知りたい因果効果である \tauの事後分布がpriorの分布に依存してしまうということ。(これはcommon supportが少なくてうまくマッチングしないとか、propensity scoreが1or0に近づいてしまってIPW推定が不安定になるといった状況にも近いと思うのだけど、そこでpriorへの依存性が高まるというのがベイズらしくて面白い)。

では、このpriorへの依存をどうすればよいのかという話が4.3節にある。Yを予測するときにXとZの効果を分離したいのに、例えば極端なケースで、\mu(x)=E(Y|Z=0, X=x)=f(\pi(x))のように\mu(x)\pi(x)の関数になっている場合など、\piに伴う\muの変動をZの影響と捉えてしまうかもしれない。ここから先は実はよくある話で、その解決策は \pi(x)を共変量に加えることである。もちろん \piは推定しなければいけないのだが、これはcouterfactualもなく単にpredictionの問題なので回帰問題として解けば良い。\piで条件付けられたもとでは、xZは独立になるので、前項で挙げたような任意のバイアスパラメータで等式が成立することもなく、biasへの依存性の問題は緩和される(らしい)。

Bayesian causal forest

5節以降で、新たなモデルとしてbayesian causal forestというモデルが紹介される。strong confounding, targeted selection, and relatively weak treatment effectsがあるような状況で特に有用とのこと.

vanilla BARTやBART on PScoreでは,割付zは他の共変量と同格に共変量として予測モデルに組み込まれているのみであり,治療効果はいわば間接的にz=1を入力した時の予測値とz=0を入力した時の差として推測されていた.このようにモデル化すると、Yの分散に対して因果効果が相対的に小さい時(そしてそれは因果効果推論においてよくある状況である)、推定因果効果の分散がYの分散以上に大きくなって有意義な推論ができなくなってしまう。よって、治療効果をより直接推測するために下記の変更をおこなった(前節の考察を生かして、prognostic modelに\hat{\pi}が加えられている)。

\begin{align}
E(Y_i|x_i,Z_i=z_i)=\mu(x_i,\hat{\pi}(x_i))+\tau(x_i)zi
\end{align}

\mu, \tauとも独立したpriorからBARTのアルゴリズムよって求められる.なお,ここで \hat{\pi}(x_i)はpropensity scoreの推定値である.

\muについてはChipmanのデフォルトのパラメータと同じものを使うことをを推奨しているが、\piについてはより制限されたpriorが推奨されている。これは、treatment effect heterogeneietyのパターンが、Y|xのパターンよりも単純だと想定しているため。よって木の数はより少なく、また木の分岐も減るようなpriorの設定となっている。また、事前分布の中央値はYのSDに一致するように設定するとのこと。

このモデルをACIC 2016のdatasetに対して使用した場合の結果がTable2, 3.に掲載されている。

また、喫煙による医療支出への影響を調べた実データにも適用しており、vanilla BARTとの特性の違いが示されている。シミュレーションデータではないので真のデータは分からないのだが、年齢によるcausal effect heterogeneityをうまく捉えているように見える。

f:id:tmitani-tky:20191114012454p:plain
HAHN, 2017より引用

感想

最後のbayesian causal forestは、今までの手法の課題を解決する納得感のあるモデル。causal effect自体をモデルにするという部分はX-learnerの目的意識に近いと感じるが、ベイズの柔軟性を生かしてさらに直感的なモデリングとなっている印象。causal effectのpriorを調整することでsensitivity analysisを行うこともできそう。

Rのライブラリも公開されており、ぜひ使ってみたい。 bcf: Fit Bayesian Causal Forests in bcf: Causal Inference for a Binary Treatment and Continuous Outcome using Bayesian Causal Forests