「はじめての統計的因果推論」の紹介
統計的因果推論の入門書である「はじめての統計的因果推論」を読んだ。数式少なめ・図多め・解説が具体的で,読み進めやすかった。統計的因果推論の入り口に立てた感じがしたので,紹介したい。
本書を読もうとした理由
私は製造業に勤めており,これまで扱ってきたデータ分析の手法は,時系列予測や自然言語処理などがが多かった。ただ最近,またイベントや社内展開しているツールのアンケートを取るために,Microsoft Formsが手軽に取れるようになったので,施策効果の検討などに使えるのではないかと考えて読み始めることにした。
本書の構成
本書の構成は以下のとおりである。
《第I部 因果推論論の基本的な考え方》
1 因果と相関と「特性の分布の(アン)バランス」
2 どの特性を揃えるべきなのか―因果ダイアグラムとバックドア基準
3 因果推論,その(不)可能性の中心―潜在結果モデルと無作為化
《第II部 因果効果の推定手法》
4 共変量に着目―層別化,マッチング,重回帰分析
5 「次元の呪い」の罠の外へ―傾向スコア法
6 共変量では調整できない,そんなとき―差の差法,回帰不連続デザイン
7 データの背後の構造を利用する―操作変数法,媒介変数法
《第III部 「因果効果」が意味することと,しないこと》
8 "処置Tの効果"を揺るがすもの
参考になった点
第1章 : 統計的因果推論の目指すところ
統計因果推論は,「行なった処置が結果に影響していた」という因果関係を明らかにすることがテーマである。本書では,果物への施肥に対する糖度を影響を測る,という例題で説明していた。
最もシンプルな考え方は,施肥を行なったグループと,施肥を行なわなかったグループに分け,これらのグループにおける糖度の平均を比較することである。
ただ,これでは上手くいかない。何故なら,施肥以外の別の変数,例えば品種の影響があるからだ(なお,このような変数を特性または共変量と呼び,で表す)。
対策は,品種ごとにグループを分けて,同じ品種の中で施肥の効果を平均で比較すればよい。またグループに分けるときには,単に分けるのではなく,異なる処置を受けたグループ間での分布がバランシングすること,すなわち
ならば,因果効果を推定できると考えられる。なお上式は
とも表現できる。
因果推論の目指すのは,このような特性の分布のバランシングを実現することである。
第2章 : バランシングするべきべき特性(変数)を決める「バックドア基準」
特性の分布のバランシングを考えるために,「どの特性をバランシングさせるべきか」という基準が必要になる。このような基準をバックドア基準というが,本書ではこのバックドア基準を因果ダイアグラムのパターン別に説明している。
因果ダイアグラムは,施策,結果,共変量の3つの変数の関係で分類する。重要なパターンは次の3つである。
- 分岐
- 合流
- 中間
たとえば分岐の場合,共変量が施策,結果の上流側に来ているので,共変量が変化すると,施策と結果の両方に影響を及ぼすので,施策と結果の因果関係が正しく推定できない。
このような場合に因果関係を推定する対策としては,共変量を固定することが挙げられる。なお本書では,合流・中間に関しては共変量を固定しないことを対策として説明している。
第3章 : バランシングを実現するための無作為化
第2章までは,どの変数をバランシングするかということを説明ていたが,第3章ではどうやってバランシングするかということに焦点を当てて,無作為化について説明している。
処置の効果を測るためには,個体に対して
- 処置 (処置なし)
- 処置 (処置あり)
における結果を比較することで因果効果を推定したいのだが,実際は個体における処置の結果と処置は同時に実現できない(因果推論の根本問題)。
対策として,まずサンプル数を増やすことによって,個体ではなくサンプル集団を準備して,集団的な法則性を見出すことを試みる。
次にサンプル集団を,処置とは無関係な方法(例えばコイントス)によってサブグループに分けて処置を行なう。
処置の効果は,(iv) - (ii),すなわち
で計算されるのだが,(ii)は観測不能(反事実)である。
しかし,処置とサブグループ分け方が無関係のとき,
- (i)
- (ii)
となり,(i)=(ii)とみなせる。。同様に,
- (iii)
- (iv)
となり,(iii)=(iv)とみなせるようになるので,
となり,因果効果が計算が可能になる。
本書に対する感想とまとめ
第1部(第1章~第3章)において,因果推論の基本的な考え方を,具体例を示しながら丁寧に説明している。数理統計学ではあまり見かけない話題を説明しているので,イメージをつきやすく,また必要なところは数式も用いて説明しており,わかりやすかった。
第4章以降は,様々なパターンに応じた具体的な因果効果の計算方法を説明している。ただ,プログラムのサンプルコードは無いので,別の本で学んでいきたい。