ISBN 9784295019909
Pythonライブラリによる因果推論・因果探索[概念と実践] 因果機械学習の鍵を解く
概要
DoWhy・EconMLを使い因果効果を推定・探索できるようにする
想定読者
統計的因果推論の基礎を習得済みで、機械学習・ディープラーニングを組み合わせた最新手法の実装に踏み込みたいデータサイエンティスト・MLエンジニア
こんな人には向いていない
- 因果推論を初めて学ぶ入門者。構造的因果モデルや反事実の概念を前提に論が進むため、統計的因果推論の基礎知識なしには理解が困難
- Pythonをほぼ使わない研究者・統計家。実装中心の構成であり、理論的厳密性を求める読者には補完的な数理テキストが必要になる
- 効果検証の手法選定だけを手早く把握したい実務者。本書は各手法を横断的に網羅するため、特定手法の即戦力的レシピ集としては使いにくい
読了後にできるようになること
- 構造的因果モデル(SCM)とDAGを用いて因果仮定をグラフで表現・検証できる
- DoWhyの4ステップ(モデル定義・エスティマンド特定・推定量算出・検証)を実装として一周できる
- EconMLを使い、共変量の異質性を考慮した条件付き平均処置効果(CATE)を機械学習で推定できる
- ディープラーニング・Transformerを因果効果推定に応用するアーキテクチャの概要を把握できる
- gCastleを使って観測データからDAGを自動推定する因果探索を実装できる
本書のキー概念(章解説)
- 第 1 章 パート1: 因果推論の基本概念 — 関連・介入・反事実・構造的因果モデル・グラフ表現を扱う。パート2以降の実装を理解するための必読基盤
- 第 2 章 パート2: 因果推論プロセスと機械学習による推定 — DoWhy 4ステップ + EconML + ディープラーニング・Transformerまで一貫して実装。実務直結度が最も高いパート
- 第 3 章 パート3: 因果探索 — gCastle・DECIを使い観測データからDAGを自動発見する手法。因果推論の次フェーズとして読むと学習曲線が滑らか
ハイライト
- パート1では、関連・介入・反事実、構造的因果モデルなど、因果推論を構成する基本概念のほか、グラフ表現を中心に解説します。(本書が「ライブラリ使用前の概念理解」から丁寧に積み上げる構成であることが端的にわかる箇所)
- 機械学習モデルも利用して因果効果を推定する手法を説明。さらに、ディープラーニングやTransformerを利用した方法も見ていきます。(古典的推定手法にとどまらず最新アーキテクチャまでカバーする点が本書の差別化要素)
外部からの言及
- 因果推論・因果探索の分野を横断した読書ガイドおよびデータサイエンティスト向けスキルチェックリストで、「機械学習による因果推論・因果探索の最新手法を知りたい層」向けの推薦書として複数回取り上げられている。従来の統計的因果推論をある程度習得した後の次のステップとして位置づけられており、初心者向けではないという注記も一貫している(qiita)
- DoWhy・EconMLなどのライブラリを扱う因果推論手法チートシートや比較記事では、本書が扱う手法群(IPW・マッチング・メタラーナー等)が実装の参照先として挙げられる文脈がある。ライブラリ網羅性の高さが評価される一方、数式の詳細な説明は別書で補う必要があるという指摘も見られる(qiita)
編集メモ
Qiitaでの書籍への直接言及は確認できた3記事・累計likes 477。因果推論分野の書籍読書ガイドで複数回取り上げられているが、DoWhy/EconML周辺の単体解説記事での言及は少なく、分野特化ガイドブックとしての位置づけ
読む前に押さえておきたいこと
- Pythonによるデータ操作(pandas・numpy)とscikit-learnによる機械学習モデルの基本的な使い方
- 統計的因果推論の基礎概念(傾向スコア・操作変数法・差分の差分法)の理論的理解
- 確率・条件付き確率・期待値の記法を読める程度の統計数学
学習のコツ
- パート1の概念パートを飛ばしてパート2から読み始めると、エスティマンドの概念でつまずく可能性が高い。DAGとdo演算子の節は必ず通読してからコードに入ること
- パート2とパート3は独立性が高いため、因果探索(DAG自動推定)に関心がある場合はパート1を読んだ後パート3に進んでもよい
- DoWhy・EconMLは開発が活発でAPIが変更されやすい。書中のコードが動かない場合は各ライブラリの公式ドキュメントを参照しながら写経することを推奨する
出版社による内容紹介
本書は、DoWhyやEconMLなど、Python因果ライブラリのさまざまな手法をまとめた包括的なガイドブック。パート1では、関連・介入・反事実、構造的因果モデルなど、因果推論を構成する基本概念のほか、グラフ表現を中心に解説します。パート2では、因果推論プロセスの4ステップ(モデルの定義、エスティマンドの特定、推定量の算出、検証)を紹介するほか、機械学習モデルも利用して因果効果を推定する手法を説明。さらに、ディープラーニングやTransformerを利用した方法も見ていきます。パート3では、因果探索に焦点を当てていきます。PythonパッケージのgCastleによる手法、ディープラーニング因果フレームワークDECIなどを紹介します。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。