elsur.jpn.org >

« 読了:Keiningham, et al.(2007) Net Promoter Scoreが企業収益と直結するって? はっはっは | メイン | 読了:前田(1999) G.カトーナ、消費者態度指数の父 »

2018年4月28日 (土)

Athey, S., Tibshirani, J., Wager, S. (2017) Generalized Random Forests. arXiv:1610.01271v3 [stat.ME]

 著者らが提案する新手法「一般化ランダム・フォレスト」の解説。Rのパッケージgrfとして実装されている。仕事の役に立つかと思って。
 付録をあわせて47pもあるのだが、関心のあるところだけ目を通した。

 もともとランダム・フォレストというのは $\mu(x) \equiv E[Y | X =x]$を推定するための手法である。つまり、いま$\psi_{\mu(x)}(Y) = Y - \mu(x)$というスコアリング関数があるとして、
 $E[\psi_{\mu(x)}(Y)|X =x] = 0$
となる$\mu(x)$を推定する手法である。
 これを任意の量$\theta(x)$の推定へと一般化したい。$Y$のかわりに$O$があるとする。$\theta(x)$を次の局所推定方程式によって定義する。$\psi(\cdot)$をなんらかのスコアリング関数、$\nu(x)$をオプションの局外母数として、
 $E[\psi_{\theta(x),\nu(x)}(O) | X = x] = 0$
このように一般化することで、条件つき平均だろうが条件つき分位点だろうがなんだろうが扱えるようになる。我々がこれを開発する主な目的は、道具変数による、異質性のある処理効果の推定である。

 ここで解決すべき問題が3つある。

  1. 上のように一般化すると、オリジナルのランダム・フォレストのように、B本の木を作りそれぞれの予測$\hat{\mu}_b(x)$を単純平均しよう、というわけにはいかなくなる。そこで、まずランダム・フォレストでテスト点$x$の近隣集合を求め、それらを使って$\mu(x)$を推定する。
  2. この適応的近隣関数を$\theta(x)$に合わせて変えなければならない。ある治療の効果を知りたいとしても、その治療が長期的な生存率に及ぼす効果を知りたいときと、入院日数への効果を知りたいときでは、必要な共変量が変わってくるだろう。そこで、まず推定したい非線形な式を勾配ベースの方法で線形に近似してから木の分割点を決める。[←む、難しい... 分かるような、わからないような気分だ]
  3. $\theta(x)$の漸近的一致性とガウス性の理論的な保証がほしい。以下でそれを示す。

 先行研究。
 統計学では昔から局所最尤推定というアイデアがある。たとえば経済学でいえば、回帰不連続デザインで使う局所線形回帰、パネルデータで使う多項選択モデル、道具変数を使った回帰、などがそうだ。基本的なアイデアは、共変量がある特定の値をとるときのパラメータ推定を行う際、共変量空間において近くにある事例により重みをつけましょう、というものである。重みはふつうカーネル法で求める。このアプローチの難しい点は、共変量空間が多次元のとき、「次元の呪い」のせいでうまくいかなくなってしまうという点だ。
 そこで、カーネル・ウェイティングのかわりにランダム・フォレストでウェイトを求めることを考える。つまり、ある事例の重みを「目標とする共変量ベクトルと同じ葉にその事例が落ちた木がどれだけあるか」で決めるのである。このように、ランダム・フォレストを適応的最近隣推定として用いる発想は、Meinshausenによるランダム・フォレスト・ベースの分位点回帰に遡る。
 [ほかに、勾配ベースで分割点を決めるというアイデアの先行研究、ランダムフォレストの漸近的性質についての先行研究について触れている。パス]
 なお、注意してほしいんだけど、ここで関心があるのは、単一で低次元なパラメータ(たとえば平均処理効果)を共変量をコントロールしたうえで推定したいという話ではない。関数$\theta(x)$が共変量によって変わっちゃうのをどう推定するかという話である。[←ああ、なるほど...やっと少しだけ意味がわかった。親切に教えてくれて助かるよ]

 以下、提案手法の説明。なお、ランダム・フォレストについてよく知らない人はHastieの本とかをみるように。

 事例$i = 1, \ldots, n$が、観察量$O_i$, 共変量$X_i$を持っている。$O_i$というのは、たとえばノンパラ回帰であれば$\{Y_i\}$そのものだし、外生的な処理割付($W_i$)の下での処理効果の推定であれば$\{Y_i, W_i\}$である。
 ゴールは次の局所推定方程式におけるパラメータ$\theta(x)$の推定である。局外パラメータ(オプション)を$\nu(x)$として、すべての$x$について
 $E[\psi_{\theta(x),\nu(x)}(O_i) | X_i = x] = 0$

 ふつうのやり方は、まず$x$において事例$i$との関連性を表すなんらかの類似性ウェイト$\alpha_i(x)$を定義し、
 $||\sum_i \alpha_i(x) \psi_{\theta, \nu}(O_i)||_2$
を最小にする$(\theta, \nu)$の集合を求め[えーっと、ユークリッド・ノルムを最小にするわけね]、その集合のなかに$(\hat{\theta}(x), \hat{\nu}(x))$が入っていると考えるやりかたである。$\alpha_i(x)$の推定にはふつうカーネル関数を使う。でもこのやりかたは高次元のときにうまくいかない。
 そこで、まずB本の木をつくる(作り方は後述)。で、$X_i$がそれぞれの木$b$において$x$と同じ葉に落ちたかどうかを調べ、落ちた割合を求める。これを合計1に調整して$\alpha_i(x)$とする。

 木の作り方。[普通の決定木と似ているんだけど、評価関数に工夫があるらしい。難しくてよくわからん。パス]

 実際には、計算効率を高めるため、勾配ベースの近似を行う。[以下3p、難しいのでパス。なんだか知らんがxgboostみたいなもんなんですかね]

 ここでいったん小休止して[←ほんとにそう書いてある]、分位点回帰フォレストの場合について紹介しよう。$X=x$の下での$Y$の$q$分位点$\theta_q(x)$の推定がゴールである。[...中略...] MeinshausenのquantregForestパッケージと比べると... [以下略]

 漸近的性質についての分析。[パス!もちろんパス!8p飛ばすぞ!]
 デルタ法による信頼区間。[3p飛ばすぞ!]

 応用事例その1, 外生性があるときの条件付き平均部分効果の推定、名付けて「因果フォレスト」。
 次のランダム効果モデルを考える。
 $Y_i = W_i b_i + e_i$
 $\beta(x) = E[b_i | X_i = x]$
ゴールは、なんらかの対比$\xi$についての$\theta(x) = \xi \beta(x)$を推定すること。もし$W_i$が処理割付$\{0, 1\}$だったら、$\beta(x)$が条件つき平均処理効果。
 $W_i$は外生で $\{b_i, e_i\} (独立) W_i | X_i$ だと仮定する。[独立性の記号の書き方がわからない...とにかく、交絡がないという仮定である]
 [...以下、面倒になってきたので読み飛ばしたけど、やっとこの応用事例のイメージがわいてきた... 「処理効果が共変量によって変わっちゃう場面で、共変量の特定の水準の下での条件つき処理効果を機械学習で推定しよう」という話なのね、なるほど]

 応用事例その2、道具変数を使った異質性のある処理効果の推定、その名も「道具変数回帰フォレスト」。
 たとえば、母親の就業への子育ての因果効果を測りたい。でも子供の人数はなにかと交絡しているかもしれない(もっと子供が欲しいかとか)。Angrist & Evans(1998)は、子供が二人以上いる母親について、上の二人が同性か異性かに注目した(性別はさすがに偶然で決まるだろう)。同性のほうがもっと子供を欲しがる傾向がある。同性かどうかと就業意欲との間の関連性が、子供の人数をコントロールしたとき消えるなら、コントロールしなかったときに観察される関連性は子どもの人数のせいだといえる。
 さて、こういう道具変数回帰への古典的なアプローチでは処理効果のグローバルな理解しか目指さない。ここでは異質性のある処理効果をフォレストで推定することを目的とする。
 $n$人のiidな対象者$i$が持つ特徴を$X_i$, アウトカムを$Y_i$、処理割付を$W_i$、道具変数を$Z_i$とし、次の構造モデルを考える:
 $Y_i = \mu(X_i) + \tau(X_i) W_i + \epsilon_i$
$W_i$の因果的効果が$\tau(X_i)$。いま、ノイズ$\epsilon_i$が$W_i$と正の相関を持つかもしれないとしよう。この場合、一般に標準的な回帰では$\tau(X_i)$の一致推定量が得られない。さて、$Z_i$が$X_i$の下で$\epsilon_i$と条件付き独立であると知っているとしよう。この場合、$Z_i$が$W_i$になんらかの影響を持っているとするならば(すなわち、$X_i=x$の下で$Z_i$と$W_i$の条件付き共分散が非ゼロならば)、処理効果$\tau(x)$は
 $\tau(x) = Cov[Y_i, Z_i|X_i = x] / Cov[W_i, Z_i | X_i = x]$
実際に$\tau(x)$を推定するには次の式を解けばよくて...
 [... いま日々の生活でいろいろ忙しいもので、大幅に中略。来世ですっごく頭の良い人に生まれ変わったら読みますね]
 事例。Angrist & Evansが挙げた問題について推定してみる。2人以上子供がいる母親について分析する。$Y_i$は母親がセンサスの前年に働かなかったか、$W_i$は母親がセンサス時点で3人以上子供を持っているか、$Z_i$は上の二人が同性か異性か。普通の道具変数回帰で平均処理効果$\tau$を推定するとAngristらの結果が再現された(3人目がいると就業率が下がる)。
 さて、提案手法により、母親の年齢とか人種とか父親の年収とかを共変量にして、条件付きの平均処理効果$\tau(x)$を推定してみると... 父の年収が低く、かつ母親の年齢が低いと効果が大きい。[←なるほどね...そういう分析がやりたいのか]
 云々。

 というわけで、全体の1割くらいしか読んでないけど、なんとなく雰囲気がわかったので良しとしよう。
 いやあ、なんというか... generalized RFっていうから、分類や回帰とかだけじゃなくて、打ち切りつき生存時間データとか、いろんなややこしい問題を統一的にあつかってくれるようなランダム・フォレストなのかな、と思って読んだのである。想像のはるか斜め上をいく話であった。

論文:データ解析(2018-) - 読了:Athley, et al. (2017) 一般化ランダム・フォレスト

rebuilt: 2020年11月16日 22:54
validate this page