hidekatsu-izuno 日々の記録

プログラミング、経済政策など伊津野英克が興味あることについて適当に語ります(旧サイト:A.R.N [日記])

ジューディア・パールら著「因果推論の科学 『なぜ?』の問いにどう答えるか」を読む

因果推論の大家のひとりパールによる書かれた因果推論についての解説書だ。読んでみたら、すこぶる面白かった。

元々、因果推論には興味が持っていたのでパール流とルービン流があるとかパール流はDAGを使ってみたいな話は知識としては知っていたけれども、わかった感はまったく持てなかった。DAGについても簡単なグラフを書くことの何がそんなに画期的なの? と思っていたというのが正直なところ。しかし、さすがは当の本人が書いただけのことはあり、その意図が熱量をもって伝わってくる。

著者の一番言いたいことは、既存の数学記法や確率の表現では決して因果関係を表現できないということなのだろう。探求心に忠実で、目的のためなら築き上げたベイジアンネットワークによる因果推論すら捨て去ってしまうその姿勢には感銘を受ける。重要なのはDAGではない、DAGやdo記法のように因果推論のために拡張された文法なしには因果関係を扱うことはできないということだ。

とはいえ、因果推論について明るくない人が読んだら、この主張、いったい何を言いたいのかよくわからないのではないかと思う。

「因果推論」と普通の人が聞けば「データをぶち込んだら因果関係とその強さが出てくる」状況を考えるのではなかろうか。

まず本書でも語られているように従来の統計学では因果関係は回帰モデルなどを作る上での前提として恣意的に設定されたもので、手法の中で担保できるものではない。ある2系列が回帰分析によって有意になったからといって、その2系列の因果関係の向きはわからないし、その2系列はランダムウォークする人工データかもしれず、そうであればそもそも因果関係ですらない。

そもそも、「因果関係」は定義すらいまだはっきりしていない。有名なのはミルの三条件だが、リンク先にも書かれているようにこの定義は不十分なことがわかっている。本書では「介入」によって因果関係を明らかにしているが、これは定義ではない。単に確認方法を明らかにしているだけだ。

データから因果関係を推測するのは因果探索という別分野になる。そして、本書を読む限り、その部分を自動化するのはなかなかに難しそうだ。人間ならば因果関係を理解できるとはいっても、因果探索が行っているのはラベルなしにデータだけを見て因果関係を推測するような行為なのだから人間にも困難なタスクだ。人間は物理世界のコンテキストから因果関係を推測しているのであって、データだけから推測しているわけではない。これを実現するにはマルチモーダルなAIが必要になる。

パール流因果推論において因果関係を扱っているという意味は「人間が恣意的に設計した因果関係において何のデータを集め何のデータを調整すれば適切な関係性が推測できる」ということだろう。そもそも因果ダイアグラムが間違っている状況は対応範囲外だ。

パール流の因果推論への批判としてよく聞かれるのは因果ダイアグラムを作るのが実際には難しいという点だが、これは必ずしも因果ダイアグラムでは因果関係を表現できないことを意味しない。因果関係の定義について未だ結論が出ていないが、word2vec によって単語をそのコンテキストによって表現するように、因果ダイアグラムによって因果の機能性によって表現することで定義をブラックボックスにしたまま扱えるようにしたということなのだろう。

因果ダイアグラムを書くことができれば、モデルの作成者は何のデータを集め、何のデータを調整すればいいのかを明確にできる。これが因果推論のコンテキストにおける「因果推論を扱っている」ことの意味だ。

そういう観点から見ると、ルービンの因果推論は必ずしも因果関係を扱っているわけではないのでは、と感じる。パールが因果関係を外形的とはいえ直接的に扱っている一方、ルービンの扱っているのは統計的因果推論のみだ。そして、そこで扱う反事実そのものには因果の向きは含まれていないように思える(未来だけでなく過去に対する反事実も考えうるわけだし)。ベイジアンネットワークが因果を扱わないというのであれば、ルービンの手法もまた因果そのものを扱っていないように見える。

さて、因果推論がどういうものであるか整理できたとして、では因果ダイアグラムは本当にすべての因果関係を表現できているのだろうか。

因果関係には、前向き因果の他に同時因果と後ろ向き因果がある。後ろ向き因果はタイムマシンがないと実現できないようなので置いてもよいと思うけれども、同時因果は必ずしもないとは言い切れない。

物理世界では情報の伝達が光速に制約される以上、同時因果は成立しなさそうには見えるが、特に現実の時系列データは離散的で経済学の需要と供給のようにひとつの期間内に相互に影響を及ぼすというのは普通のことだ。著者によれば、DAGのより根源的な表現として構造方程式モデリングを使えば同時因果も扱えるということのようだが、ここら辺はあまり説明がなくよくわからなかった。個人的にはRNNのようにt と t+1 の再帰構造にすればよいのかもとは思ったけれども、どうなんだろうか。

参考:Campbell, Rubin, Pearlらの因果推論の考え方の比較