岩波データサイエンスシリーズvol.3「因果論 実世界のデータから因果を読む」読書メモ

機械学習技術 人工知能技術 数学 デジタルトランスフォーメーション技術  統計的因果推論/探索 本ブログのナビ
サマリー

「相関関係」ではない「因果関係」に対して検討する技術が「因果推論」や「因果探索」となる。因果推論と因果探索は、両方とも因果関係を分析する方法だが、「因果推論」は因果関係を検証するための手法であるのに対して、「因果探索」は因果関係を発見するための手法となり、目的とそのアプローチに違いがある。

因果推論は、実験データや観察データから因果関係を特定するための形式的な手法となる。これは例えば、2つのグループに分けて実験を行い、2つのグループの間に統計的な差異があることを確認することで、特定の介入が因果効果を引き起こしていることを推論するものとなる。因果推論の主なアプローチとしては(1)介入変数をランダムに割り当てて実験を行う「ランダム化実験」、(2)自然界で起こる現象を介入変数とみなす「自然実験」、(3)統計的な処理で介入を受けたグループと介入を受けていないグループの間の混同を解消する「傾向スコアマッチング」、(4)観察データから統計的に因果効果を推定する「線形回帰モデル」などがある。

ここでは、岩波データサイエンスシリーズvol3「因果推論――実世界のデータから因果を読む」をベースに、因果推論を中心に様々な理論と応用について述べる。

今回は読書メモについて述べる。

岩波データサイエンスシリーズvol.3「因果論 実世界のデータから因果を読む」読書メモ

Vol.3 特集=因果推論―実世界のデータから因果を読む観察データ,とくに再現不可能な現実データからいかに因果関係を読みとるか.データの欠失・バイアス・制約条件などのため解析は困難だが,それだけに現場からの強い期待がある.サイエンティストに必須でかつ市民の教養としても基本となる「因果の方向」「交絡」「介入」に関する入門解説から,すぐに役立つ解析手法までを紹介する.」

因果推論ことはじめ

因果には向きがある

相関関係
Xを大きい時にとYも大きくなる
因果関係
Xを大きくするとYも大きくなる
身長を増やすと体重は増えるが、体重を増やしても身長は増えるわけではない
因果推論の二つの方法
層別解析
回帰モデルの利用
因果を相関と見誤ると何が困るのか?
原因を触って結果をコントールしたい
データのまとめ方によって結果が異なる
2つの変数の関係を検討する際には、他の要因の影響を見なければならない
シンプソンのパラドクス
全体での相関と部分ごとの相関が逆になる
因果関係・因果効果・反復仮想
相関関係
2つの変数の間に一方の変数の値が大きい先に他方の変数の値も大きい(あるいは小さいょといった直線的な関係がある
因果関係
要因Xを変化させた時に要因Yも変化する場合のXとYの間の関係
因果関係判定のガイドライン
原因変数
原因を示す関数
結果変数
結果を示す関数
介入(intervention)
要因を操作して変化させること
因果効果
因果関係の強さ
同じ人物が介入を受けた場合の結果変数の値と介入を受けなかった時の結果変数の値の差
反実仮想(反事実 counterfactual)
もし⚪︎⚪︎だったら結果がどうなったかと考えること
交絡
因果ダイアグラム(因果グラフ)
四角の中は観測され変数

交絡(confounding)
直接は関係ないが、共通の要因が影響を与えるもの
交絡因子(confounding factor)
XとYに影響を与えている共通の要因C
疑似相関(spurious correlation)
本当は関係のない変数間に交絡によって生じる相関関係
RCTで交絡に対処する
ランダム化比較試験 (randomized controlled trial)
介入を実施するかしないかを無作為にわりつける
因果関係が交絡かどうかを見分ける方法
パスを切断=変数を固定
観察研究による因果推論
常に未知の交絡要因があると考えた方が良い
層別解析
結果変数が変化した場合に、(1)原因変数が変化したためなのか、(2)交絡変数が変化したためなのかがわからない
交絡変数を固定してやる
層別解析
交絡因子の値により対象をいくつかの層(strata)に分ける
層ごとに解析を行う
結果を統合して全体における現変数と結果変数の正しい関係を得る
層別解析の例
連続量の交絡因子を離散化して層別解析を行い、yに対するxの因果効果を正しく推定する
1. 両者の相関係数が約0.8の乱数x, zを発生
2. yを以下のモデルから生成 y = 1.5x + 1.1z + e (e:正規乱数)
層別解析を行わない場合
層別解析を行った場合 zを4つの場合に離散化
回帰係数をその分散の逆数で重みをつけた平均
回帰モデルの利用
層別解析以外のアプローチ
交絡因子をモデルに追加して重回帰モデルを作る
一般化線形モデル(generalized linear model)でも原因変数と共変量を同時にモデルに投入することで、共変量の影響を排除した原因変数の結果ヘーンスウの影響の有無を調べられる
従属変数(結果変数)と説明変数(原因変数または共変量)の間に線型性が家庭できる場合のみ
バックドア基準
回帰モデルの利用の例
その他の因果推論の方法
その他の方法:マッチング
交絡因子について同一もしくは近い値をとるものをペアにして(この操作をマッチングと呼ぶ)、片方に介入し、もう片方には介入しないで結果変数を測定
多くの共変量を同時に考える場合に便利な手法
利用すべき共変量を傾向スコア(propensity score)という一次元の寮にまとめる方法

時系列の因果と相関

時系列から因果をよもとるのは慎重に
因果関係がありそうに見える時系列データの例

相関と因果と丸と矢印の話 初めてのバックドア基準

概略

バックドア基準
因果関係を示しているかどうかの基準

1. まずは「因果関係」の定義から

「要因Xを人為的に変化させた(介入した)とき、要因Yも変化する」時、「要因X→要因Yの因果関係がある」と呼ぶ
壁にあるスイッチを押した時にどのライトがつくのか

2. 相関≠因果となるパターンのイメージをつかもう

(1) 因果の方向が逆のケース

サンゴの生存率とサンゴの捕食者Oの個体密度相関関係
捕食者Oは死にかけのサンゴしか食べない
サンゴの生存率の低下→捕食者Oの増加
逆は存在しない

(2) 因果の上流側に共通の要因が存在するケース

交絡要因もしくは合流点を持つ因果構造の例
バックドア基準
どの変数を説明変数として加えるべきでないか

(3) 因果の合流点において選抜されているケース

図2-C の変数Z「合流点(collider)」
「X→Y」の因果関係がなくても、XとYの間に相関が生まれることがある
因果がないのに相関が生まれる場合
合格ラインできるとあたかも相関があるように見える

3. 回帰分析の枠組みで復習 – 回帰係数と介入効果の値が「ズレる」とき

(1) ある丘にある「人工池の水位の例」を用いて説明していきます

「介入効果」と因果構造の関係をイメージするための例
丘の上にはX池が、丘の下にはY池があって水路で繋がっている
Y = βX,Y X + γ + 誤差
XからYの介入はβで考えられるが、YからXへの介入効果は0cm(上式から逆算できない)

(2) 因果の上流側に共通の要因が存在することにより生じる「ズレ」
(3) 合流点で選抜することにより生じる「ズレ」
(4) 中間変数を用いることにより生じる「ズレ」

4. 着地への準備 – マジで「バックドア基準」の5秒前

(1) 上流側の共通要員からの流れを「遮断」するべし
(2) 合流点は加えないほうがよい
(3) 中間変数は加えてはいけない

5. いざ「バックドア基準」に着地する

(1) さあ、「バックドア基準」をカジュアルな用語で置き換えてみよう
(2) 練習問題を解いて理解を確かめてみよう

5. 着地のあとに – もっと学びたい方へのガイド

「バックドア基準が満たされている」場合には、「強い無視可能性が成り立っている」
シンプソンのパラドックス(どの変数で層別するかによって推定結果が変わってしまう問題)
その背景にある因果構造がわかれば、どの変数で層別化すべきかについての明確な指針をバックドア基準によって得ることができる

準実験のデザイン

概要

観察データから因果関係を導き出す方法
準実験(Quasi-expriment)
ランダム化比較試験で因果関係は証明できる

1. 操作変数(Instrumental Variable :IV)法

IV:介入に影響を与えるものの、アウトカムには介入を通してのみしか影響を与えない変数
IVを用いて、介入のアウトカムへの因果効果を推定する解析方法
IVとアウトカムの相関を、IVと介入との相関で割り算することで、介入とアウトカムの相関の強さを計算する
操作変数法のイメージ図

2. 回帰分析デザイン(Regression discontinuity design RDD)

ある連続値(Z)の値が特定のカットオフ値よりも高いか即位かによって介入群(X=1)ニワリツケラレルカ、コントロール群(X=0)に割り付けられるかが決まる

3. 中断時系列デザイン(Interuupted time-series analysis ITS)

RDDにおける介入割付のための連続変数Zを「時間」にしたもの
自己相関を考慮する必要が出てくる
時系列の相関構造を用いた一般化推定方程式(GEE:generalized estimating equations)
自己回帰和分移動平均モデル(ARIMA:Autoregressive integrated moving average model)
中断時系列デザインにおけるレベルとトレンドの関係
中断時系列デザインの例

4. 量の差分析(Difference-in-differences analysis DID)

統計的因果効果の基礎 特に傾向スコアと操作変数を用いて

1. 反実仮想 – 後悔先に立たず、そして後を絶たず

反実仮想(もし実際と違って〜していた場合の結果)
ルービン因果モデル
反実仮想をデータから行う統計学の枠組み

2. 潜在的結果変数とルービン因果モデル – 後悔や施策の効果を評価する枠組み

変数Z
2値変数(Z=0,1)の介入有無のインディケーター変数
変数Y
結果変数
Y0:もしその人がZ=0という結果を受けた場合
Y2:もしその人がZ=1という条件を受けた場合
例:スマホゲームのCMの効果検証
二週間の間にCM接触したらZ=1, 非接触ならZ=0
その後の2週間の利用時間
Y1:テレビCMを見た場合の、ゲーム利用時間
Y0:テレビCMを見なかった場合の、ゲーム利用時間
Y1とY0は同時に測定できない
潜在的には存在しうるがZの値によって観測できるものが違う
潜在的結果変数 (potential out-comes)
Y = Z × Y1 + (1-Z) × Y0
Z=1ならY1, Z=0ならY0
CMが利用時間に与える効果
Y1 – Y0

3. 因果推論の根本問題と集団としての因果効果

個人では同時に見れないが、特定の母集団の中で考えることはできる
因果効果
平均処置効果(Average Treatment Effect : ATE)
ATE = E(Y1-Y0) = E(Y1) – E(Y0)
母集団による因果効果をデータから推定するための前準備
データが得られている人がN人(サンプルサイズがN)

4. 調査観察データからの因果効果推定の仮定

5. 因果効果の推定法

(1) 回帰モデルを用いた方法
(2) マッチングと層別解析
(3) 傾向スコア
1) 傾向スコアを用いたマッチング(Propencity score matching)・層別解析
2) 傾向スコアによる共分散分析
3) 傾向スコアによる逆確率重み付け法 (Inverse Probability Weighting:IPW)
4) 二重にロバストな推定法

6. 共変量の選択問題

7. 操作変数法

(1) 操作変数法で因果効果が推定できるための条件
(2) 局所的処置 -RCTの「不都合な真実=不服従」のによる解決
(3) いくつかの課題
(4) Takewayと議論

[付録1] RCTで本当に因果律を推定できるのか?
[付録2] Mバイアスについて

因果効果推定の応用 CM接触の因果効果と調整効果

1. 調整効果と一般的な周辺パラメトリックモデル
2. データの紹介と単純な平均値差の解析の問題点
3. セレクションバイアス
4. 平均処置効果ATEの推定
5. 処置群における平均処置効果ATTの推定
6. 調整効果を利用した再解析

傾向スコアを用いたバント効果の推定 ノーアウト1塁のバントは、得点確率を高めるか?

1. バント作戦の有効性を示すために行うこと

②と③のデータの欠損を傾向スコアを用いて推論
(1) バント作戦が無作為化比較対象実験とみなせる場合の因果効果
(2) 割り付けが共変量に影響される場合
バント作戦の因果効果を、 逆確率重み付き推定量(InverseProbability WeightingEstimator:IPW推定量)と 二重にロバストな推定量(Doubly Robust Estimator:DR推定量)を用いて推定
(3) バント作戦の得点確率に対する因果効果の推定
IPW推定量と、誤差分散の推定量の計算結果
IPW推定量に基づく推論の注意点
Doubly Robust推定量に基づく解析とその結果
データの解析で使用した共変量のリスト
(4) 解析結果のまとめ

2. まとめ

差の差法で検証する「保育所整備」の効果 社会科学における因果推論の応用

1. 差の差法とは何か

1.1 基本的考え方

保育所定員数を増やすことを処置とみなし、 大きく保育所定員が増えたものを処置群、 少ししか増えなかった都道府県を対象群とする

1.2 共変量の利用

1.3 処置変数が連続の場合

2. 保育所整備は女性の就業を増やしたか

2.1 データ

2.2 回帰分析

3. 差の差法を適用する上での注意点

差の差法が成り立つためには一定の仮説が成り立つことが前提
信頼性を上げるためには、それが成り立っていないシナリオを想定して、それが実際に起こっていないことを別のデータで示す必要がある

4. 差の差法の拡張 – 三重差分法

5. おわりに

モンテカルロ法と傾向スコア

インポータンスサンプリング

グラフ表現超速習

無向グラフ
「相関」:間接的なものを含んだ影響が「独立性」に対応
「直接の影響」を定義するには「条件付き独立性」の概念を利用
条件付き独立性p(xi,xj|x-ij)=p(xi|x-ij)p(xj|x-ij)が成立する⇔頂点iと頂点jを結ぶ辺がない
多変量正規分布の構造が無向グラフで規定される時
ガウシアングラフィカルモデル:GGM
有向グラフ – モデルを条件付き確率の積で表現する
DAGモデル (Directed Acyclic Graphical model)
有向グラフ – 因果関係を表現する
因果ダイアグラム

正定値行列の情報幾何

1. ガウシアングラフィカルモデル

グラフィカルモデル
変数間の依存関係を明示的に反映して記述する統計モデル
変数間の依存関係を変数に対応する接点と 接点の間を結ぶ枝の集合からなるグラフという数学的概念で表現する
ガウシアングラフィカルモデル
正規分布によるグラフィカルモデル
マルコフ確率場の典型例
例:気温と扇風機の売り上げとクーラーの売り上げ
扇風機の売り上げとクーラーの売り上げに相関があるように見えるが
気温と扇風機、気温とクーラーの相関が間接的に反映
扇風機とクーラーの売り上げは独立
p(扇風機、クーラー|気温) = p(扇風機|気温)p(クーラー|気温)
標本分散共分散逆行列
データの標本分散共分散行列の逆行列
偏相関行列
標本分散共分散逆行列の対角行列を1になるように行と列を尺度変換する
例への適用
扇風機とクーラーの相関(2,3)要素がゼロになっている
扇風機とクーラーの売り上げの間に直接の関係はない
偏相関関数
変数i,j以外を全て固定した条件の下での変数i,jの相関
データからがウシアングラフィカルモデルのグラフ構造を推定
偏相関行列を計算し、非対角要素の内0に近いものを0にする
パラメータが4つの例(気温、景気、扇風機、クーラー)

2. ガウシアングラフィカルモデルの最尤推定と凸最適化

ガウシアンモデルの利点
最尤推定が行例空間上の凸最適化となる
最尤推定
データが生成される「確率」をできるだけ大きくするように パラメータを調整して推定する
データが生成される「確率」
尤度
ガウシアングラフィカルモデルの最尤法
N個のn次元データx(1), …, x(N)
非ゼロ要素dij, (i, j) ∈ℊ
尤度関数
対数尤度関数

3. ガウシアングラフィカルモデルの情報幾何

特性関数
ポテンシャル
双対ポテンシャル
半正定置計画
ダイバージェンス
カルバック・ライブラー(KL)情報量
ルジャンドル変換

4. 結論

ガウシアングラフィカルモデリングは、 条件付き独立性に着目したデータ構造を最尤推定に基づき 標本共分散行列から探る手法
対応するグラフがコーダルグラフの場合は、 最尤法が線形代数の演算だけで求められる

確率と論理を融合した確率モデリングへの道3

1. 論理に基づく確率モデリング

可能世界はエルブラン基底から {1(真), 0(偽)}へのマップ
可能世界は2|B|個ある(|B|は集合Bの濃度)
Bが有限の場合は可能世界を数え上げ、 各世界の和が1になるように確率を割り振る

2. 分布意味論

無限の世界を扱う確率モデル
マルコフ連鎖(Markov chain)
PCFG(確率自由文脈文法)
計算機の世界への展開
Prologを確率プログラミング言語に拡張
プログラミング言語の確率化が目的の場合
プログラムに確率的要素を導入
確率的Turing Machine
状態遷移に確率を導入
Prologの場合
Prologの呼び出し節の選択を確率的に行う
計算を確率化するだけ
分布意味論
サイコロによる確率的選択
基本分布
加算個のカテゴリカル分布の直積分布
例:カテゴリカル分布がベルヌーイ分布
基本分布は0,1の無限列の全体 (0, 1)∞の上の確率分布
分布意味論では この固定された基本分布を論理プログラムで加工することにより 現実世界を近似するより複雑な分布を作り出す
確率的論理プログラムが 可能世界上の確率測度を定義しなければならない
分布意味論
プログラムの数学的意味を定める表示意味論 (denotational semantics)の一種
通常の非確率的論理プログラムの標準的意味論である 最小モデル意味論(least model semantics)とKolmogorovの拡張定理を利用して 基本分布を可能たせ会場の分布に拡張する
論理プログラムを書くことにより いくらでも複雑な分布が表現可能になる
example
BN
LDA
HMM
PCFG
PRISM
カテゴリカル分布に従うmsw( * , * )という形の組み込み確率述語を prologで使えるようにしたもの

3. PRISMのモデル例と確率計算

例:ABOの血液型の遺伝のメカニズムのモデル化
A,B,O血液型に関わる 対立遺伝子(allele) a, b, o
個体の遺伝子が(a, a), (a, o), もしくは(o, a)ならば血液型はA
親世代の対立遺伝子の分布(頻度)をP(a)=0.5, P(bb)=0.2, P(o)=0.3
集団遺伝子学のハーディング・ワインベルジの法則により、 対立遺伝子の頻度は世代間で普遍
子世代は、 父親世代と母親世代から 対立遺伝子をその分布にしたがって1つづつもらう
受け取ったペアにより血液型が決まる
上記の例のプリズムによるプログラム化
確率的基底アトム
msw( abo, *)
values(about, [a, b, o], [0.5, 0.2, 0.3])
P(msw(abo, a)) = 0.5
P(msw(abo, b)) = 0.2
P(msw(abo, o)) = 0.3
(2)
gtype(Gf, Gm)により遺伝型[Gf, Gm]を求める
pg_table(X, [Gf, Gm])により 遺伝型[Gf, Gm]から 表現型である血液型Xを計算
(3)
述語pg_table(X, [Gf, Gm])の定義
遺伝型[Gf, Gm]と表現型Xの論理的関係を記述
(4)
確率的組み込み述語msw( * , * )を使う PRISM特有のプログラミング
msw(abo, Gf)を実行すると aboと名付けたサイコロを振り、 父親世代から遺伝子Gfを(a, b, o)から (1)節で指定された確率に従ってサンプルして返す

4. パラメータ学習

データから逆にパラメータを推定することができる
最尤/MAP推定
EMアルゴリズム
Viterbi学習法

5. ベイズ推論

Dirichlet分布を使ったベイズ推定
MCMC法の提供
Metropolis-Hastingsアルゴリズム
変分ベイズ法
EMアルゴリズムと相似

6. 発展的話題

6.1 生成的CRF

Logistic-regression, linear-chain CRFなどに有用
判別的確率モデル

6.2 無限計算

バイオインフォマティクスにおける 代謝ネットワークの代謝物質と酵素のように 要素が確率的相互作用を行なっている確率システム
依存関係にループが生じて 確率の無限和を計算する必要が生じる

7. おわりに

 

コメント

  1. […] 岩波データサイエンスシリーズvol.3「因果論-実世界のデータから因果を読む」読書メモ […]

タイトルとURLをコピーしました