Py学习  »  机器学习算法

基于机器学习的因果检验:Post-Lasso、Double Selection与Partialing-Out方法论文复刻

数量经济学 • 6 月前 • 223 次点击  

基于机器学习的因果检验:Post-Lasso、Double Selection与Partialing-Out方法论文复刻

1、引言:高维数据下的因果推断挑战

1.1 传统方法的局限

在实证研究中,确立变量间的因果关系是核心目标。为了识别处理变量(Treatment Variable)D 对结果变量(Outcome Variable)Y 的因果效应,我们必须有效地控制混淆变量(Confounders)X。这些混淆变量同时影响 D 和 Y,若不被控制,将导致估计偏误。

传统的做法(如普通最小二乘法OLS)在面对以下情况时显得力不从心:

  1. "维度诅咒" (Curse of Dimensionality):当控制变量的数量 p 很大,甚至超过样本量 n (即 p > n 或 p ≈ n) 时,OLS 无法求解(因为矩阵不可逆)。即便 p < n 但很大时,模型自由度急剧下降,估计量的方差增大,预测和推断的精度严重受损。

  2. 多重共线性 (Multicollinearity):高维控制变量之间往往存在高度的相关性,这会导致OLS估计系数方差膨胀,估计结果极其不稳定,对微小数据变动非常敏感。

  3. 模型设定偏误 (Model Specification Bias):经济系统中的变量关系常常是非线性的(如存在边际效应递减)。研究者可能需要在模型中引入多项式项(如平方项、立方项)和交互项来捕捉这种复杂性。然而,手动筛选这些项是一个繁琐且主观的过程,很容易遗漏重要项或引入冗余项,从而导致设定偏误。

1.2 机器学习的曙光:Lasso回归

机器学习,特别是具有变量选择功能的算法,为上述挑战提供了有力的解决方案。其中,最具有代表性的是 Lasso (Least Absolute Shrinkage and Selection Operator) 回归。

Lasso的基本思想:在OLS的损失函数基础上,增加一个关于回归系数绝对值的惩罚项(L1正则化)。

Lasso的优势体现在

  • 自动变量选择:由于L1惩罚项的性质,当 λ 足够大时,它会将一部分不重要的变量的系数精确地压缩至0。这意味着Lasso能够从大量的候选变量中自动筛选出一个稀疏的、重要的变量子集
  • 处理高维数据:即使 p > n,Lasso仍然可以求解,并得到一个稀疏模型
  • 缓解多重共线性:通过将冗余变量的系数设为零,Lasso有效地解决了多重共线性问题

然而,直接将Lasso用于因果推断存在一个关键问题:Lasso的估计系数是有偏的。惩罚项在压缩不重要变量系数的同时,也会收缩重要变量的系数,导致其估计值向零偏倚。这使得直接使用Lasso系数进行因果推断是不可靠的。

为了解决Lasso的偏差问题并使其适用于因果推断,学者们发展出了一系列"Post Lasso"或"Partialing-Out Lasso"方法。

它们共同的核心思想是:使用Lasso进行变量筛选,然后使用无偏的OLS进行最终的因果效应估计

2、Post-Lasso (P-Lasso) 方法

Post-Lasso是一种直观的两步法。

第一步:变量筛选使用Lasso回归对完整的模型进行估计。假设我们的模型是:

其中 D_i 是我们关心的处理变量(如数字产业集聚度DL),X_i 是包含所有基础控制变量及其可能的多项式项、交互项的高维变量集合。

我们对上述模型执行Lasso回归,通过交叉验证等方式选择最优的惩罚参数 λ。Lasso会给出一个非零系数变量的集合,我们记为 X1(即被筛选出的控制变量集合)。

第二步:Post Estimation (后估计)将第一步中Lasso筛选出的变量集合 X1 作为控制变量,重新构建一个标准的线性回归模型,并使用OLS进行估计:

此时,我们关注的系数 α^{PL} 就是Post-Lasso估计出的处理效应。

3、Double Selection Lasso (DS-Lasso) 方法

3.1 方法原理与步骤

Belloni, Chernozhukov, Hansen 等人在其系列论文中提出了Double Selection方法。其核心思想是:从两个不同的角度去筛选混淆变量,然后将两次筛选的结果合并,确保不遗漏任何对 D 或 Y 有重要影响的变量。

DS-Lasso是一个三步法:

第一步:以处理变量 D 为因变量用处理变量 D (如数字产业集聚度DL) 对高维控制变量集合 X 做Lasso回归:

通过Lasso筛选出与 D 强相关的变量集合,记为 X2。这些变量是 D 的"预测因子"。

第二步:以结果变量 Y 为因变量用结果变量 Y (如全要素能源效率TEE) 对高维控制变量集合 X 做Lasso回归(注意,此回归不包含处理变量 D):

通过Lasso筛选出与 Y 强相关的变量集合,记为 X3。这些变量是 Y 的"预测因子"。

第三步:联合OLS估计构建一个联合的控制变量集X_union = X2 ∪ X3(即 X2 和 X3 的并集)。然后,将结果变量 Y 对处理变量 D 和这个联合变量集 X_union 进行OLS回归:

最终,α^{DS} 就是我们想要的Double Selection Lasso估计的处理效应。

4、Partialing-Out Lasso (PO-Lasso) 或 去偏Lasso

PO-Lasso是一个三步法:

第一步:Partialing-Out Y

用结果变量 Y 对高维控制变量集合 X 做Lasso回归,筛选出变量集合 X4

然后,使用筛选出的 X4,用 Y 对 X4 做一个OLS回归,并得到残差 eY

这个残差 eY 代表了Y中无法被控制变量 X4 解释的部分,即"净化后"的 Y

第二步:Partialing-Out D

用处理变量  D 对高维控制变量集合 X 做Lasso回归,筛选出变量集合 X5

然后,使用筛选出的 X5,用 D 对 X5 做一个OLS回归,并得到残差 eD

这个残差 eD 代表了D中无法被控制变量 X5 解释的部分,即"净化后"的 D

第三步:回归残差将"净化后"的 Y (残差 eY) 对"净化后"的 D (残差 eD) 进行一个不带截距项的OLS回归:

最终,α^{PO} 就是Partialing-Out Lasso估计的处理效应。

5、方法比较与联系

特征/方法
Post-Lasso (P-Lasso)
Double Selection Lasso (DS-Lasso)
Partialing-Out Lasso (PO-Lasso)
核心思想
一次筛选,后估计
双重筛选,联合控制
分别净化,回归残差
步骤数
2
3
3
关键操作Y ~ D + X
 (Lasso) -> Y ~ D + X1 (OLS)
D ~ X
 (Lasso); Y ~ X (Lasso); Y ~ D + X_union (OLS)
Y ~ X
 -> eYD ~ X -> eDeY ~ eD
主要优势
简单直观,计算快
稳健性强
,极大降低遗漏变量偏误
理论性质好,概念优美
主要局限遗漏变量风险高
,尤其在变量共线性时
控制集可能稍大
实现和理解稍复杂
对Lasso的使用
变量选择与初步估计
纯粹的变量选择
纯粹的变量选择
最终估计
OLS
OLS
OLS on Residuals

联系

  1. 共同基石:三者都建立在Lasso的变量选择能力之上,并最终都依赖于无偏的OLS估计来得到处理效应的估计值
  2. 理论同源:DS-Lasso和PO-Lasso是"去偏机器学习估计量"家族中最著名和理论最成熟的两种方法,它们通常在渐近性质上是等价的。Chernozhukov et al. (2018) 的论文对这类方法进行了统一的阐述
  3. 目标一致:都是为了在高维设定下进行有效的、稳健的因果推断

6、实例应用与结果解读

2025年第10期《数量经济技术经济研究》上有一篇论文应用到了基于机器学习方法的因果检验。该文基于Post-Lasso(P-Lasso)、Double Selection Lasso(DS-Lasso)、Partialing-Out Lasso(PO-Lasso)的方法进行机器学习分析。

这篇文章题目为:数字产业集聚与企业能源效率改进

图片


研究背景:探讨数字产业集聚度(DL)对企业全要素能源效率(TEE)的因果效应

高维控制集(X):包含了一系列基础控制变量,并进一步纳入了这些变量的交乘项和平方项,以捕捉非线性关系。这使得控制变量的维度 p 可能很高

分析过程

  1. 数据准备:收集企业层面的数据,包括TEE, DL,以及构建好的高维控制变量集 X

  2. 方法执行

  • 分别用P-Lasso, DS-Lasso, PO-Lasso三种方法进行估计
  • 为每种方法中的Lasso回归选择合适的 λ(通常通过交叉验证)
原文结果如下:

原文结果复刻如下:









图片

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/191426