计量小课:计量经济学基础
计量经济学计量小课

FWL定理是什么?如何直观理解?它能帮你理解哪些重要的方法?

每个学过计量的人都会说一句话:\"多元回归的系数是在控制其他变量的情况下,X 对 Y 的偏效应。\"

作者:计量科研导航站发布:2026-07-29★★

一、开篇:多元回归里的"控制其他变量",到底是怎么"控制"的?

每个学过计量的人都会说一句话:"多元回归的系数是在控制其他变量的情况下,X 对 Y 的偏效应。"

但这句话在执行层面到底意味着什么?计算机在跑 reg y x1 x2 x3 的时候,它是怎么"控制"掉 x2 和 x3 的?是把 x2 和 x3 固定在某个值上吗?是在样本中找一个 x2 和 x3 都相同的人来做比较吗?

都不是。

FWL 定理(Frisch-Waugh-Lovell Theorem)给出了这个问题的精确数学答案。 而且这个答案不仅解释了多元回归的工作原理,还直接通向计量经济学中好几个最重要的方法——两阶段最小二乘(2SLS)、双重机器学习(Double Machine Learning)、面板固定效应估计、乃至部分回归图的画法。

核心信息:FWL 定理说——在一个多元回归中,X₁ 的系数 β̂₁ 等价于"三步走"的结果:(1)把 X₁ 对所有其他 X 做回归,取残差(X₁ 中不被其他变量解释的部分);(2)把 Y 对所有其他 X 做回归,取残差(Y 中不被其他变量解释的部分);(3)用 Y 的残差对 X₁ 的残差做一元回归。这就是"控制"的数学本质——不是"固定",而是"剔除":把 X₁ 和 Y 中所有能被其他变量线性解释的部分都剥离掉,剩下的"净"对"净",就是偏效应。


二、FWL 定理的正式表述

2.1 定理陈述

考虑多元回归模型:

Y=β0+β1X1+β2X2+⋯+βkXk+εY = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k + \varepsilon

我们关心的系数是 β₁。FWL 定理断言,以下两种方式得到的 β̂₁ 在数值上完全相等:

方式 A(直接跑多元回归):把 Y 对所有 X₁, X₂, ..., Xₖ 做 OLS,取 β̂₁。

方式 B(三步走):

  • 第一步:把 X₁ 作为因变量,对所有其他 X(即 X₂, ..., Xₖ)做回归,提取残差 X~1\tilde{X}_1:

X~1=X1−X^1(其中 X^1 是用其他 X 预测的 X₁)\tilde{X}_1 = X_1 - \hat{X}_1 \quad \text{(其中 } \hat{X}_1 \text{ 是用其他 X 预测的 X₁)}

这个残差 X~1\tilde{X}_1 是 X₁ 中不能被其他 X 线性解释的"独有部分"。

  • 第二步:把 Y 作为因变量,对同样的其他 X 做回归,提取残差 Y~\tilde{Y}:

Y~=Y−Y^(其中 Y^ 是用其他 X 预测的 Y)\tilde{Y} = Y - \hat{Y} \quad \text{(其中 } \hat{Y} \text{ 是用其他 X 预测的 Y)}

这个残差 Y~\tilde{Y} 是 Y 中不能被其他 X 线性解释的"独有部分"。

  • 第三步:用 Y~\tilde{Y} 对 X~1\tilde{X}_1 做一元回归(没有截距项):

Y~=β1X~1+u\tilde{Y} = \beta_1 \tilde{X}_1 + u

得到的系数,正好等于方式 A 中的 β̂₁。

β^1FWL=∑X~1iY~i∑X~1i2=β^1OLS\hat{\beta}_1^{\text{FWL}} = \frac{\sum \tilde{X}_{1i} \tilde{Y}_i}{\sum \tilde{X}_{1i}^2} = \hat{\beta}_1^{\text{OLS}}

2.2 定理成立的条件

FWL 对所有 OLS 回归都精确成立——它是 OLS 的代数性质,不是渐近性质,不需要大样本假设。任何线性回归模型中的任何一个系数,都可以通过上述"三步残差法"得到。

但有一个关键的限定:第二步和第一步使用的"其他 X"必须是同一组变量。 也就是说,X₁ 和 Y 被"净化"时,使用的是完全相同的控制变量集合。


三、直观理解——"净化"比"控制"更准确

3.1 用图形来理解

想象你有一个三维空间。Y 是纵轴,X₁ 和 X₂ 是两个水平轴。数据点散布在这个三维空间中。

当你跑 reg y x1 x2 时,β̂₁ 的几何含义是什么?

FWL 告诉你:

  • 先把所有点向 X₂ 轴的方向做一个投影——这相当于"把 X₂ 的线性影响从 X₁ 和 Y 中移除"。
  • 投影后的残差 X~1\tilde{X}_1 和 Y~\tilde{Y} 落在与 X₂ 正交的平面上。
  • 在这个平面上,用 Y~\tilde{Y} 对 X~1\tilde{X}_1 做一元回归——这就是 β̂₁。

"控制"本质上是在做一个"正交投影"——把其他变量的线性影响从你关心的 X 和 Y 上同时剥离,然后在剥离后的残差中寻找关系。

3.2 用"分蛋糕"的比喻

把 Y 的变异想象成一块蛋糕。你有三个变量 X₁、X₂、X₃ 想分这块蛋糕。

X₂ 先伸手,拿走了一大块(Y 中被 X₂ 线性解释的部分)。X₃ 也拿走了一块(Y 中被 X₃ 线性解释的部分,且这部分和 X₂ 拿走的不重叠的部分)。剩下的蛋糕渣就是 Y~\tilde{Y}——不能被 X₂ 和 X₃ 解释的 Y。

但现在 X₁ 也不是完整地来吃蛋糕的。X₁ 自己也有一部分被 X₂ 和 X₃"分走了"——X₁ 中被 X₂ 和 X₃ 线性解释的部分就是 X^1\hat{X}_1,剩下的 X~1\tilde{X}_1 才是 X₁ 真正"独特"的东西。

β̂₁ 衡量的就是:X₁ 独有的这部分(X~1\tilde{X}_1)能解释多少 Y 独有的那部分(Y~\tilde{Y})。

3.3 一个具体的数值例子

假设你研究"工资(Y)~ 教育(X₁)+ 工作经验(X₂)"。

人 工资 (Y) 教育 (X₁) 经验 (X₂)
A 5000 12 5
B 8000 16 10
C 6000 14 8

方式 A:直接多元回归。 reg Y X₁ X₂ → β̂₁ = 某个值。

方式 B:FWL 三步。

第一步:用 X₁ 对 X₂ 做回归 → X~1\tilde{X}_1 = 教育的残差 = 教育中"和经验不相关的部分"。如果教育和经验本来就有相关性(教育年限多的人通常经验也更多),那么 X~1\tilde{X}_1 实际上是"反常的教育"——比如你受教育 16 年,但按你的经验水平,你"应该"只受教育 13 年,多出来的那 3 年就是 X~1\tilde{X}_1。

第二步:用 Y 对 X₂ 做回归 → Y~\tilde{Y} = 工资的残差 = 工资中"和经验不相关的部分"。

第三步:用 Y~\tilde{Y} 对 X~1\tilde{X}_1 做回归 → 得到的系数就是在"净化了工作经验的影响之后",教育对工资的偏效应。这个值精确等于方式 A 中多元回归输出的教育系数。


四、FWL 定理的四个重要推论——每一个都对理解计量方法至关重要

推论一:多元回归的系数是一元回归的系数——在"净化"后的数据上

这个推论听起来简单,但它的意义深远。任何多元回归本质上都是在做一元回归——只不过数据和变量都事先被"清洗"过了。

在计量软件中,reg y x1 x2 x3 在数学上等价于三次 FWL 分解:X₁ 的系数来自用"净化的 Y"对"净化的 X₁"做的一元回归;X₂ 的系数来自用"净化的 Y"对"净化的 X₂"做的一元回归(净化时去除 X₁ 和 X₃ 的影响);以此类推。

这解释了一个常见经验:当你往回归里加一个和 X₁ 高度相关的新变量时,β̂₁ 的标准误会变大。 因为新变量在"净化"X₁ 时抢走了更多 X₁ 的变异——X~1\tilde{X}_1 的方差变小了 → 在第三步的一元回归中,分母变小 → 标准误变大。

推论二:"去除"控制变量的线性效应 ≠ "固定"控制变量

很多人把"控制"理解成"让控制变量保持不变"。这个直觉在概念上没有大错,但在数学上不精确。

FWL 告诉你:多元回归不是在找"X₂ 相同的人"来做比较——它是在移除 X₂ 的线性投影。 如果 X₂ 和 Y 的关系不是线性的(比如是 U 型的),一元线性投影的残差 Y~\tilde{Y} 中仍然包含 X₂ 的非线性成分。这意味着——你在"控制"X₂ 的时候,只控制了它的线性分量。非线性分量被留在了残差里。

这直接引向一个重要的实践提醒:如果你的控制变量和 Y 有非线性关系,简单的线性多元回归并不能完全"控制"住它。你需要加入 X₂² 或使用更灵活的函数形式。

推论三:系数 β̂₁ 完全由"X₁ 的独有变异"驱动

Var(β^1)=σ2∑X~1i2=σ2SST1⋅(1−R12)\text{Var}(\hat{\beta}_1) = \frac{\sigma^2}{\sum \tilde{X}_{1i}^2} = \frac{\sigma^2}{\text{SST}_1 \cdot (1 - R_1^2)}

其中 R12R_1^2 是 X₁ 对其他 X 做回归的 R²。

分母 ∑X~1i2\sum \tilde{X}_{1i}^2 就是 X₁ 的"独有变异"——它等于 X₁ 的总变异乘以 (1−R12)(1 - R_1^2)。如果其他变量能解释 X₁ 的 95%,那么用来估计 β₁ 的"有效样本信息"就只有原来的 5%。

这也就是 VIF = 1/(1−R12)1/(1 - R_1^2) 从 FWL 视角下的含义:VIF 衡量的就是"FWL 第三步中分母缩水了多少"。

推论四:核心变量 vs 控制变量的非对称性

FWL 揭示了多元回归中一个重要的不对称性:

  • X₁ 的"净化"用的是 X₂ 到 Xₖ 的所有线性组合。 所以 X₁ 被清除了所有能被其他变量线性解释的部分。
  • Y 的"净化"用的也是 X₂ 到 Xₖ 的所有线性组合。 但 Y 中可能还有一些东西——比如 X₂ 的非线性函数——虽然和 X₂ 有关,但不能被 X₂ 的线性项完全捕获。这些东西留在了 Y~\tilde{Y} 里。

这意味着:你只能在其他变量可以线性捕获的范围内"控制"它们。超出线性范围的部分,没有被控制。 这是为什么线性回归永远只是近似,以及为什么现代因果推断方法(如 Double ML)要使用机器学习来更灵活地"净化"——这一点在第七节再展开。


五、FWL 定理与两阶段最小二乘(2SLS)——2SLS 就是"带工具变量的 FWL"

5.1 2SLS 的两个阶段,就是 FWL 的两个残差步骤

两阶段最小二乘的标准表述是:

  • 第一阶段:用内生变量 X 对工具变量 Z(和外生控制变量 W)做回归,得到 X 的预测值 X^\hat{X}。
  • 第二阶段:用 Y 对 X^\hat{X}(和 W)做回归,得到 β̂₁。

但从 FWL 的视角看,2SLS 做的事情更清晰:

实际上,2SLS 等价于一个"FWL + IV"的组合操作:

如果把 2SLS 按照 FWL 的方式重写:

  • 步骤一:把 X 对所有外生控制变量 W 做回归,取残差 X~\tilde{X}(X 中不能被 W 解释的部分)。
  • 步骤二:把 Z 对所有外生控制变量 W 做回归,取残差 Z~\tilde{Z}(Z 中不能被 W 解释的部分——即工具的"独有变异")。
  • 步骤三:用 Z~\tilde{Z} 作为 X~\tilde{X} 的工具变量,做 IV 估计。

这个 FWL 形式的 2SLS 揭示了:

β^12SLS=∑Z~iY~i∑Z~iX~i\hat{\beta}_1^{\text{2SLS}} = \frac{\sum \tilde{Z}_i \tilde{Y}_i}{\sum \tilde{Z}_i \tilde{X}_i}

其中 Y~\tilde{Y} 是 Y 对 W 回归的残差,X~\tilde{X} 是 X 对 W 回归的残差,Z~\tilde{Z} 是 Z 对 W 回归的残差。

直观含义:2SLS 本质上是在"剔除了所有外生控制变量 W 的线性影响之后",用工具的残差去识别内生变量的残差对结果残差的因果效应。

5.2 为什么理解这一点很重要?

第一,它让你明白为什么 2SLS 需要"外生控制变量 W"同时出现在两个阶段。 FWL 要求 X₁ 和 Y 被同一组变量净化——如果在第一阶段控制了 W 而第二阶段没有,你得到的 β̂₁ 就和全模型中的含义不同了。

第二,它解释了为什么第一阶段 F 统计量检验的是 Z~\tilde{Z} 对 X~\tilde{X} 的解释力,而不是 Z 对 X 的原始解释力。 FWL 净化后的 F 检验才真正衡量"工具的独有变异能在多大程度上预测内生变量的独有变异"——加上控制变量前的相关性不算数,那些可能是控制变量驱动的。

第三,它为理解"控制函数法(Control Function)"铺平了道路。 控制函数法本质上是在 FWL 的框架下,把第一阶段的残差(X~\tilde{X} 中不被 Z~\tilde{Z} 解释的部分)作为额外的控制变量放回 Y 的方程——用残差来"吸收"内生性,而不是用预测值来"替换"内生变量。


六、FWL 定理与双重机器学习(Double Machine Learning)——用 ML 替代线性投影

6.1 Double ML 的核心思想——就是 FWL,只是"净化"方式升级了

Chernozhukov et al. (2018) 提出的双重机器学习(Double/Debiased Machine Learning, DML)是近年来因果推断领域最重要的方法论进展之一。它的核心逻辑就是 FWL 定理的非线性升级版:

经典 FWL(OLS) Double ML
净化 Y 用 Y 对 W 做线性回归,取残差 用 Y 对 W 做任意 ML 模型(随机森林、LASSO、神经网络等),取残差
净化 X 用 X 对 W 做线性回归,取残差 用 X 对 W 做任意 ML 模型,取残差
估计 β₁ 用 Y~\tilde{Y} 对 X~1\tilde{X}_1 做一元线性回归 用 Y~\tilde{Y} 对 X~1\tilde{X}_1 做一元线性回归
"控制"的灵活度 只控制 W 的线性效应 控制 W 的任意非线性函数形式、交互效应

Double ML 本质上就是"用机器学习来跑 FWL 的前两步"。

6.2 为什么需要"双重"?(为什么 X 和 Y 都要被净化?)

这是 FWL 定理直接给出的答案。如果你只净化了 Y 而没有净化 X,你得到的系数就不是偏效应——因为 X 中还有一部分可以被 W 解释,这部分如果和 Y 的残差相关,系数的含义就不干净。

如果你只净化了 X 而没有净化 Y,也是同样的道理——Y 中的 W 的效应没有被剥离,X 的残差可能同时捕获了 Y 残差中属于 W 的那部分。

两边都要净化——这不是 Double ML 的"仪式感",而是 FWL 定理的数学要求。 必须用同一组 W(且用同样的函数形式)去净化 X 和 Y,残差对残差的回归里得到的系数才正确。

6.3 样本拆分(Sample Splitting)——FWL 视角下的解释

Double ML 的一个标志性操作是交叉拟合(Cross-Fitting):把样本分成 K 份,用 K-1 份训练 ML 模型来净化 X 和 Y,用剩下 1 份的残差来估计 β₁。轮换 K 次后取平均。

为什么要这样做?FWL 视角提供了一个直观解释:

在经典 FWL 中,"净化"和"估计"用的是同一个样本——这没有问题,因为线性回归在样本内的过拟合程度有限。但如果你用灵活的 ML 模型(如深度树模型)来净化,在同一个样本上净化 + 估计会导致过拟合偏误(Overfitting Bias)——ML 模型会把噪声也"净化"掉,使得 X~1\tilde{X}_1 和 Y~\tilde{Y} 的方差被低估,β̂₁ 的分布产生偏差。

样本拆分保证了"净化用的样本"和"估计用的样本"是独立的——这切断了过拟合从净化步骤向估计步骤传递的路径。

一句话概括:Double ML = FWL 定理 + 灵活的 ML 净化 + 样本拆分防止过拟合。FWL 是骨架,ML 是肌肉,样本拆分是防护罩。


七、FWL 定理还能帮你理解什么?

7.1 面板固定效应(Fixed Effects)的组内估计

固定效应模型的一个经典实现方式是组内变换(Within Transformation)——对每个变量减去其个体均值,然后对变换后的数据跑 OLS。

但还有一种等价的实现方式——LSDV(Least Squares Dummy Variables):直接对原始数据跑 OLS,但加入 N-1 个个体虚拟变量。

为什么这两种方式等价?FWL 定理。

因为 LSDV 中的虚拟变量就是"其他 X",X 的系数等价于:先把 X 对个体虚拟变量做回归(→ 个体均值预测),取残差(→ 对个体均值的偏离,即组内离差);Y 也同理。然后用 Y 的组内离差对 X 的组内离差做回归。这就是组内估计。

FWL 让你一眼看出两者的等价性——以及为什么固定效应只使用"组内变异"来识别系数。

7.2 部分回归图(Added Variable Plot / Partial Regression Plot)

在 Stata 中,avplot 命令会画出一个散点图:X 轴是 X~1\tilde{X}_1(X₁ 对其他 X 回归的残差),Y 轴是 Y~\tilde{Y}(Y 对其他 X 回归的残差),并叠加一条回归线——这条线的斜率就是 β̂₁。

这个图的诊断价值在于:

  • 离群点:在 FWL 残差空间中出现的离群点,对 β̂₁ 有异常大的杠杆作用。
  • 非线性关系:如果拟合线明显不是数据的最佳描述,可能意味着你应该在模型中包含 X₁ 的非线性项。
  • 影响点:个别在原始数据中看起来正常、但在残差空间中离群的点,可能对 β̂₁ 产生了不成比例的影响——在原始变量的散点图中你是看不到这一点的。

FWL 让你理解——avplot 不是在画两个不同的变量,它就是在画你的回归系数。

7.3 高维固定效应和去均值化

假设你的模型里有"企业固定效应"和"年份固定效应"——这是两个高维度的虚拟变量组。直接跑 OLS 需要对成千上万个虚拟变量求逆——这在计算上可能不可行。

解决方案:迭代 FWL。 先用 X 对年份固定效应取残差,再对企业固定效应取残差(顺序可以交换,迭代到收敛)。这就是 reghdfe 命令(Stata 中最流行的高维固定效应估计包)的核心算法——它不直接求逆,而是通过反复的残差提取来"吸收"固定效应。

7.4 多重共线性诊断(VIF)

如第四节推论三所述,VIF 就是 FWL 第三步的分母缩放因子。一个变量的 VIF 告诉你——在 FWL 的净化步骤中,这个变量损失了多少变异信息。

7.5 匹配方法(Matching)和回归的关系

倾向得分匹配(PSM)和多元回归经常被放在一起比较。FWL 揭示了它们共通的思想内核:

  • 回归:用其他 X 的线性投影来"净化"X₁ 和 Y。
  • 匹配:用其他 X 来找到"最相似"的个体(在倾向得分上相似),然后在匹配后的子样本中比较 Y。

两者的共同逻辑就是 FWL——先把混淆变量的影响从比较中移除,再去看 X 和 Y 的关系。 区别仅在于移除的方式:回归用的是线性投影,匹配用的是分层/配对。


八、总结

FWL 定理的五条核心知识:

  1. β̂₁ = 用"净化的 Y"对"净化的 X₁"做一元回归。 多元回归的每一个系数,在数学上都等价于一个经过两次残差提取后的一元回归的系数。

  2. "控制"的数学本质是"正交投影"而非"固定不变"。 FWL 说:你把其他 X 的线性影响从 X₁ 和 Y 上同时剥离,剩下的就是偏效应。这不是"固定",这是"剔除"。

  3. 2SLS 就是 FWL 加一个工具变量。 两阶段都是 FWL 的残差提取,只不过在最后一步用 Z~\tilde{Z}(而不是 X~\tilde{X} 本身)来估计系数。理解了 FWL,2SLS 的结构就不再神秘。

  4. Double ML 就是 FWL + ML 净化 + 样本拆分。 用灵活的机器学习模型取代线性回归来做残差提取(前两步),再用样本拆分来防止过拟合——但骨架仍然是 FWL。

  5. FWL 是一个"统一场"——固定效应、部分回归图、VIF、匹配方法都可以在 FWL 框架下统一理解。 它不是计量经济学的一个"角落知识",而是贯穿整个线性模型体系的主干。


一句话收尾:

"FWL 定理告诉你:多元回归里每一个系数的背后,都站着一个朴素的一元回归——只是那个一元回归用的不是原始数据,而是被其他变量'清洗'过的残差。你理解了 FWL,就理解了'控制'在数学上到底是什么意思。而从 2SLS 到 Double ML,所有更复杂的方法不过是在这个清洗过程中换了不同的'洗涤剂'而已。"


继续阅读

学习路径

计量小课:计量经济学基础·第 55 / 58 篇
55FWL定理是什么?如何直观理解?它能帮你理解哪些重要的方法?