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

グラフカルモデルによる統計的因果推論入門

 グラフカルモデルによる統計的因果推論入門

統計的因果推論を理解するためにグラフィカルモデルの使い方を学び、因果探索の世界に足を踏み入れる

Tetsuro Shimada

July 30, 2020
Tweet

More Decks by Tetsuro Shimada

Other Decks in Science

Transcript

  1. 5 ▪ サンプルサイズ設計 ▪ 実験計画法 ▪ ランダム化比較試験(RCT) ▪ パラメータ推定(推測統計) ▪

    有意差検定 ▪ 多変量解析 ▪ 回帰分析 ▪ 判別分析 従来の統計学 データ 収集 分析 ゴールデンスタンダード
  2. 6 ▪ 合致する基準が多くなるほど因果関係の確実性が高まる 1. 関連の強固性(Strength):原因と結果の関連が強い 2. 関連の一貫性(Consistency):異なる地域、集団、時間でも同一の事象が起こる 3. 関連の特異性(Specificity):原因と結果が1対1対応 4.

    時間性(Temporality):原因が結果よりも時間的に先行 5. 生物学的用量反応勾配(Biological gradient):原因と結果がなだらかな関係である 6. 生物学的蓋然性(Plausibility):生物学的に矛盾なく説明できる 7. 整合性(Coherence):既知の知識体系と矛盾しない 8. 実験的証拠(Experiment):関連を支持する実験的研究が存在 9. 類似性(Analogy):既存の類似した関連により裏付けられる Hillの判定基準(Bradford Hill criteria, 1965) The Environment and Disease: Association or Causation? https://www.edwardtufte.com/tufte/hill 因果関係: http://jspt.japanpt.or.jp/ebpt_glossary/causation.html
  3. 7 ▪ 広く認められる(自明な)因果関係を対象とする ▪ A/Bテストでバナーを見た後にクリックするかは、 原因と結果の時間的前後関係により因果関係は自明とみなす ▪ なるべく原因と結果の1対1関係を作る ▪ RCTにより交絡因子の影響を除く

    ▪ 多重共線性などで原因と結果の関連が大きく変化しないように、 共変量をなるべく減らす ▪ 強い関係性があることを確認する ▪ 原因とする変数をどの程度変化させたら、結果とする変数がどの 程度変化するのかを確認 因果関係を認めるためのざっくり方針
  4. 8 ▪ RCTができない場合どうする? ▪ RCTはコストがかかる(天気をランダム化する) ▪ RCTが統制群に(投薬機会など倫理的な)不利益をもたらす ▪ (法律の施行など)全員が実験群で、統制群を割り当てられない ▪

    因果について興味がある際に、パラメータを推定すること が妥当なのか? ▪ 検定統計量や回帰係数を求めると因果が分かる? ▪ 因果関係はパラメータを求める手続きの外で決める? いくつかの疑問
  5. 10 統計的因果推論の流派 目的 • 介入(intervention)と 反事実(counterfactual)の定式化 • データ生成過程で興味のある 全変数の定式化 •

    傾向スコア • 操作変数法(IV) • 回帰分断デザイン(RDD) • 差分の差分法(DID) • Causal Impact 方針 用語 • 構造的因果モデル(SCM) • グラフィカルモデル • 統計的因果探索 • データ生成過程のモデルは小さく • All in oneなモデル Rubinの潜在反応モデル Pearlの構造的因果モデル 本資料中で説明
  6. 11 ▪ 反事実に妥当な仮定を導入し、因果効果差を推定する ▪ 反事実のデータがあれば教師あり機械学習と枠組みが同じため、 反事実機械学習(CFML: Counterfactual Machine Leaning)の研究が進む 【補足】Rubin流の枠組み

    実験群 = 1 統制群 = 0 欠測 欠測 実験群のデータ 統制群のデータ 全対象者に共通して得られる変数 介入ありの 結果変数 介入なしの 結果変数 共変量 = 1 − 0 = 1 − (0 ) 因果効果差あるいは 平均処置効果(ATE: Average Treatment Effect) 1 0 反実仮想機械学習: https://www.ai-gakkai.or.jp/my-bookmark_vol35-no4/
  7. 12 【補足】Rubin流の参考資料 調査観察データの統計科学 https://www.iwanami.co.j p/book/b257892.html 効果検証入門 https://gihyo.jp/book/2020 /978-4-297-11117-5 入門 統計的因果推論

    https://www.asakura.co.jp /books/isbn/978-4-254- 12241-1/ ▪ グラフィカルモデルから入る方が理解が容易 Uber causalml: https://github.com/uber/causalml Google CausalImpact: https://google.github.io/CausalImpact/ Microsoft Dowhy: https://github.com/microsoft/dowhy
  8. 13 本資料の参考図書 入門 統計的因果推論 https://www.asakura.co.jp /books/isbn/978-4-254- 12241-1/ 岩波データサイエンス Vol.3 https://www.iwanami.co.j

    p/book/b243764.html 確率的グラフィカルモデル https://www.kyoritsu- pub.co.jp/bookdetail/9784 320111394 統計的因果探索 https://www.kspub.co.jp/b ook/detail/1529250.html
  9. 16 ▪ 外生変数の集合を、内生変数の集合を、の値を決める 関数の集合をとする ▪ 集合の変数はモデルの外部に存在(生成過程は説明されない) ▪ 集合の変数は少なくとも一つの外生変数の子孫 ▪ 外生変数には先祖が存在せず、グラフにおいては源点

    ▪ すべての外生変数の値が分かれば、関数によりどの内生 変数の値も正確に決定される ▪ 主に非巡回的有向グラフ(DAG: Directed Acyclic Graph)を扱う 構造的因果モデル(SCM: Structural Causal Model)の導入
  10. 17 ▪ 年間の教育を修了し、年の職務経験のある従業員に 支払う給料を示す 構造的因果モデルの例 = , , = ,

    = : = 2 + 3 X Z Y 構造的因果モデル(SCM) グラフィカルモデル(因果グラフ) グラフィカルモデルでXとYはZの直接原因とわかる ただし、Zを決定する関数が不明 そのため、SCMより情報量が落ちる グラフィカルモデルは分析者の定性的な因果関係の 知識を表現するために使われる 因果の仮定を外生変数の集合、 内生変数の集合、 内生変数を決める関数の集合で 記述するものがSCMである
  11. 18 ▪ グラフがDAGの場合、変数の同時分布は条件付き確率分布 (子|親)を順次掛け合わせることにより得られる 逐次的因数分解の法則 1 , 2 , ⋯

    , = ෑ ( | ) は変数 の親の変数の値 X Z S Y T , , , , = , (|) グラフを用いない場合は、独立や周辺化などを利用して 式変形することで因数分解形式を得る 同時確率分布にDAGを仮定して得られる因数分解形式は 同時確率分布の良い近似であると知られている
  12. 19 ▪ 同時分布(, , , , )において各変数が2値とすると(, , , ,

    )のパターンは 32 − 1 = 31で、 (, , , , )セットの観測値が90得られたとする ▪ 31パターンのうち観測値の無いものも出てきてしまう ▪ 因数分解しておけば、例えば(|)を求めたい場合は = 1, = 1 , = 0, = 1 , = 1, = 0 , = 0, = 0 の4パターンを考えれば良く、 90の観測値でいずれかが空集合となる確率は低くなる 因数分解形式の利点 X Z S Y T , , , , = , (|)
  13. 22 ▪ 以下のSCMは同じグラフィカルモデルとなる 連鎖経路(1/3) U X X U Y U

    Z Y Z 学校の資金、模試成績、大学進学率 = , , , = , , , = { , , } : = : = 3 + : = 16 + スイッチ、回路、電球 = , , , = , , , = { , , } : = : = ቊ 回路は閉じている = ∩ = 0 ∪ ( = ∩ = 1) 回路は開いている(その他の場合) : = ቊ 点灯 = 閉じている ∩ = 0 ∪ ( = 開いている ∩ = 1) 消灯(その他の場合) SCM1 SCM2
  14. 23 1. とはおそらく従属 ( = | = ) ≠ (

    = )となる, が存在する 2. とはおそらく従属 ( = | = ) ≠ ( = )となる, が存在する 3. とはおそらく従属 ( = | = ) ≠ ( = )となるz, が存在する 4. とはの下で条件付き独立である ∀, , = = , = = ( = | = ) 連鎖経路(2/3) U X X U Y U Z Y Z
  15. 24 連鎖経路(3/3) U X X U Y U Z Y

    Z ▪ の値について条件付きとは、の取り得る値で場合分けと同義 ▪ = の場合での値を変化させると = を満たすように が変化 ▪ はと にのみ依存しており、 に依存していないため の値が変化してもの値は変化しない 2つの変数との間に有向道がただ一つあり、 変数の集合がその道を遮断する場合、 とはの下で条件付き独立である 言い換えるとの情報により、とのpathがblockする 連鎖経路における条件付き独立性 ※誤差項 , , が互いに独立である場合にのみ成り立つ
  16. 25 ▪ 以下のSCMは同じグラフィカルモデルとなる 分岐経路(1/3) 気温、アイスクリームの売上、犯罪 = , , , =

    , , , = { , , } SCM1 : = : = 4 + : = 10 + U X X U Y U Z Y Z 2つの電球とスイッチ = , , , = , , , = { , , } : = : = ቊ 点灯 = ∩ = 0 ∪ ( = ∩ = 1) 消灯(その他の場合) : = ቊ 点灯 = ∩ = 0 ∪ ( = ∩ = 1) 消灯(その他の場合) SCM2
  17. 26 分岐経路(2/3) U X X U Y U Z Y

    Z 1. とはおそらく従属 ( = | = ) ≠ ( = )となる, が存在する 2. とはおそらく従属 ( = | = ) ≠ ( = )となる, が存在する 3. とはおそらく従属 ( = | = ) ≠ ( = )となるz, が存在する 4. とはの下で条件付き独立である ∀, , = = , = = ( = | = )
  18. 27 分岐経路(3/3) U X X U Y U Z Y

    Z ▪ の値について条件付きとは、の取り得る値で場合分けと同義 ▪ X = の場合での値を変化させるとX= を満たすように が変化 ▪ はXと にのみ依存しており、 に依存していないため の値が変化してもの値は変化しない 変数がとの共通の原因で、 との間の道がただ一つ存在する場合、 の下でとは条件付き独立である 言い換えるとの情報により、とのpathがblockする 分岐経路における条件付き独立性 ※誤差項 , , が互いに独立である場合にのみ成り立つ
  19. 28 合流点(1/2) U Z Z U Y U X Y

    X 1. とはおそらく従属 ( = | = ) ≠ ( = )となる, が存在する 2. とはおそらく従属 ( = | = ) ≠ ( = )となる, が存在する 3. とは独立である すべての, について = = = ( = ) 4. とはの下でおそらく条件付き従属である ∃, , = = , = ≠ ( = | = ) なぜ2つの独立した変数が共通の結果について条件付けすると突然従属になる?
  20. 29 ▪ = + の場合を考える ▪ とが独立した変数であれば、 = 3とわかってもの値は分からない ▪

    = 10が与えられると、 = 3から = 7が分かる ▪ 従って、 = 10でとは従属である 合流点(2/2) 変数がとの合流点であり、との間の道が ただ一つである場合、とは周辺独立であるが、 の下で、またの子孫の下で条件付き従属である とに従属関係が発生すると、たとえばの変化がの変化に影響を与えるので、 従属性を起こすような因果のメカニズムを想定してしまうが この場合は因果関係は存在しない 合流経路における条件付き従属性 U Z Z U Y U X Y X
  21. 30 ▪ 複雑なグラフィカルモデルにおいて、着目する2変数間が従属か独立かを判定 するプロセスをd分離と呼ぶ d分離性(有向分離、d-separation) Y X Z Z d分離される(独立)

    Y X Z Z Z d連結(従属) 道がノード集合によりブロックされているとは 1. は連鎖 → → または分岐 ← → を含み、中央のノードがに含まれる 2. は合流 → ← を含み、合流点がに含まれない、かついかなるの子孫もに含まれない d分離 Z Y X d連結(従属)
  22. 33 ▪ と1 はによりd分離されているのでの下で条件付き独立 ▪ ここでをと1 に重回帰する ▪ = +

    1 1 ▪ もし1 ≠ 0だと、はが与えられた下で1 に依存し、 モデルは間違っていることになる ▪ 真のモデルはと1 の間にd連結が存在するはず ▪ モデルを局所的に検証することにより、 モデルの修正箇所の判別は容易となる d分離性を利用した因果探索 X Y W Z 1 Z 2 Z 3
  23. 35 ▪ データ生成過程を未知とし、データからデータ生成過程を 推定する 因果探索の基本問題 X Y U X U

    XY U Y = , , , = , , = , = , , , Y = ( , ) X Y U X U XY U Y = , , , = , , = , = , , Y = (, , ) X Y U X U XY U Y = , , , = , , = , = , , Y = ( , ) 観測1 観測2 観測n … データ行列 X Y 仮定:どれかがデータを生成 問題:どれが生成したかを推定
  24. 36 ▪ 同じデータを生成するグラフは複数存在する 因果グラフの候補 X Y Z X Y Z

    X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z 3変数のDAGで未観測共通原因が無い場合
  25. 39 ▪ 外生変数を一様分布に従うとして、線形のデータ生成モデ ル(SCM)からサンプルデータを生成 LiNGAMによる因果グラフの学習(1/2) https://github.com/cdt15/lingam/blob/master/examples/DirectLiNGAM.ipynb x3 = np.random.uniform(size=10000) x0

    = 3.0*x3 + np.random.uniform(size=10000) x2 = 6.0*x3 + np.random.uniform(size=10000) x1 = 3.0*x0 + 2.0*x2 + np.random.uniform(size=10000) x5 = 4.0*x0 + np.random.uniform(size=10000) x4 = 8.0*x0 - 1.0*x2 + np.random.uniform(size=10000) X = pd.DataFrame(np.array([x0, x1, x2, x3, x4, x5]).T ,columns=['x0', 'x1', 'x2', 'x3', 'x4', 'x5']) X.head()