CausalInferenceIntro
Causal Inference for the Brave and True的中文翻译版。全部代码基于Python,适用于计量经济学、量化社会学、策略评估等领域。英文版原作者:Matheus Facure
Install / Use
/learn @xieliaing/CausalInferenceIntroREADME
因果推断:从概念到实践

本系列是 Causal Inference for the Brave and True 这本书 的中文翻译版,由巴西Nubank的Staff Data Scientist Matheus Facure 所著。该书用平实的语言和严谨的数学,以及实用的Python代码,结合经济学与社会学的策略评估和敏感性分析应用,对因果推断最新的概念、理论及实践进行了非常全面的介绍,既适合初学者入门,同时也适合技术管理专家回顾相关领域的整体知识。该书英文原版的Jupyter Notebooks可以由该Github地址获取。
本书主要基础是计量经济学,吸收了非常多学者,包括 Joshua Angrist, Alberto Abadie,Christopher Walters,Miguel Hernan 和 Jamie Robins 等,在这方面的最新研究,主要参考了以下资料:
- Cross-Section Econometrics
- Mastering Mostly Harmless Econometrics
- Mostly Harmless Econometrics
- Mastering 'Metrics
- Causal Inference Book
这里非常感谢Matheus Facure同意我翻译该书的中文译本。中文翻译版会在两个地方同步发布:
第一部分中文翻译版的进度按照如下时间线开展:
章节 | 名称 | 出稿日期 | --- | --- | --- 1 | 第一章: 因果关系入门 | 2021-11-07 2 | 第二章: 随机实验 | 2021-11-13 3 | 第三章: 统计学回顾:最危险的公式| 2021-11-25 4 | 第四章: 图因果模型| 2021-11-18 5 | 第五章: 线性回归超常的有效性| 2021-12-05 6 | 第六章: 分组和虚拟变量| 2021-12-12 7 | 第七章: 混淆变量之外| 2021-12-19 8 | 第八章: 工具变量| 2021-12-26 9 | 第九章: 不服从与LATE效应| 2021-12-30 10 | 第十章: 匹配| 2022-01-10 11 | 第十一章: 倾向性打分| 2022-01-22 12 | 第十二章: 双稳健估计| 2022-01-29 13 | 第十三章: 面板数据和固定效应| 2022-2-13 14 | 第十四章: 双重差分| 2022-02-20 15 | 第十五章: 合成控制| 2022-02-27 16 | 第十六章: 断点回归设计| 2022-03-06 17 | 第十七章: 预测模型| 2022-03-19 18 | 第十八章: 异质干预效应与个性化| 2022-03-26 19 | 第十九章: 评估因果模型| 2022-08-31 20 | 第二十章: 即插即用的估计量| 2022-10-10 21 | 第二十一章: 元学习器| 2022-11-15
该书遵守MIT License。
本地运行指南 2026-03-02
安装 python 及相关程序
建议使用 Python 3.10 ~ 3.12。Windows 用户优先推荐安装 Miniconda,也可以使用官方 Python。
此外建议安装:
获取项目代码
git clone https://github.com/xieliaing/CausalInferenceIntro.git
cd CausalInferenceIntro
创建并激活虚拟环境(推荐)
方案 A:使用 conda(推荐)
conda create -n causal-intro python=3.11 -y
conda activate causal-intro
方案 B:使用 venv
python -m venv .venv
Windows PowerShell:
.\.venv\Scripts\Activate.ps1
macOS / Linux:
source .venv/bin/activate
安装依赖
项目中的 Notebook 主要依赖如下(可先安装最小集合):
pip install -U pip
pip install jupyter notebook jupyterlab numpy pandas scipy matplotlib seaborn scikit-learn statsmodels linearmodels graphviz
如果你需要运行翻译脚本 AutoTranslateNotebooks.py,再额外安装:
pip install nbformat googletrans==4.0.0-rc1
或者你可以直接使用如下命令安装本项目所需的依赖项:
pip install -r requirements.txt
启动并运行 Notebook
在仓库根目录运行:
jupyter lab
或:
jupyter notebook
然后在浏览器中打开 chapters/ 目录,按顺序运行对应章节。
可选:运行翻译脚本
python AutoTranslateNotebooks.py "chapters/01 第一章-因果关系入门.ipynb" "chapters/01 第一章-因果关系入门_机器翻译.ipynb"
说明:
- 第 1 个参数是输入 Notebook
- 第 2 个参数是输出 Notebook
- 若出现翻译 API 报错,请稍后重试或更换网络环境
常见问题
-
命令找不到(python / pip / jupyter)
- 请确认已激活虚拟环境,或将 Python 加入 PATH。
-
PowerShell 无法激活 venv
- 可临时执行:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -
Notebook 打开后缺包报错
- 在当前环境补装缺失包,例如:
pip install <package_name> -
图形模型相关章节绘图失败
- 请确认本机已安装 Graphviz 程序,并将其加入系统 PATH。
