Upgrade to Pro — share decks privately, control downloads, hide ads and more …

統計的因果探索: 領域知識とデータによる因果構造グラフの推測

統計的因果探索: 領域知識とデータによる因果構造グラフの推測

第18回愛媛大学DS研究セミナー

638dd29baf6aa478d8eb0aeb0075c404?s=128

Shohei SHIMIZU

July 04, 2022
Tweet

More Decks by Shohei SHIMIZU

Other Decks in Science

Transcript

  1. 統計的因果探索: 領域知識とデータによる 因果構造グラフの推測 清水昌平 滋賀大学データサイエンス学系 理化学研究所 革新知能統合研究センター 2022年7月4日 第18回愛媛大学DS研究セミナー

  2. 統計的因果推論の 基礎的事項 2

  3. 因果推論の基本的な考え方 • 反実仮想モデル (Hume, 1748) • 個体における因果 • 同じゼウスなので違う点は、介入(投薬)の有無のみ •

    因果推論の基本問題 (Holland, 1986) 3 病気のゼウス ゼウス: 薬あり ゼウス: 薬なし 治癒? 治癒? (cf. Hernan, 2003)
  4. 代わりに、集団における因果 • Neyman (1923); Rubin (1974) • やっぱり求められない? • 求めることが可能な場合がある

    4 薬 治癒の 割合 治癒の 割合 なし などなどたくさん ≠?
  5. ランダム化実験 • 2つのグループは等質だろう • 年齢、性別、重症度などなどに偏りがない 5 薬 治癒の 割合 治癒の

    割合 なし などなどたくさん ≠? ランダムにグループ分け
  6. ランダム化実験しないとき • 重症な患者に投薬する傾向 • 投薬の有無以外にも重症度が違う: 交絡がある 6 薬 治癒の 割合

    治癒の 割合 なし などなどたくさん ≠? 重症多め 少なめ
  7. 重症度の高低で分ける (層別/調整) • 重症の人のみ集める (軽症の人のみ集める) • 違いは、投薬の有無のみ 7 薬 治癒の

    割合 治癒の 割合 なし などなどたくさん ≠? みな重症
  8. 構造的因果モデル • Pearl (2000) • データ生成過程の数学的記述 • 構造方程式:変数の「値」の決定関係を表す • 介入効果の数学的定義

    𝑝 𝑦 𝑑𝑜 𝑥 = 1 ≔ 𝑝!!"# 𝑦 • 集団における因果効果 𝐸 𝑦 𝑑𝑜 𝑥 = 1 − 𝐸 𝑦 𝑑𝑜 𝑥 = 0 8 モデル 𝑀 : 𝑥 𝑦 𝑒! 𝑒" モデル 𝑀!"# : 𝑥 𝑦 1 𝑒" 𝑥 = 𝑒! 𝑦 = 𝑏$! 𝑥 + 𝑒$ 𝑥 = 1 𝑦 = 𝑏$!𝑥 + 𝑒$
  9. 調整に使う変数を選ぶ • 因果グラフに基づいて選ぶ • DAGの場合の十分条件: バックドア基準 (Pearl, 1995) • 例えば:

    xの親を観測して調整 • 領域知識から因果グラフを描く • 因果グラフが未知の時: 因果探索 9 x y z w u v q 𝐸 𝑦 𝑑𝑜 𝑥 = 1 = 𝐸 %の親 𝐸(𝑦|𝑥, 𝑥の親) 𝐸 𝑦 𝑑𝑜 𝑥 = 1 を𝐸(𝑦!#$)と書くこともある
  10. 因果推論と機械学習 の関わり 10

  11. 公平性 • 効果の分解 • 介入効果=総合効果 • 直接効果と間接効果 • 直接効果 •

    性別は男から女に変えるが、 適性は変えないとき、 雇用される確率はどのくらい変わるか? • これが大きいと、性別について公平でないと考える • 「公平」な機械学習モデルの構築 (Kusner et al.,m 2017) 11 x (性別) y (適性) z (雇用) ) ( ) ( , 男 女 男 = = = - = x y y x z E z E x
  12. 説明性 • 原因の確率 (Pearl, 1999; 黒木, 2014) • 必要性の確率 •

    曝露: 「薬を飲む」や「治療を受ける」 • 現実には曝露を受けて疾患を発症した対象者が 曝露を受けなかったならば疾患を発症しなかったであろう確率 • 他にも十分性の確率・必要十分性の確率などあり • 存在範囲 (Pearl, 1999) • 因果グラフがわかると狭められることあり (Kuroki & Cai, 2011) • AIの説明性ヘの応用 (Galhotra et al., 2021) 12 もしも | 現実 もし曝露を受けなかったら 発症しない 曝露を受ける 発症する
  13. 統計的因果探索 13

  14. 因果探索とは • データを用いて因果グラフを推測するための方法論 • 仮説構築支援 14 Maeda and Shimizu (2020)

    仮定 推測 • 関数形 • 分布 • 未観測共通原因の有無 • 非巡回 or 巡回 など データ 因果グラフ
  15. 因果探索の適用例 https://www.shimizulab.org/lingam/lingampapers/applications-and-tailor-made-methods • 生命科学 (Maathuis et al., 2010) • 医学

    (Kotoku et al., 2020) • 化学 (Campomanes et al., 2014) • 材料 (Nelson et al., 2021) • 気候学 (Liu et al., 2020) • 経済学 (Moneta et al., 2013) • 心理学 (von Eye et al., 2012) • 政策 (高山ら, 2021) • ネットワークデータ (Jarry et al., 2021) 15 Kotoku et al. (2020) Moneta et al. (2013) OpInc.gr(t) Empl.gr(t) Sales.gr(t) R&D.gr(t) Empl.gr(t+1) Sales.gr(t+1) R&D(.grt+1) OpInc.gr(t+1) Empl.gr(t+2) Sales.gr(t+2) R&D.gr(t+2) OpInc.gr(t+2)
  16. フレームワーク • 構造的因果モデル (Pearl, 2001) • 因果モデルに仮定をおき、 その中でデータとつじつまの合うモデルを探す • 典型例1:

    • 非巡回有向グラフ • 潜在共通原因なし(すべて観測されている) • 典型例2: • 非巡回有向グラフ • 潜在共通原因あり 16 x3 x1 e3 e1 x2 e2 𝑥! = 𝑓! (𝑥! の親, 𝑒! ) 誤差変数
  17. 関数形や分布には仮定をおかないアプローチ 1. 因果グラフに仮定をおく: 例えば • 非巡回有向グラフ • 未観測の共通原因なし(すべて観測されている) 2. 仮定を満たす構造の中で、データと(最も)つじつまの合うグラフを選ぶ

    17 x y x y x y 「データでxとyが独立」なら、一番右の(c)を選ぶ (a)と(b)の区別はつかない(一意に決まらない): 同値類 3つの候補 (a) (b) (c) x y 𝑓! 𝑓! : 未観測共通原因
  18. 拡張など • 未観測共通原因を含めた同値類 (Spirtes et al., 1995) • +時間情報の利用 (Malinsky

    & Spirtes, 2018) • 巡回グラフを含めた同値類 (Richardson, 1996) • +未観測共通原因 (Hyttinen et al., 2013) 18 Gerhardus and Runge (2020) x y f w z x y w z x y f1 w z f2 F. Eberhardt CRM Workshop 2016より TiGraMITe Python package https://github.com/jakobrunge/tigramite
  19. 関数形や分布にも仮定を入れてみる「と」 • 条件付き独立性以外にも利用可能な情報がある • 例えば、線形性+非ガウス連続分布 19 x1 x2 x1 x2

    観測変数x1,x2の 分布が違う (条件付き独立性に違いはない)
  20. LiNGAMモデル (Shimizu, Hyvarinen, Hoyer & Kerminen, 2006) • Linear Non-Gaussian

    Acyclic Model (線形非ガウス非巡回モデル): • 𝑘 𝑖 : 𝑥% の因果的(半)順序 (topological order) • 誤差変数 𝑒% は • 非ガウス連続 • 互いに独立 • データ𝑋から係数𝑏-. と順序𝑘 𝑖 が識別可能(一意に推定可能) 20 𝑥# 𝑥& 𝑥' 因果グラフ 𝑥- = 2 / . 0/(-) 𝑏-. 𝑥. + 𝑒. 𝑒' 𝑒# 𝑒& 𝑏&# 𝑏#'
  21. 具体的には、非ガウス性と独立性をどう使うか? 21 x1 x2 e1 e2 正しいモデル 結果x2を原因x1に回帰 原因x1を結果x2に回帰 2

    1 21 2 1 1 1 2 2 ) 1 ( 2 ) var( ) , cov( e x b x x x x x x r = - = - = は独立 と ) 1 ( 2 1 1 ) ( r e x = 残差 ( ) ) var( var ) var( ) , cov( 1 ) var( ) , cov( 2 1 21 1 2 2 1 21 2 2 2 1 1 ) 2 ( 1 x x b e x x x b x x x x x r - þ ý ü î í ì - = - = は と ) 2 ( 1 2 1 21 2 ) ( r e e b x + = 2 e 従属 ガウスだと 無相関=独立 𝑥1 = 𝑒1 𝑥2 = 𝑏21 𝑥1 + 𝑒2 𝑏%$ ≠ 0
  22. DirectLiNGAMアルゴリズム (Shimizu et al., 2011) • 因果的順序𝑘(𝑖)の上から下へ順に推定 • 1番上を見つけて、残差を計算 •

    残差もLiNGAMモデル: 因果関係は変わらない • p>nの場合への拡張 (Wang & Drton, 2020) • 並列化+GPUで高速化 (Shahbazinia et al., 2021) 22 ú ú ú û ù ê ê ê ë é + ú ú ú û ù ê ê ê ë é ú ú ú û ù ê ê ê ë é - = ú ú ú û ù ê ê ê ë é 2 1 3 2 1 3 2 1 3 0 3 . 1 0 0 0 5 . 1 0 0 0 e e e x x x x x x 0 0 0 0 0 0 0 0 ú û ù ê ë é + ú û ù ê ë é ú û ù ê ë é - = ú û ù ê ë é 2 1 ) 3 ( 2 ) 3 ( 1 ) 3 ( 2 ) 3 ( 1 0 3 . 1 0 0 e e r r r r 0 0 ) 3 ( 2 r ) 3 ( 1 r x3 x1 x2 0
  23. • 𝑥. は最初(𝑘 𝑥. = 1): どの変数の子にもならない • どの回帰残差とも独立な変数が最初の変数 因果的順序が最初の変数の同定

    23 定理1: 「 は その残差 のどれとも独立 (𝑖は𝑗以外全部)」⟺ 「𝑥. は最初」 ( ) j j j i i j i x x x x x r ) var( ) cov( , - = j x x3 x1 x2 x3 x1 x2
  24. 背景知識の利用 https://lingam.readthedocs.io/en/latest/tutorial/pk_direct.html • 因果的(半)順序の推定における利用 • 例: 背景知識が 𝑘 𝑥% <

    𝑘 𝑥( なら𝑥% が選ばれるまで𝑥( は選ばない • 枝刈りにおける利用 • 𝑘 𝑥% < 𝑘 𝑥( なら 𝑥( を𝑥% の親候補にしない 24 å å + - の親候補 の親候補 i i x j ij ij x j j ij i ols b b x b x : 2 : ) ( ˆ l ) 3 ( 2 r ) 3 ( 1 r x3 x1 x2
  25. LiNGAM Python package https://github.com/cdt15/lingam 25 ぜひstarを! 池内さん SCREEN AS

  26. 統計的信頼性評価 • 有向道や有向辺のブートストラップ確率 • 例えば、閾値0.05を越えるものを解釈 26 x3 x1 … …

    x3 x1 x0 x3 x1 x2 x3 x1 99% 96% 総合効果: 20.9 10% https://lingam.readthedocs.io/en/latest/tutorial/bootstrap.htm
  27. 複数データセット (Ramsey et al. 2011, Shimizu, 2012) • c個の集団に対するモデル: •

    共通の生成順序:分布とパス係数は違ってもよい • 類似性を利用して精度向上 • https://lingam.readthedocs.io/en/latest/tutorial/multiple_dataset.html 27 ( ) c g e x b x g i i k j k g j g ij g i ,..., 1 ) ( ) ( ) ( ) ( ) ( ) ( = + = å < x3 x1 x2 e1 e2 e3 4 -3 2 x3 x1 x2 e1 e2 e3 -0.5 5 集団1 集団2
  28. 未観測共通原因の存在を許すLiNGAM (Maeda & Shimizu, 2020) • 未観測共通原因のありそうな変数ペア • 未観測共通原因がない変数ペアの因果の向き •

    非線形加法版 (Maeda & Shimizu, 2021) • 未観測中間変数 28 https://lingam.readthedocs.io/en/latest/tutorial/rcd.html !! !" "" !# 真 出⼒ !$ !! !" !# !$ "!
  29. 非線形モデル • 非線形回帰して説明変数と残差が独立か調べる (Hoyer et al., 2009; Zhang & Hyvarinen,

    2009; Peters et al. 2014) 29 x1 x2 e1 e2 正しいモデル 結果𝑥& を原因𝑥# に非線形回帰 原因𝑥# を結果𝑥& に非線形回帰 説明変数𝑥1 (= 𝑒1 )と残差は独立 𝑥1 = 𝑒1 𝑥2 = 𝑓(𝑥1 ) + 𝑒2 説明変数𝑥2 と残差は従属
  30. 課題的なこと • 離散変数と連続変数の混在 (Tsagris et al., 2018; Wei et al.,

    2018; Zeng et al., 2022) • 現状は、離散変数のみ/連続変数のみを仮定するアルゴリズムが多い • 動的システム (e.g., Bongers et al., 2018) • 現状は、平衡状態に達しているとして解析 30
  31. まとめ: 因果推論「も」するAIをつくる • 因果推論では因果グラフが鍵 • 因果探索: 因果グラフを描くことを支援 • データからわかる限界の理論的解明 •

    領域知識のみでは難しくても、データ助けを借りて、その時点で手に入る情報を最大限に生かして因果グラフ を設定 • AIによる支援の対象を、分類や回帰などだけでなく因果推論へも広げる • リサーチクエスチョンは相関に基づく予測だけではない 31 因果グラフを描く 何を推定したいか 決める データから推定 できるか判定 評価 実験・調査の 計画に生かす 変数の追加 仮定の変更 データ再収集 (回帰などで) 推定 因果探索で⽀援