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

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

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

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

Shohei SHIMIZU

July 04, 2022
Tweet

More Decks by Shohei SHIMIZU

Other Decks in Science

Transcript

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

    View Slide

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

    View Slide

  3. 因果推論の基本的な考え方
    • 反実仮想モデル (Hume, 1748)
    • 個体における因果
    • 同じゼウスなので違う点は、介入(投薬)の有無のみ
    • 因果推論の基本問題 (Holland, 1986)
    3
    病気のゼウス
    ゼウス: 薬あり
    ゼウス: 薬なし
    治癒?
    治癒?
    (cf. Hernan, 2003)

    View Slide

  4. 代わりに、集団における因果
    • Neyman (1923); Rubin (1974)
    • やっぱり求められない?
    • 求めることが可能な場合がある
    4

    治癒の
    割合
    治癒の
    割合
    なし
    などなどたくさん
    ≠?

    View Slide

  5. ランダム化実験
    • 2つのグループは等質だろう
    • 年齢、性別、重症度などなどに偏りがない
    5

    治癒の
    割合
    治癒の
    割合
    なし
    などなどたくさん
    ≠?
    ランダムにグループ分け

    View Slide

  6. ランダム化実験しないとき
    • 重症な患者に投薬する傾向
    • 投薬の有無以外にも重症度が違う: 交絡がある
    6

    治癒の
    割合
    治癒の
    割合
    なし
    などなどたくさん
    ≠?
    重症多め
    少なめ

    View Slide

  7. 重症度の高低で分ける (層別/調整)
    • 重症の人のみ集める (軽症の人のみ集める)
    • 違いは、投薬の有無のみ
    7

    治癒の
    割合
    治癒の
    割合
    なし
    などなどたくさん
    ≠?
    みな重症

    View Slide

  8. 構造的因果モデル
    • Pearl (2000)
    • データ生成過程の数学的記述
    • 構造方程式:変数の「値」の決定関係を表す
    • 介入効果の数学的定義 𝑝 𝑦 𝑑𝑜 𝑥 = 1 ≔ 𝑝!!"#
    𝑦
    • 集団における因果効果 𝐸 𝑦 𝑑𝑜 𝑥 = 1 − 𝐸 𝑦 𝑑𝑜 𝑥 = 0
    8
    モデル 𝑀 :
    𝑥
    𝑦
    𝑒!
    𝑒"
    モデル 𝑀!"#
    :
    𝑥
    𝑦
    1
    𝑒"
    𝑥 = 𝑒!
    𝑦 = 𝑏$!
    𝑥 + 𝑒$
    𝑥 = 1
    𝑦 = 𝑏$!𝑥 + 𝑒$

    View Slide

  9. 調整に使う変数を選ぶ
    • 因果グラフに基づいて選ぶ
    • DAGの場合の十分条件: バックドア基準 (Pearl, 1995)
    • 例えば: xの親を観測して調整
    • 領域知識から因果グラフを描く
    • 因果グラフが未知の時: 因果探索
    9
    x y
    z
    w
    u
    v
    q
    𝐸 𝑦 𝑑𝑜 𝑥 = 1 = 𝐸
    %の親 𝐸(𝑦|𝑥, 𝑥の親)
    𝐸 𝑦 𝑑𝑜 𝑥 = 1 を𝐸(𝑦!#$)と書くこともある

    View Slide

  10. 因果推論と機械学習
    の関わり
    10

    View Slide

  11. 公平性
    • 効果の分解
    • 介入効果=総合効果
    • 直接効果と間接効果
    • 直接効果
    • 性別は男から女に変えるが、
    適性は変えないとき、
    雇用される確率はどのくらい変わるか?
    • これが大きいと、性別について公平でないと考える
    • 「公平」な機械学習モデルの構築 (Kusner et al.,m 2017)
    11
    x (性別) y (適性)
    z (雇用)
    )
    (
    )
    (
    , 男
    女 男
    =
    =
    =
    -
    =
    x
    y
    y
    x
    z
    E
    z
    E
    x

    View Slide

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

    View Slide

  13. 統計的因果探索
    13

    View Slide

  14. 因果探索とは
    • データを用いて因果グラフを推測するための方法論
    • 仮説構築支援
    14
    Maeda and Shimizu (2020)
    仮定
    推測
    • 関数形
    • 分布
    • 未観測共通原因の有無
    • 非巡回 or 巡回 など
    データ 因果グラフ

    View Slide

  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)

    View Slide

  16. フレームワーク
    • 構造的因果モデル (Pearl, 2001)
    • 因果モデルに仮定をおき、
    その中でデータとつじつまの合うモデルを探す
    • 典型例1:
    • 非巡回有向グラフ
    • 潜在共通原因なし(すべて観測されている)
    • 典型例2:
    • 非巡回有向グラフ
    • 潜在共通原因あり
    16
    x3
    x1
    e3
    e1
    x2 e2
    𝑥!
    = 𝑓!
    (𝑥!
    の親, 𝑒!
    )
    誤差変数

    View Slide

  17. 関数形や分布には仮定をおかないアプローチ
    1. 因果グラフに仮定をおく: 例えば
    • 非巡回有向グラフ
    • 未観測の共通原因なし(すべて観測されている)
    2. 仮定を満たす構造の中で、データと(最も)つじつまの合うグラフを選ぶ
    17
    x y x y x y
    「データでxとyが独立」なら、一番右の(c)を選ぶ
    (a)と(b)の区別はつかない(一意に決まらない): 同値類
    3つの候補
    (a) (b) (c)
    x y
    𝑓!
    𝑓!
    : 未観測共通原因

    View Slide

  18. 拡張など
    • 未観測共通原因を含めた同値類 (Spirtes et al., 1995)
    • +時間情報の利用 (Malinsky & Spirtes, 2018)
    • 巡回グラフを含めた同値類 (Richardson, 1996)
    • +未観測共通原因 (Hyttinen et al., 2013)
    18
    Gerhardus and Runge (2020)
    x y

    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

    View Slide

  19. 関数形や分布にも仮定を入れてみる「と」
    • 条件付き独立性以外にも利用可能な情報がある
    • 例えば、線形性+非ガウス連続分布
    19
    x1
    x2
    x1
    x2
    観測変数x1,x2の
    分布が違う
    (条件付き独立性に違いはない)

    View Slide

  20. LiNGAMモデル
    (Shimizu, Hyvarinen, Hoyer & Kerminen, 2006)
    • Linear Non-Gaussian Acyclic Model (線形非ガウス非巡回モデル):
    • 𝑘 𝑖 : 𝑥%
    の因果的(半)順序 (topological order)
    • 誤差変数 𝑒%

    • 非ガウス連続
    • 互いに独立
    • データ𝑋から係数𝑏-.
    と順序𝑘 𝑖 が識別可能(一意に推定可能)
    20
    𝑥#
    𝑥&
    𝑥'
    因果グラフ
    𝑥-
    = 2
    / . 0/(-)
    𝑏-.
    𝑥.
    + 𝑒. 𝑒'
    𝑒# 𝑒&
    𝑏
    𝑏#'

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  25. LiNGAM Python package
    https://github.com/cdt15/lingam
    25
    ぜひstarを!
    池内さん
    SCREEN AS

    View Slide

  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

    View Slide

  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

    View Slide

  28. 未観測共通原因の存在を許すLiNGAM
    (Maeda & Shimizu, 2020)
    • 未観測共通原因のありそうな変数ペア
    • 未観測共通原因がない変数ペアの因果の向き
    • 非線形加法版 (Maeda & Shimizu, 2021)
    • 未観測中間変数
    28
    https://lingam.readthedocs.io/en/latest/tutorial/rcd.html
    !!
    !"
    ""
    !#
    真 出⼒
    !$
    !!
    !"
    !#
    !$
    "!

    View Slide

  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
    と残差は従属

    View Slide

  30. 課題的なこと
    • 離散変数と連続変数の混在 (Tsagris et al., 2018; Wei et al., 2018; Zeng et al., 2022)
    • 現状は、離散変数のみ/連続変数のみを仮定するアルゴリズムが多い
    • 動的システム (e.g., Bongers et al., 2018)
    • 現状は、平衡状態に達しているとして解析
    30

    View Slide

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

    View Slide