本系列是 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。
建议使用 Python 3.10 ~ 3.12。Windows 用户优先推荐安装 Miniconda,也可以使用官方 Python。
此外建议安装:
git clone https://github.com/xieliaing/CausalInferenceIntro.git
cd CausalInferenceIntroconda create -n causal-intro python=3.11 -y
conda activate causal-intropython -m venv .venvWindows PowerShell:
.\.venv\Scripts\Activate.ps1macOS / 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在仓库根目录运行:
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。
