機械学習プロフェッショナルシリーズ-統計的因果探索 読書メモ

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

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

因果探索は、潜在的な因果関係を発見するための手法であり、結果を予測する可能性がある変数を識別するためにデータを探索するものとなる。具体的なアルゴリズムとしては(1)2つの変数間の相関を計算し、相関係数を算出する「相関分析」、(2)変数間の因果関係を表す有向グラフを作成しグラフの構造から因果関係を推定する「因果グラフ理論」、(3)変数間の因果関係を表す構造方程式モデルを構築し、モデルに基づいてデータを解釈する「構造方程式モデル」、(4)適切な回帰モデルを選択することで、因果関係を推定する「回帰分析」などがある。因果探索はその他にも様々な機械学習アルゴリズムが適用されている。

ここではこの因果探索に関して機械学習プロフェッショナルシリーズ「統計的因果探索」をベースに様々な理論や応用について述べる。

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

機械学習プロフェッショナルシリーズ-統計的因果探索 読書メモ

膨大なデータから、いかにして原因と結果の関係を見いだすのか? 「LiNGAM」(線形非ガウス非巡回モデル)を開発した第一線の研究者が、基礎事項から発展的話題まで平易に説き起こす。因果推論・因果探索に必携。」

第1章 統計的因果探索の出発点

1.1 はじめに
1.2 因果探索における最大の困難・相似相関
チョコレート消費量とノーベル賞受賞者の散布図
複数の因果関係が同じ相関を与える場合がある
3つの因果関係が考えられるが、どれも同じ相関関係になる
「チョコレートの消費量が多ければ、ノーベル賞の受賞者が多い」という「相関関係」がある
用語の意味
観測変数(observed variable)
観測されている変数
未観測変数(unobserved variable)
未観測の、データが収集されていない変数
因果グラフ(causal graph)
矢印の始点が原因、矢印の終点が結果の変数
「因果効果の大きさがどれくらいか」というような定量的な情報は、因果グラフには含まれていない
共通原因(common cause)
複数の変数の共通の原因
未観測共通原因 (hidden common cause)
未観測な共通原因
擬似相関(spurious correlation)
因果関係はないのに相関関係が現れるギャップ(隔たり)
データ生成過程 (data generating process)
データが生成される過程
変数の「値」がどういう風に決まるのかという手順
1.3 相似相関の数値例
3種の因果グラフでの生成過程
ノーベル賞の受賞者の数をy
チョコレートの消費量をx
GDPをz
誤差変数(error variable)をex, ey
ey:ノーベル賞の受賞者の変数話決めるパラメータで、チョコレートの消費量とGDP以外の変数を全て一つにまとめたもの
ex:チョコレートの消費量のうちGDP以外の変数を全て一つにまとめたもの
Yの生成過程
Y = byxx + λyzz +ey
話を簡単にするためにひとまず線形性と仮定
線形性
変数yの値が、変数xと変数zおよび誤差変数eyの値の足し算で書ける
y,x,z,eyは確率変数
byx, λyzは定数
添字:一つ目の文字が左辺の変数、二つ目の文字が対応する右辺の変数を表す
x = λxzz + ex
3種の因果グラフの式と散布図
xとyの生成過程の式は異なるが
xとyの相関は同じになる
1.4 本性のまとめ

第2章 統計的因果推論の基礎

2.1 導入
実質科学(substantial science)
自然科学や社会科学なとり基礎科学や工学・医学なとり応用科学
主な目的
因果関係を明らかにすること
方法論(methodology)
統計学や機械学習
主な目的
実質科学の目的を達成するための方法そのものの研究
統計的因果推論
因果関係についてデータから推論するための方法論
何かを変化させたとき、 何か他のものが変化すれば、 その2つは因果関係にある
数学的にどう表すことができるのか?
2.2 反事実モデルによる因果の定義
はじめに
因果の意味を明確にするために、 「半事実モデル(counterfactual model)」を説明する
2.2.1 個体レベルの因果
「固定レベルの因果(unit-level causation)」 という概念の導入
(A) 例による説明
ある個体(ヒト種)
アルデヒド脱水素酵素の活性が強く、酒に強い体質
名前「イシダケイコ」
年齢「35歳」
性別「女性」
日本語を話す
職業「データサイエンティスト」
職場は市街地、住居は郊外
通勤は一時間
Etc..
個体Aはある病気にかかっていて、 ある薬が個体Aの病気を治すかどうかに興味がある
それを調べるために 2つの行動の結果を比較する
個体Aに薬を飲んでもらう
個体Aに薬を飲まないでもらう
個体について考える因果関係を
個体レベルの因果と呼ぶ
(B) 記号による説明
薬を飲むかどうかをxで表す
x=1ならば薬を飲む
x=0ならば薬を飲まない
3日後に病気にかかっているかどうかをyで表す
y=1なら3日後に病気にかかっている
y=0なら3日後に病気にかかっていない
2.2.2 因果推論の根本問題
個体の因果をデータを用いて 調べようとするときの問題
2つの行動の結果を両方とも観測することが不可能
常に一方しか観測できない
因果推論の根本問題 (fundamental problem of causal inference)
2.2.3 集団レベルの因果
「集団レベルの因果(population-level causation)」 という概念の導入
2.3 構造方程式モデルによるデータ生成過程の記述
構造方程式モデル (structural equation models)
変数の値が決定される手順
データ生成過程を記述する数学的な道具
どのように変数の値が決定されるかを表現するために、 構造方程式という等式を使う
例:薬と病気の例
病気にかかっているかを表す変数yの値が どのように決定されているかというデータ生成過程
y = fy(x, ey)
構造方程式 (structural equation)
左辺が右辺で定義される
y: 病気にかかっているか (1:病気にかかっている 0:病気にかかっていない)
ey:yの値を決定するために 寄与しうるx以外の全ての変数を まとめて表す誤差変数
xとyは観測変数、eyは未観測変数
xに関するデータ生成過程
x = fx(ēx)
誤差変数ēは、 xの値を決めることに寄与する 変数全てをまとめて表す
簡単な表現
x = ex
構造方程式モデルでのデータ生成過程の例
exとeyの両方向の矢印は、 exとeyが独立ではなく 従属している可能性があることを表す
従属しているならある観測のexがわかると、 そのeyの値がどれくらいかをある程度予測できる
変数y
内生変数(endogenous variable)
構造方程式の左辺に登場する変数
他のどの変数の値によって決まるかが構造方程式によって記述される
誤差変数exとey
外生変数(exogenous variable)
構造方程式の右辺のみに登場する変数
どんな変数からどのような手順で生成されるかは記述されていない
構造方程式の4つのモデル
内生変数
外生変数
内生変数と外生変数をつなぐ関数
外生変数の確率分布
構造方程式モデルが表す変数の値の訂正的な決定関係を 「因果グラフ」を用いて表現する
構造方程式の右辺にある各変数が、 左辺の変数の値を計算するために必要かもしれないとき
左辺の変数へ有向辺を描く
モデルないの2つの変数の間に、 未観測共通要因の存在が疑われているとき
その2つの変数に付随する誤差変数の間に両方向の有効辺を描く
構造方程式の一般化
vi = fi(𝒗, 𝒖)
vi: 内生変数
𝒗: p個の内生変数のベクトル 𝒗 = [v1,…,vp]T
𝒖 : q個の外生変数のベクトル 𝒖 = [u1,…,uq]T
関数f = {f1,…,fp}
2.4 統計的因果推論の枠組み:構造的因果モデル
はじめに
構造的因果モデル (Structural causal model)
因果推論のための代表的な枠組み
2つのモデルを基礎としている
半事実モデルという因果のモデル
構造方程式モデルというデータ生成過程のモデル
2.4.1 集団レベルの因果の表現
反事実モデルにおける集団レベルの因果の、 構造方程式モデルによる表現
「介入(intervention)」と呼ばれる行動を 構造方程式を用いて表現
ある変数xに介入するとは
「他のどの変数がどんな値を取ろうとも、変数xの値を定数cにとる」 ことを意味する
他の変数: 観測される変数も観測されない変数も含めて全て
doという記号を用いて do(x=c) と表す
介入はモデルの外から行う
例:薬と病気
薬を飲むかどうかを表す変数xにの介入するとは
年齢や性別、病気の重症などにかかわらず、必ず薬を飲んでもらう つまりxの値を1にとる (あるいは決して飲まないでもらう(xの値を0にする)
構造方程きモデルにおける、介入d0(x=c)とは
「xのデータ生成過程を表す構造方程式を、 別のデータ生成過程を表す構造方程式であるx=cと取り換える」 ことにあたる
xの値がx=cという構造方程式から常に生成される
介入を含んだ構造方程式 Mx=c
Mの右下のx=cは、xに介入してその値をcに定めたことを示す
x=c
y=fy(x,ey)
介入を含んだ因果グラフ
変数の生成が「自然にお任せ」から xの値は、介入されて、定数cになる
未観測共通要因が存在しなくなる
自律性の仮定 (Autonomy assumption)
構造方程式のどれを入れ替えても、 それ以外の構造方程式の関数や外生変数の分布は変わらない
例: 薬と病気
薬を飲んでもらうという介入をしても、 病気と薬をつなぐ関数fyは変わらない
Yに付随する誤差変数eyの分布も変わらない
xに介入した後のyの確率分布p(y|do(x=c))
p(y|do(x=c)) := pMx=c(y)
記号:=は、左辺を右辺で定義するという意味の記号
右辺のpMx=c(y)は、構造方程式モデルMx=cにおけるyの分布
xの値をcに定めるという介入をしたときのyの分布は 介入することで新しくできる構造方程式モデルMx=cにおけるyの分布
集団レベルの因果の構造方程式モデルでの表現
介入後のyの確率分布が異なるようなxの値cとdがあれば
この集団において、xはyの原因となる
p(y|do(x=c)) ≠ p’y|do(x=d)) となるcとdがあれば
この集団において、xはyの原因となる
xとyは因果関係にある
例:薬と病気
薬を飲んでもらう場合と飲んでもらわない場合とで 3日後に病気にかかっているかどうかの分布が異なれば
p(y|do(x=1)) ≠ p(y|do(x=0))
この集団において、薬を飲むかどうかが病気が治るかどうかの原因となる
薬を飲んでもらう場合に病気が治る確率が、 飲まないでもらう場合よりも大きい場合
p(y=0|do(x=1)) > p(y=0|do(x=0))
この集団においては、薬を飲むという行動には、病気を治す効果がある
2.4.2 因果効果の大きさの定量化
因果関係にある場合に、その因果効果はどれくらいになるのか?
変数xから変数yへの因果効果の 大きさを定量化する一派難的な方法
平均的な差を評価する方法
E(y|do(x=d)) – E(y|do(x=c))
平均因果効果 (average casual effect)
x=dに定めた場合とcに定めた場合の 仮想集団Mx=cとMx=dにおけるyの期待値 E(y|do(x=d))とE(y|do(x=c))の差
変数xの値を定数cから定数dに変化させたとき、 変数yの値がどのくらい変化するかを表している
因果効果の大きさを知りたい時は、相関係数ではなく、平均因果効果を計算する
例:薬と病気
xに介入した場合
平均因果効果
E(y|do(x=d)) – E(y|do(x=c)) = E(byxd + ey) – E(byxc + ey) = byx(d-c)
xを変化させた分であるdとcの差に、xの係数byxを欠けたもの
Yに介入した場合
Yの値をcからdに変化させたときのyからxへの平均因果効果
E(x|do(y=d)) – E(x|do(y=c)) = E(ex) – E(ex) = 0
Yの値を変化させてもxは変化しない
グラフで有向辺がない
2.4.3 個体レベルの因果の表現
構造方程式モデルでの、個体レベルの因果の表現
例:薬と病気
個体Aに薬を飲んでもらった場合に (介入してxの値を1に定めた場合に)、 3日後病気にかかっているかどうか
をyx=1(A)で表す
右上の(A)が、個体Aの値であることを示す
Yの右下のx=1が「xに介入して、その値を1に定めた」ことを表す
yx=1(A)とyx=0(A)が異なれば
個体Aにおいて、 薬を飲むかどうかが、 病気が治るかどうかの原因となる
構造方程式モデルでの表現
準備
構造方程式モデルの式
x=ex
y=fy(x, ex)
この介入前の構造方程式モデルが表す 集団の一員である個体Aのxとyの値の生成
個体Aの誤差変数exとeyの値がex(A)とey(A)
xとyの値は上式から
x=ex(A)
y=fy(ex(A), ey(A))
この集団のxに対して、 xの値を1に定めた場合の構造方程式モデルMx=1
x=1
y=fy(x,ey)
個体における因果の表現
yx=d(A) ≠ yx=c(A)
となるcとdがあれば「個体Aにおいて、xはyの原因となる」
2.4.4 出来事の説明
集団レベルの因果も個体レベルの因果も 「もし介入した場合にどうなるか」という予測を表現する
構造因果モデルは、このような予測だけでなく 「過去に起きた出来事の原因はなんだったのか」 という説明(explanation)も表現できる

勉強時間(x)と得点(y)の構造方程式モデル
2.5 ランダム化実験
因果関係を推論する上で、最も分析が単純になる 「ランダム化実験(randomized experiment) (無作為化実験)」という方法
例:薬と病気
ランダム化実験では、 それぞれの個体が薬を飲むかどうか(xの値を)ランダムに決める
こうすると薬を飲むかどうかは、 他のどの変数とも独立に決まる
その後、それぞれの個体が3日後に病気のかかっているかどうか(y)を調べる
ランダム化実験
構造方程式
x=ēx
誤差変数ēxは、 成功確率1/2のベルヌーイ分布に従う確率変数
薬を飲むかどうかをランダムに決めることを表す
xの値はランダムに決めるので、 その値の生成に寄与するような変数はない
2つの誤差変数ex,eyは独立
y=fy(x,ey)
2.6 本章のまとめ
介入に基づいて定義される因果関係を数学的に記述するためには、 確率論の言葉では足りない
Doという記号の導入
因果効果の大きさを図るために、相関係数ではなく、平均効果を計算する
ランダム化実験は平均因果効果の推定法の一つ
時間的順序という事前知識から、 ありうる因果の向きが決まる
ランダム化により、 2つの誤差変数を独立にすることで、 doの入った期待値が通常の条件付き期待値と同じになる
平均因果効果をデータから推定

第3章 統計的因果探索の基礎

3.1 動機
統計的因果研究の2つの方向性
因果グラフを既知として、 どのような条件で 因果に関する予測や説明が可能なのかを 明らかにする研究
因果グラフを未知として、 どのような条件で因果グラフが推測可能かを 明らかにする研究
統計的因果探索
統計的因果探索が必要とされる例
抑うつ性と睡眠障害
相関係数は0.77
因果関係の候補
睡眠障害が抑うつ気分の原因となる
抑うつ気分が睡眠障害の原因となる
抑うつ気分と睡眠障害は因果関係にない
3つの仮説候補を表す因果グラフ
ランダム化実験を行うことは実質的に困難
ランダム化実験を行わずに、因果グラフを推測する方法
ランダム化を使わない代わりに特別な仮説を置く必要がある
ランダム化の完全な代替になるわけではない
3.2 因果探索の枠組み
擬似相関の利用
相関関係と因果関係のギャップ
どのような条件が成り立てば、観測変数の分布に違いが現れるのか
統計的因果探索の枠組み
3.3 因果探索の基本問題
因果探索の基本問題
変数
X,y: 観測変数、内生変数
Z:未観測共通原因、外生変数
Ex,ey:誤差変数、未観測の外生変数
モデルA
x=fx(z,ex)
y=fy(x,z,ey)
p(z,ex,ey)=p(z)p(ex)p(ey)
外生変数z,ex,eyは独立
モデルB
x=fx(y,z,ex)
y=fy(z,ey)
p(z,ex,ey)=p(z)p(ex)p(ey)
外生変数z,ex,eyは独立
モデルC
x=fx(z,ex)
y=fy(z,ey)
p(z,ex,ey)=p(z)p(ex)p(ey)
外生変数z,ex,eyは独立
自律性(autonomy)を仮定
構造方程式のどれを取り替えても、 それ以外の構造方程式の関数や外生変数の分布は変わらない
3つのモデルA,B,Cのどれかからデータ行列Xが生成されたと仮定
データ行列Xを生成したのが 3つのモデルのうちどれなのかを推測
外生変数z,ex,eyが確率密度関数p(z,ex,ey)に基づいて生成
内生変数xとyは関数fxとfyにて生成される
観測されたxとyの確率分布p(x,y)から元の因果グラフを推測
統計的因果探索の主要な研究課題
「関数形と外生変数の分布に どのような過程が成り立てば、 元の因果グラフをどの程度推測できるのか」 を明らかにする
3.4 因果探索の基本問題への3つのアプローチ
分ける基準
関数fxとfyにどのような過程を置くのか
外生変数z,ex,eyの分布p(z),p(ex),p(ey)にどのような過程を置くのか
3.4.1 ノンパラメトリックアプローチ
関数形にも外生変数の分布にも仮定を「おかない」アプローチ
関数形は、線形でも非線形でも良い
外生変数の分布も、ガウス分布でもそれ以外でもなんでも良い
3つのモデルのうち、どのモデルがデータ行列Xを生成したかは推測できない
「因果モデルの復元」ではなく
「できるだけ仮定をおかずに、 データのみからどの程度推定できるか」 という限界を明らかにする
推定できるかどうかが問題
3.4.2 パラメトリックアプローチ
関数形にも外生変数の分布にも仮定を置くアプローチ
分析者の事前知識を仮定としてモデルに取り入れる
関数形に線形性を、外生変数の分布にガウス分布を仮定することが多い
パラメトリックなアプローチと ノンパラメトリックなアプローチの組み合わせもよく使われる
パラメトリックアプローチで訂正的な因果関係を表す因果グラフを推測
そのグラフをもとに、因果効果の大きさを定量化する平均因果効果をノンパラメトリックアプローチで推測する
関数に線形性を、 外生変数にガウス分布を仮定しても、 どのモデルも同じ観測変数の分布になる
A,B,Cのうちどのモデルがデータ行列Xを生成したのか推測できない
3.4.3 セミパラメトリックアプローチ
関数形には仮定をおくが、外生変数の分布には仮定をおかないアプローチ
関数形に線形性を、外生変数の分布に非ガウス分布を仮定するアプローチ
Linear Non-Gaussian Acyclic Model (線形非ガウス非巡回モデル)
外生変数はガウス分布以外であればなんでも良い
データ行列Xが、3つのモデルA,B,Cのうち、どれから生成されたのかを推測可能
非ガウス分布はガウス分布よりも多くの情報が含まれるので、 モデルA,B,Cの観測変数の分布を変えることができる
(A) ガウス分布と非ガウス分布
ガウス分布と非ガウス分布
ガウス分布の持つ情報は 全て、平均と分散・共分散に集約される
非ガウス分布では、 平均と分散・共分散が決まっても、 歪みかたや尖かたは異なる
歪み方、尖り方、凹み方に関する情報が必要
LiNGAMアプローチでは、 ガウス分布にはない情報を用いて因果グラフを推測する
非ガウス性の利用
(B) 過程の選択は良い塩梅を総合的に判断
3.5 3つのアプローチと識別可能性
3つのアプローチを、 因果グラフの識別可能性(identifiability)の観点から比較する
ある仮定の下で 「因果グラフの構造が異なれば、 観測変数の分布が必ず異なる」場合
その仮定の下で因果グラフは識別可能であるという
観測変数の分布の違いをてかがりに、 元の因果グラフを復元可能
仮定として未観測共通原因はないものとする
全て観測されている
因果グラフの候補の中から非巡回の仮定を選択
閉路(cycle)がないとする仮定
有効非巡回グラフ (directed acyclic graph)
反対の概念
有効巡回グラフ (directed cyclic graph)
3.5.1 未観測共通要因がない場合の基本的な問題設定
観測変数がp個の場合
P個の観測変数をx1,x2,…,xpで表す
各変数xi(I=1,…,p)のデータの生成仮定を 構造方程式を用いて表すと
xi=fi(x1,…,xi-1,xi+1,…,xp,ei) (I=1,…,p)
xiを含まない変数群
因果グラフ
左:未観測変数があり、巡回が許されているケース
右:未観測変数はなく、巡回も許されていないケース
家系図に見立てた変数間の関係
追加する仮定の典型例
誤差変数(ei(i=1,..,p)は独立である
「未観測共通原因がない」と同意
因果関係が非巡回である
上記の2つの過程が入った構造方程式
xi=fi(pa(xi),ei) (i=1,…,p)
pa(xi) : 観測変数xiの親に当たる観測変数の集合 paはparentsの略

観測変数x3の親の集合はpa(x3)={x2}
観測変数x4の親の集合はpa(x4)={x3,x7}
観測変数x1には親がないのでpa(x1)={}
上例での構造方程式モデル例
例1
x1=e1
x2=log(x1/e1)
x3=5×1+e3
例2
x1=e1
x2=3x1x3+e2
x3=e3
3.5.2 未観測共通要因がなく線形の場合の基本的な問題設定
はじめに
3つのアプローチのちがいを比較
できるだけ共通の設定で比較できるようにする
誤差変数が連続変数
関数が線形関数
構造方程式
係数bijは定数
間観測変数xiの値は、 それぞれの親になりうる観測変数xj∈Pa(xi)の値と 誤差変数eiの値の線形和によって決まる
(A) 平均直接効果
係数bijの大小は、 観測変数xjから観測変数xiへの 「直接的」な因果効果の大きさの大小を表す
「直接的」とは、 「他の観測変数の値をなんらかの値に定めても、 依然として因果効果が残る」 という意味

元の構造方程式モデル
平均因果効果を計算するためのモデル (x1に介入)
誤差変数e2,e3を用いて書き直すと
上式を用いて平均因果効果を計算する
介入によりx1の値をcからdに変化させると、 x3の値が平均的に(b31+b32b21)(d-c)だけ変化する」
複数の経路を通して伝わる因果効果の大きさをまとめて定量化する
他の変数を経由しないもの
直接効果
他の変数を経由するもの
間接効果
平均直接効果を計算するためのモデル (x1とx2に介入)
平均直接効果 (Average direct effect)
x2=c2, x1=cとして介入
介入後のx3を求める
この式を用いてx1からx3への平均直接効果を計算する
x2の値を介入によりc2に定めたままにした時、 x1の値を介入によりcからdに変化させると、 x3の値が平均的にb31(d-c)だけ変化する
(B) 行列による表現
構造方程式
係数bijは定数
間観測変数xiの値は、 それぞれの親になりうる観測変数xj∈Pa(xi)の値と 誤差変数eiの値の線形和によって決まる
このモデルには、構造方程式が全部でp本ある
行列を使ってまとめて書くと
ベクトルxとeはそれぞれp次元の列ベクトル
観測変数xiと外生変数eiを第i成分にもつ
行列Bはpxpの正方行列
係数bijを第(iej)成分にもつ
行列Bのどの成分が0で、どの成分が0出ないかが どの変数からどの変数へ有向辺がないか どの変数からどの変数へ有効辺があるか を示している
対角成分biiは必ず0
変数から出て変数に変える閉ループはない
例:3変数の場合の表現
統計的因果探索の目的
Pxnのデータ行列Xが、上式の構造方程式モデルから生成されるという仮定のもとで
データ行列Xを用いて、未知の係数行列Bを推定すること
因果グラフを書くことができる
どの観測変数が、どの観測変数の親であるかわかる
観測変数xiの親の集合pa(xi)が分かれば、 xiに介入した場合の期待値を条件付き期待値によって求められる
介入してxiの値をcに定めた場合の xjの平均E(xj|do(xi=c))は
xiとその親全てで条件づけしたときの期待値E(xj|xi=c, pa(xi))を さらにxiの親に当たる観測変数pa(xi)で平均をとることで求められる
例:チョコレートとノーベル賞
Xjがノーベル賞受賞者の数
xiがチョコレートの消費量
pa(xi)がGDP
因果グラフの例
xiからxjへの平均因果効果の計算
説明変数に加えてはいけない変数の例
Xhは「中間変数(intermediate variable)」
xhはxiの子であり、xjの親
xiから出発してxjにたどり着く途中にある
xiの子孫かつxjの親に当たる変数を説明変数に加えてはいけない
その変数を経由する因果効果がのぞかれてしまうため
Xjの子である場合も不可
因果グラフを既知としたとき、 どの変数を加えて良いかどうか
統計的因果推論の主要な話題
既知でない場合は、分析者が因果グラフを「統計的因果探索」で推測する
3.5.3 ノンパラメトリックアプローチと識別可能性
因果グラフを推測するための標準的な原理
因果マルコフ条件 (casual Markov condition)
観測変数間の条件付き独立性に基づく推測原理
「変数それぞれが、 その親にあたる変数で条件づけると、 その非子孫の変数と独立になる」こと
pa(xi)はxiの親に当たる観測変数の集合
記号∏は、数列の積
未観測共通原因がなく 非巡回の構造方程式であれば 一般的に成り立つ
線形だけではなく、 非線形の場合や、 離散変数の場合でも成り立つ
関数形や誤差変数の分布に仮定を置かない ノンパラメトリックなアプローチでは 因果的マルコフ条件を用いて因果グラフを推測
例:因果的マルコフ条件の意味の説明
観測変数が3つの場合
x3はx1の子孫ではない(親でもない)
因果的マルコフ条件ではx2はx1で条件づけると その非子孫であるx3と独立
x3の親に当たる観測変数はない(非子孫もいない)
p(x1,x2,x3) = p(x1,x2|x3)p(x3) = p(x2|x1,x3)p(x1|x3)p(x3) = p(x2|x1)p(x1|x3)p(x3)
忠実性 (faithfulness)
「変数xi(I=1,…,p)に成り立つ条件付き独立性は、 因果グラフの構造から導かれるものだけである、 つまり因果的マルコフ条件から導き出されるものだけである」 という仮定
関数形に線形性を仮定する場合
因果グラフ構造とは
係数bij(i,j=1,…,p)のゼロ・非ゼロパターン
忠実性とは
変数間の条件つき独立性が因果グラフの構造に反して、 係数bij(i,j=1,…,p)の特定の値の組み合わせによって決まったりはしない
忠実性の仮定が崩れる場合
構造方程式
x=ex
y=-x+ey
z=x+y+ez
誤差変数ex,ey,ezはガウス分布に従い、独立
byx=-1, bzx=1, bxy=1
因果的マルコフ条件をこの因果グラフに当てはめると、 3つの観測変数x,y,zに成り立つ条件付き独立は一つもない
Ex,ey,exで構造方程式を表現
x=ex
y=-ex+ey
z=ex-ex+ey+ez = ey+ez
Ex,ey,ezは互いに独立
E(exec)=E(ex)E(ey)
E(exec)=E(ex)E(ez)
xとzの共分散cov(x,z)は
cov(x,z) = E(xz) – E(x)E(z) = E(ex(ey+ez)) – E(ex)E(ey + ex) = E(exec) + E(exec) -E(ex)E(ey) – E(ex)E(ez) = E(ex)E(ey) + E(ex)E(ez) -E(ex)E(ey) -E(ex)E(ez) = 0
xとzは無相関
xとzは独立
ガウス分布は特殊な分布であり、 無相関と独立が同値
因果的マルコフ仮定が矛盾しないように「忠実性」の仮定を入れる
因果的マルコフ条件による推測の例
無向辺でバリエーションを表現
無向辺でつながる
x1とx3が無向辺でつながる
どの因果グラフ候補においても、 x1とx3の有向へんはあるが、 その向きはグラフによって異なる
無向辺があると、複数の因果グラフが候補として残っていることを意味する
一意に推測できない
因果グラフが識別不可能
ノンパラメトリックアプローチの枠組みでの、 実際のデータから因果グラフを推測するためのアプローチ
正しい因果グラフと 同じ条件付き独立性が成り立つ 因果グラフは分数ある
正しい因果グラフと同じ条件付き独立性が成り立つ 因果グラフの集合である「マルコフ同値類」を推測することが目的
2つの推測アプローチ
制約に基づくアプローチ (constraint-based approach)
ステップ
1.観測変数にどのような条件付き独立性が 成り立つかをデータから推測する
2. 推測された条件付き独立性を制約として、 それを満たすような因果グラフを探索する
代表的な推定アルゴリズム
PCアルゴリズム (Peter and Clark, PC algorithm)
FCIアルゴリズム(fast casual inference, FCI)へ拡張
未観測共通原因がある場合
CCDアルゴリズム(cyclic casual discovery,CCD)へ拡張
巡回性がある場合
充足可能性問題(satisfiability problem, SAT)
統合する推測の枠組み
制約を満たす因果グラフの探索
利点
様々な拡張が比較的容易
問題点
条件付き独立性が成り立つかを推測する際に 仮説検定によって条件先独立性を判定する点
検定の本来の目的とは異なる
マルコフ同定類の推定量に一致性を持たせるには、かなり強い過程が必要
スコアに基づくアプローチ (Score-based approach)
同じ条件付き独立性を与える 因果グラフの集合であるマルコフ同値類ごとに、 モデルの良さを評価する
ベイズ情報基準量 (Bayesian information criterion,BIC)を用いて、 モデルの良さを測るスコアをマルコフ同値類につける
BICによるスコアを計算するために、 誤差変数の分布の種類を指定する必要がある
最もスコアの高いマルコフ同値類によって、 正しい因果グラフが含まれるマルコフ同値類を推測する
代表的なアルゴリズム
GESアルゴリズム (Greedy equivalence search, GES algorithm)
3.5.4 パラメトリックアプローチと識別可能性
ノンパラメトリックアプローチは、 関数形や誤差変数の分布に仮定を置かなくても使える
同じ条件付き独立性を与える因果グラフは識別できない
線形性と誤差変数へガウス分布の仮定をおく「パラメトリックアプローチ」を考える
利用可能な情報が増える
右の仮定をおいても識別可能性は改善しない
例:因果の向きが逆向きのモデルは識別できない
3.5.5 セミパラメトリックアプローチと識別可能性
識別性を上げるためのアプローチ
関数には仮定をおく一方で、 誤差変数の分布には仮定をお解アプローチ
セミパラメトリックアプローチ
関数形に線形性の仮定、 誤差変数に非ガウス分布の仮定
LiNGAMアプローチ
誤差変数が非ガウス分布の場合は、 因果方向の異なるモデルの観測変数の分布は異なる
このような観測変数の分布の違いを利用して、 因果グラフを推測する
3.6 本章のまとめ

第4章 LiNGAM

LiNGAMモデル (linear non-Gaussian acyclic model, LinGAM)
まず独立成分分析と呼ばれる信号所の技術を紹介
その独立成分分析の結果を用いて、LiNGAMモデルが識別可能であることを示す
最後にLiNGAMモデルの推定法を生命する
4.1 独立成分分析
独立成分分析 (independent component analysis, ICA)
信号処理分野で発展してきたデータ解析法
独立性分分析では
未観測変数の値が混ざり合って、 観測変数の値が生成されると考える

複数の話者の声が混ざり合って、 複数のマイクによって観測される
モデルの一例
X1 = a11s1 + a12s2
X2 = a21s1 + a22s2
右辺のs1とs2は未観測の連続変数
左辺のx1とx2は観測変数
係数a11,a12,a21,a22は定数
未観測変数がどのように混ざって、 観測変数x1とx2になるのか、を表す
因果グラフによる表現
独立成分分析の特徴
未観測変数s1,s2は独立かつ、非ガウス連続分布に従う
S1とs2は独立成分 (independent component t)
未観測変数s1とs2を復元する
一般的な独立成分分析モデル
P個の観測変数xi(i=1,…,p p≥2)

sj(j=1,…,q)は未観測な連続変数であり、独立、かつ非ガウス分布に従う
行列を用いた表現
行列Aはpxqの行列
成分はaij(I,j=1,…p)
行列Aは、独立成分がどのように混ざり観測変数になるのかを表す
混合行列(mixing matrix)と呼ばれる
ベクトルxの第i成分は、観測変数xi
ベクトルsの第j成分は、独立成分sj
混合行列Aのどの2つの列も、線形独立であると仮定
混合行列Aの識別可能性について
独立混合成分分析モデルの混合行列Aは、 その列の順序と尺度を除いて識別可能である
混合行列Aを一意に推定することはできないが
混合行列Aの列の順序や尺度を変えたとしても、 その変更に合わせて独立成分ベクトルsの成分の順序や尺度を変えれば、 変えた後の混合行列や独立成分ベクトルも仮定を満たすため

それと列の順序と尺度だけが異なる可能性のある行列なら推定できる
混合行列Aと列と順序と尺度だけが異なる可能性のある行列AICAと 混合行列Aとの関係の式
行列Pはqxqの置換行列
列の順序を変える
Dはqxqの対角行列
対角成分は0ではない
列の尺度を変える
ガウス分布と非ガウス分布の違い
無相関か独立か
独立の方が情報量は多く、条件として強い
実際にデータから混合行列Aを推定する方法
混合行列Aが正方行列であると仮定
p=q
観測変数の数と独立変数の数が同じ
観測変数ベクトルxを pxpの行列Wで線形変換して作ったベクトルy=Wxによって、 独立成分ベクトルsを推定する
W:復元行列(demising matrix)
復元行列Wが、混合行列Aの逆行列と等しいならば
s=Wx(=A-1As=s)によってsを復元できる
復元行列を推定するために、 ベクトルyの成分(j=1,…,p)の独立性が 最大になるようなWを探す
ベクトルyで推定しようとしている独立成分ベクトルsの成分が独立だから
標準的な独立性の指標
相互情報量(mural information)
非負の値をとる
変数が独立の時に0になる
ベクトルy=Wxの成分の相互情報量(上式)を最小にするWを推定
H(y)は、yのエントロピーで上式となる
エントロピー
情報理論においてエントロピーは 確率変数が持つ情報の量を示す尺度である
情報量は確率変数Xが数多くの値をとるほど大きくなる
情報量はXのとる値の「乱雑さ」を表す尺度となる
相互情報量は、 データ行列Xを用いて、上式のように定義する
ベクトルy(m)は、 データ行列XをWで線形変換した行列Y=WXの第m列
変数ベクトルyのm番目の観測
yj(m)は、ベクトルy(m)の第j成分で、変数yjのm番目の観測
行ベクトルwjTは、行列Wの第j行
ベクトルx(m)は、データ行列Xの第m列で、観測変数ベクトルxのm番目の観測
最小化するためのアルゴリズム
不動点法
独立成分の非ガウス分布を事前に特定する必要がないことが特徴
相互情報量を最小にする復元行列Wを推定すると、 WICAの推定値が得られる
4.2 LiNGAMモデル
P個の観測変数x1,x2,…,xpに対する LiNGAMモデル
それぞれの観測変数xiは、 その変数以外の観測変数xjとその誤差変数eiの線形和
係数bijが0ならば、xjからxiへの直接的な因果効果はない
誤差変数eiが独立で、非ガウス連続分布に従う
未観測共通原因がない
LiNGAMモデルの因果グラフ
有向非巡回グラフ
行列を使った式
LiNGAMモデルは識別可能
係数行列Bを、観測変数の分布p(x)に基づいて、一意に推定可能
係数行列Bの成分のゼロ・非ゼロパターンから因果グラフを書くことが可能
因果グラフの非巡回性と係数行列Bの関係について
準備として
観測変数の因果的順序 (casual order)を定義する
因果順序とは
その順番に従って変数を並び替えると
順番が後の変数が前の変数の原因になることがない順序
観測変数x1,x2,…,xpの順序をk(1),k(2),…,k(p)と表す
記号kの丸括弧の中の数字は、観測変数の数を表す
有向道(directed path)
向きが同じ有向辺が数珠つなぎになったもの
例1
行列表現
因果順序のならびかえ
並び替え後の係数行列B後は、 対角成分が全て0である下三角行列(厳密な下三角行列)になっている
この例では厳密な下三角行列になるような因果順序は一つしかない
例2
厳密な下三角行列になるような 因果順序が複数ある場合
(1) x3,x1,x2という順序 k(3)=1, k(1)=2, k(2)=3
(2) x1,x3,x2という順序 k(1)=1, k(3)=2, k(2)=3
それぞれを観測変数xについて解く
4.3 LiNGAMモデルの推定
4.3.1 独立成分分析によるアプローチ
4.3.2 回帰分析と独立性評価によるアプローチ
4.4 本章のまとめ

第5章 未観測共通原因がある場合のLiNGAM

5.1 未観測共通要因による難しさ
5.2 未観測共通要因があるLiNGAMモデル
5.3 未観測共通要因は独立と仮定しても一般性を失わない
5.4 独立成分分析に基づくアプローチ
5.5 混合モデルに基づくアプローチ
5.5.1 モデルを観測ごとに書き直す
5.5.2 対数周辺尤度でモデルの良さを評価
5.5.3 事前分布
5.5.4 数値例
5.6 多変数の場合
5.7 本章のまとめ

第6章 関連の話題

6.1 モデルの仮説を緩める
6.1.1 巡回モデル
6.1.2 時系列モデル
6.1.3 非線形モデル
6.1.4 離散変数モデル
6.2 モデル評価
6.3 統計的信頼性評価
6.4 ソフトウェア
6.5 終わりに

コメント

  1. […] 機械学習プロフェッショナルシリーズ「統計的因探索」読書メモ […]

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