Slide 1

Slide 1 text

統計的因果推論の理論と実装 ~Chapter11・12~

Slide 2

Slide 2 text

前提 - Rについては触れません(が, 「Rはいいぞ!」) - 基本的にテキストの章立てに沿ってスライドを作成しています が,時間の都合上,内容を抜粋しています. - 潜在的結果変数の記述がテキストでは{Y(1), Y(0)}と記述され ていますが,本スライドでは{Y1, Y0}と記述しています.

Slide 3

Slide 3 text

アジェンダ - Chapter10「傾向スコア」のおさらい - Chapter11「傾向スコアマッチング」 - Chapter12「傾向スコアによる層化解析法および重み付け法」 - おまけ「傾向スコア×機械学習」(テキスト外)

Slide 4

Slide 4 text

Chapter10のおさらい ~傾向スコアとは~

Slide 5

Slide 5 text

バランシングスコアと傾向スコア バランシングスコア 共変量Xの関数b(X)が与えられた時 のXの条件付き分布が,処置群と統 制群においても同じとなる関数 傾向スコア 共変量Xが与えられた時に処置が割 り当てられる確率.ロジスティック 回帰などで求める X ⊥ T | b(X) e(X) = P(T=1|X) 最も細かいバランシングスコア 共変量Xそのもの 最も粗いバランシングスコア 傾向スコアe(X)

Slide 6

Slide 6 text

定理の証明はAppendixをご参照ください 傾向スコア定理 定理1: バランシング 傾向スコアe(X)が同じ値であれば, 処置群と統制群における多変量の 共変量Xの分布は同じになる 定理2: 条件付き独立性 傾向スコアが同じ値となる個体で あれば,処置への割付けは無作為と みなせる X ⊥ T | e(X) {Y1, Y0} ⊥ T | e(X)

Slide 7

Slide 7 text

Chapter11 ~傾向スコアマッチング~

Slide 8

Slide 8 text

未観測の交絡因子がないという仮定が正 しければ,この2人の 「結果」の違い(77 - 63 = 14)は 「処置」の違い(0 or 1)が原因と主張 統計的因果推論における「マッチング」 異なる個体であるが,観察される共変量が同じ個体をペアにする 被験者 処置 結果 年齢 性別 1 0 63 20 男 2 0 55 25 女 3 0 59 38 男 8 1 81 26 女 9 1 77 20 男 10 1 81 54 女 ※ テキストの表11.2を一部修正 被験者 処置 結果 年齢 性別 1 0 63 20 男 9 1 77 20 男 マッチング

Slide 9

Slide 9 text

推定対象 統計的因果推論における推定対象は大きく分けて2つ 平均処置効果(ATE) 母集団に対して平均的にどれくら い効果があったのかを表す E[Y1 - Y0] 処置群の平均処置効果(ATT) 処置が割り付けられた対象にどれ くらい効果があったのかを表す E[Y1 - Y0 | T=1] マッチングにおける推定対象はATT

Slide 10

Slide 10 text

使用するデータ(1/3) データの生成プロセス - 共変量: x1, x2, x3, x4, x5, x6 - 平均値1, 標準偏差1の多変量対数正規分布に従う乱数 - 相関行列は対角線沿いの値が一手となるテプリッツ行列 - 潜在的結果変数: Y1, Y0 - Y1 = 5 + 2X 1 + 4X 2 - 6X 3 + 8X 4 + 10X 5 + 12X 6 + ε - Y0 = 1 + X 1 - 3X 2 + 5X 3 + 7X 4 + 9X 5 + 11X 6 + ε - ε: 標準正規乱数 - 処置変数: T - Y0が中央値より大きいとき50%の確率でT=1, 中央値以下のとき25%の確率でT=1 - Y0が中央値より大きいとき50%の確率でT=0, 中央値以下のとき75%の確率でT=0

Slide 11

Slide 11 text

使用するデータ(2/3) データの確認 変数pathには、ファイル「data02.csv」のPathを指定してください。 ファイルは下記URLからダウンロードできます。 https://www.kyoritsu-pub.co.jp/book/b10011781.html

Slide 12

Slide 12 text

使用するデータ(3/3) 推定対象の真値 ← 傾向スコアマッチングで推定したいのはこちらの値

Slide 13

Slide 13 text

ナイーブな比較と共分散分析 ナイーブな比較(上)と共分散分析(下)による推定結果 15.810 3.474 ATTの真値: 2.889 ※参考(ATE: 3.756) バイアス有(大) バイアス有

Slide 14

Slide 14 text

復元抽出の傾向スコアマッチング: ATTの推定(1/2) 傾向スコアを計算し,最近傍法によってマッチング

Slide 15

Slide 15 text

ATTの推定 復元抽出の傾向スコアマッチング: ATTの推定(2/2) マッチングの重みを考慮できておらず,いい推定ができていない. ※テキストではWLSですが,weightsをうまく実装できず単純なOLSを実行しています.すみません...

Slide 16

Slide 16 text

傾向スコアによるバランシングの評価 共変量の平均値の差の絶対値をプロット ●: マッチング後の平均差の絶対値 ○: マッチング前の平均差の絶対値 マッチング後(●)の方が, マッチング前(○)よりも平均差の 絶対値が小さくなっている → 共変量の偏りは是正されたと言える

Slide 17

Slide 17 text

Chapter12 ~層化解析法および重み付け法~

Slide 18

Slide 18 text

層化解析法および重み付け法 傾向スコアを用いてATEを計算する2つの方法 1. 層化解析法 2. 重み付け法 (再掲)推定したいATEの真値は「3.756」

Slide 19

Slide 19 text

傾向スコアによる層化解析法(1/3) 交絡因子を使って層に分け,交絡因子の影響を除去 被験者 処置 結果 年齢 性別 1 0 63 20 男 2 0 55 25 女 3 0 59 38 男 8 1 81 26 女 9 1 77 20 男 10 1 81 54 女 層 被験者 処置 結果 年齢 性別 1 1 0 63 20 男 3 0 59 38 男 9 1 77 20 男 2 8 0 55 25 女 8 1 81 26 女 10 1 81 54 女 性別で層化 ※ テキストの表12.1を一部修正 ※ テキストの表12.2を一部修正

Slide 20

Slide 20 text

傾向スコアによる層化解析法(2/3) 平均処置効果(ATE)とその分散は次のように計算できる ただし, - K: 層の数 - N: 全体の標本サイズ - n k : k番目の層における標本サイズ - Y k (1): k番目の層における処置群の平均値 - Y k (0): k番目の層における東征軍の平均値 このような因果推論の妥当性は 「未観測の交絡がないという仮定」の妥当性に依存

Slide 21

Slide 21 text

傾向スコアによる層化解析法(3/3) ATEを推定 3.749(標準誤差: 0.307) → ATEの真値は「3.756」だったので,よく推定できている

Slide 22

Slide 22 text

傾向スコアによる重み付け法(1/3) 傾向スコアの逆数を利用して, - 割当確率が低いデータの結果変数に大きく重み付ける(擬似的に多く 割り当てられた状態にするイメージ) - 割当確率が高いデータの結果変数を小さく重み付ける(擬似的に少な く割り当てられた状態にするイメージ) ことによって,共変量の分布をランダムに割り付けられた状態にし てATEを計算する(イメージの)手法 → IPW(Inverse Probability Weighting)法と呼ばれる

Slide 23

Slide 23 text

下記のように重みw i をつけて,ATEを計算する. 平均処置効果(ATE) 傾向スコアによる重み付け法(2/3) 重み(w) ※より効率的なATEのIPW推定量については,Appendixを参照 ATTを推定する際の重み

Slide 24

Slide 24 text

傾向スコアによる重み付け法(3/3) ATEを推定(共変量あり) 3.816 (標準誤差: 0.311) → ATEの真値は「3.756」だったので,よく推定できている

Slide 25

Slide 25 text

マッチングor層化解析 傾向スコアそのものが正確に予測 できているかどうかはあまり大き な問題ではない. → むしろ,傾向スコアの真値より もモデルから計算した値の方が,標 本データにおけるバランシングを 良くすることも知られている. 補足: 傾向スコアの予測精度 逆確率重みづけ法(IPW) 傾向スコアの予測値が正確である ことが求められる. → 傾向スコアの値が小さい場合, 少しの誤差でもその逆数に大きく 影響するため. 特に,傾向スコアの 分布が端に寄ってい る時は要注意な印象

Slide 26

Slide 26 text

おまけ ~傾向スコア×機械学習~

Slide 27

Slide 27 text

T-Learner 「機械学習×因果推論」のアプローチの1つ.CATEも推定できる. 処置あり・なしの2つの予測モデルを作成し,事実と反事実の予測値の差分 を効果として推定 手元のデータ 処置ありの予測値 処置なし予測値 効果 処置の有無別に 予測モデルを作成 処置ありの 予測モデル 処置なしの 予測モデル 処置の有無に関わらず 各々のモデルに投入

Slide 28

Slide 28 text

X-Learner T-Learnerに傾向スコアを掛け合わせた手法 処置あり・なしの2つの予測モデルを作成し,各々のモデルによる予測値を 傾向スコアの逆確率で重みづけた差分を効果として推定 手元のデータ 処置ありの予測値 × (1 / e) 処置なしの予測値 × (1 / 1-e) 効果 処置の有無別に 予測モデルを作成 処置ありの 予測モデル 処置なしの 予測モデル 処置の有無に関わらず 各々のモデルに投入

Slide 29

Slide 29 text

IPSによるバイアス除去(1/3) 推薦システムの評価の例 ユーザー(U)に商品(I)を推薦する際の各ユーザーがそれぞれの商品に対し て付すRating(Y)を予測し,その性能を推薦ログデータから評価するケース を考える.ただし,R()はYに対するRatingを表す関数,f()は評価関数. 真の性能

Slide 30

Slide 30 text

IPSによるバイアス除去(2/3) 推薦システムの評価の例 ナイーブな推定量: ただし,Oは観測を表す2値確率変数(O=1ならば観測あり)

Slide 31

Slide 31 text

IPSによるバイアス除去(3/3) 推薦システムの評価の例 IPS推定量 詳細はこちらの記事「因果推論で推薦システムを問い直す」をご参照ください リンク: https://qiita.com/usaito/items/c88fd84bce339380b8fa

Slide 32

Slide 32 text

Appendix

Slide 33

Slide 33 text

傾向スコア定理の再掲 傾向スコア定理の補足 定理1: バランシング 傾向スコアe(X)が同じ値であれば, 処置群と統制群における多変量の 共変量Xの分布は同じになる 定理2: 条件付き独立性 傾向スコアが同じ値となる個体で あれば,処置への割付けは無作為と みなせる X ⊥ T | e(X) {Y1, Y0} ⊥ T | e(X)

Slide 34

Slide 34 text

共変量Xが満たすべき条件 傾向スコア定理の補足(前提条件) 条件1: 条件付き正値性 共変量Xで条件づけた際に,処置の 割付け確率が0より大きく1より小 さい 条件2: 条件付き独立性 共変量Xで条件づけた際に,潜在的 結果変数{Y1, Y0}と割付けTが独 立 0 < e(X) < 1 {Y1, Y0} ⊥ T | X

Slide 35

Slide 35 text

傾向スコア定理の補足(定理1:バランシングの証明) X ⊥ T | e(X) (証明) X ⊥ T | e(X) ⇔ P(X, T=1|e(X)) = P(X|e(X))*P(T=1|e(X)) … (*) と書けるので,これを示す.一般に P(X, T=1|e(X)) = P(X|e(X))*P(T=1|X, e(X)) = P(X|e(X))*P(T=1|X)  ∵ e(X)はXの関数 = P(X|e(X))*e(X) … (1) ∵ 傾向スコアの定義: e(X)=P(T=1|X) ここで, P(T=1|e(X))= E T [T|e(X)] =E T [E X [T|X]|e(X)] =E X [P(T=1|X)|X] = e(X) …(2) となるから,(2)式のe(X)=P(T=1|e(X))を(1)式に代入すると(*)が得られる■

Slide 36

Slide 36 text

傾向スコア定理の補足(定理2:条件付き独立性の証明) {Y1, Y0} ⊥ T | e(X) (証明){Y1, Y0} ⊥ T | e(X) ⇔ P(T=1|{Y1, Y0}, e(X)) = P(T=1|e(X)) …(*) と書けるので,これを示す.バランシングの証明の(2)式より (*) ⇔ P(T=1|{Y1, Y0}, e(X)) = e(X) …(**) ここで P(T=1|{Y1, Y0}, e(X)) = E[P(T=1|{Y1, Y0}, X)|{Y1, Y0}, e(X)] = E[P(T=1|X)|{Y1, Y0}, e(X)] ∵ 条件2:(共変量の)条件付き独立性 = E[e(X)|{Y1, Y0}, e(X)] = e(X) (**)が示されたので,(*)が示された■

Slide 37

Slide 37 text

傾向スコア定理の補足(平均処置効果の計算) 平均処置効果(ATE) = E[Y1 - Y0] まず、E[Y1 - Y0| e(X)]を考える E[Y1 - Y0| e(X)] = E[Y1|e(X)] - E[Y0|e(X)] = E[Y1|T=1, e(X)] - E[Y0|T=0, e(X)] = E[Y|T=1, e(X)] - E[Y|T=0, e(X)] ∵傾向スコアe(X)の条件付き独立性 よって、平均処置効果は E[Y1 - Y0] = E e(X) [E[Y1 - Y0| e(X)]] = E e(X) [E[Y|T=1, e(X)] - E[Y| T=0, e(X)]] 3行目が潜在的結果変数Y1, Y0ではなく, 観測される値Yで表されている点がポイント

Slide 38

Slide 38 text

効率的なIPW推定量 テキスト内で紹介されているATE より効率的なATEの推定量(こちらが紹介されることも多い) 先ほどと分子の記述が 異なりますが,表して いる内容は同じです.

Slide 39

Slide 39 text

参考文献(テキスト) - 岩崎(2015)「統計的因果推論」朝倉書店 - 小川(2021)「Pythonによる因果分析」マイナビ出版 - 齋藤(2022)「施策デザインのための機械学習入門」技術評論社 - 高橋(2022)「統計的因果推論の理論と実装」共立出版 - 星野(2009)「調査観察データの統計科学」岩波書店

Slide 40

Slide 40 text

参考文献(Web記事) - 因果推論で推薦システムを問い直す https://qiita.com/usaito/items/c88fd84bce339380b8fa - 傾向スコアを用いた効果検証 https://zenn.dev/s1ok69oo/articles/c058108acb83e7 - EconML公式ドキュメント https://econml.azurewebsites.net/ - PythonによるT-Learnerの実装 https://zenn.dev/s1ok69oo/articles/4a36fee0297234 - PythonによるX-Learnerの実装 https://zenn.dev/s1ok69oo/articles/58580b8f4fbdf8

Slide 41

Slide 41 text

参考文献(Webスライド) - 回帰分析とT-Learner https://speakerdeck.com/s1ok69oo/ji-jie-xue-xi-woyong-itaxiao-guo-jian-zheng-hu i-gui-fen-xi-tot-learner - 傾向スコアとX-Learner https://speakerdeck.com/s1ok69oo/ji-jie-xue-xi-woyong-itaxiao-guo-jian-zheng-qi ng-xiang-sukoatox-learner - 統計的因果推論の理論と実装「潜在的結果変数の枠組み」 https://speakerdeck.com/s1ok69oo/tong-ji-de-yin-guo-tui-lun-noli-lun-toshi-zhua ng-qian-zai-de-jie-guo-bian-shu-nowaku-zu-mi