木と電話と選挙
Shota Yasui
Japan.R
2016/11/27
CausalTreeパッケージ
● Recursive Partitioning for Heterogeneous Causal Effects
● Susan AtheyとGuido Imbensの提案手法
● 機械学習のモデルを応用して、CATEを推定する。
○ 介入効果が別の要因で強弱がついているという想定
● 今回は機械学習の部分が決定木及びRandom Forestになっている。
GerberGreenImaiデータ
● Do Get-Out-the-Vote Calls Reduce Turnout? The Importance of Statistical
Methods for Field Experiments
● 上記の論文で使われたデータ
● Matchingパッケージの中に入ってる。
投票しましょう。
選挙前に投票を促す連絡を取る。
投票日の選択肢
この電話活動が投票率に影響があるのかを知りたい!
Phone Call who Voted or Notこんなデータセットになる
● 電話活動の対象になったか否か?
● どんな人か?
● 投票しに行ったか否か?
傾向スコアを利用する
● 電話活動がある程度対象を選んで行われていると考える。
● 電話された人とされてない人では、そもそも投票に行く確率が違う。
● これを補正して効果を推定する必要がある。
→傾向スコア(詳細は割愛)
PropensityScoreMatchingで推定する
● 電話の割り振りでPropensityScoreを出して、Matching。
平均的には5%投票率を押し上げる
電話の効果が、
性別や年齢や地域で違うんじゃないか?
これを推定しに行くお話
● Susan Atheyが提案しているCausal TreeとCausal Forestを使う。
○ Recursive Partitioning for Heterogeneous Causal Effects
○ Estimation and Inference of Heterogeneous Treatment Effects using Random Forests
● causalTreeパッケージとしてgithub上に公開されている。
○ https://github.com/susanathey/causalTree
● 決定木の学習方法を改良して unbiased estimatorを得ようという話。
決定木と大きく違う2点
● コスト関数のデザインが違う
○ 機械学習で考えると:投票行動での予測誤差の最小化
○ causalTree:電話の、投票行動に与える効果での予測誤差の最小化
■ あくまで最小化したい誤差の定義が変わったという認識 →アンサンブルもできちゃう
● 推定時のデータの使い方が違う
○ 普通の決定木:学習データで枝と葉の両方を学習する
○ 今回:学習データを分けておいて、枝と葉の学習には別々のデータを用いる。
PropensityTree(Forest)もあるよ
● 電話のケースのように、介入の割り振りに偏りが考えられるケースで使う。
● この場合には枝の学習時にコスト関数を別のものにする。
● この時のコスト関数は介入の割り振りに対する予測誤差になる。
propensityForestで推定する
● 可視化を前提として今回やるので、 PropensityForestで木の数を1にする。
● treatmentは電話を掛けたか否か PHN.C1
● 設定周りの意味合いは下の資料参照
○ https://github.com/susanathey/causalTree/blob/master/briefintro.pdf
結果
まだ可視化できる環境がない・・・想定されている使い方的にも作られないかもしれないが。。。
基本的なサマリ
● 年齢は若いほうが効果高い
○ 年齢が高い人のほうがそもそも投票率が高くて、それを押し上げるコストが高そう。
○ 投票所までの移動コストは年齢が高い人のほうがありそう。
● 地域によって効果が違う
○ 地域のID以外の詳細データがないので地域間で比較とかはできない。
○ 今回入ってない変数の影響とかが出てそう
効果予測器として使う
● PropensityForestでTree=5で学習する。
● テストデータで効果の予測をしてみる(predictを使う)
● 推定された効果の平均値は0.059
● 傾向スコアマッチングで出した結果と類似。
電話を掛ける対象を絞れる!
おしまい。

木と電話と選挙(causalTree)