第 06 章 多元线性回归
学习目标
读完本章,你应当能够:
- 说出遗漏变量偏差(omitted variable bias)发生的两个条件,用公式 \(\hat\beta_1\xrightarrow{p}\beta_1+\rho_{Xu}\sigma_u/\sigma_X\) 判断偏差的方向和大小。
- 正确解释多元回归系数:它是「保持其他回归元不变」时的偏效应,并能用 OLS 估计多元回归模型。
- 计算并正确使用回归标准误 SER、\(R^2\) 与调整 \(R^2\),知道它们不能作为选择变量的主要依据。
- 列出多元回归用于因果推断的四条最小二乘假设,识别完全多重共线性(包括虚拟变量陷阱),并理解不完全多重共线性对方差的影响 \(\propto 1/(1-\rho^2)\)。
- 区分关注变量与控制变量,理解条件均值独立假设,以及为什么控制变量的系数没有因果解释。
- 掌握 Frisch–Waugh 定理,并把它和量化中的「因子中性化」联系起来。
读前导读
这一章在解决什么问题。 多元回归在 CFA 二级是重头戏:多个自变量、调整 \(R^2\)、虚拟变量、多重共线性、模型设定错误(其中包括「遗漏变量」)。你已经知道「遗漏重要变量会让系数有偏」。本章在此基础上多讲了四件事:
- 遗漏变量偏差有公式。CFA 只告诉你「会有偏」,本章给出 \(\hat\beta_1\xrightarrow{p}\beta_1+\beta_2\operatorname{cov}(X,W)/\operatorname{var}(X)\),可以直接判断偏差的方向和大致大小。这在因子研究里非常实用:一个新因子显著,先用这个公式想一想,它是不是在替某个已知风格「背锅」。
- 控制变量的系数没有因果解释。这是 CFA 完全不涉及的。加入市值作控制变量后,新因子的系数可能有因果(或定价)含义,但市值本身的系数没有。6.8 节用「条件均值独立」把这一点讲清楚。
- 多重共线性的定量刻画。CFA 讲多重共线性的症状(\(F\) 显著但单个 \(t\) 不显著)和 VIF 的经验阈值;本章给出 \(\operatorname{var}(\hat\beta_1)\propto1/(1-\rho^2)\) 的推导,并说明为什么不能为了降低方差就删掉相关的控制变量。
- Frisch–Waugh 定理:多元回归的系数等于「残差对残差」的单回归系数。它是「控制其他变量」的精确数学含义,也就是量化里因子中性化的理论依据。
和前两章一样,本书默认使用稳健标准误;多元情形的标准误公式需要矩阵,推迟到第 19a 章,本章只要求理解结论。
需要先想起来的数学。
- 矩阵与向量记号:\(X\) 是 \(n\times(k+1)\) 的数据矩阵,每行一个观测、每列一个变量(第一列全为 1);\(X^\top\) 是转置(行列互换);\((X^\top X)^{-1}\) 是逆矩阵,相当于矩阵版的「除法」。\(\hat\beta=(X^\top X)^{-1}X^\top Y\) 就是单回归 \(\hat\beta_1=s_{XY}/s_X^2\) 的多变量版本:\(X^\top X\) 对应「方差」,\(X^\top Y\) 对应「协方差」。本章只需认得这个式子。见 第 00 册第 06 章 线性代数速成。
- 线性相关与秩:若某一列可以由其他列线性组合得到(如 \(c_3=100c_1-c_2\)),这组列就「线性相关」,矩阵的秩小于列数,\(X^\top X\) 不可逆。例如三列 \((1,1,1)\)、\((0,1,0)\)、\((1,0,1)\),第三列 = 第一列 − 第二列,秩为 2。这就是完全多重共线性。见 第 00 册第 06 章 中「秩」与「线性方程组」。
- 多元函数求极值:对每个系数求偏导、令其为 0,得到 \(k+1\) 个方程(正规方程)。第 4 章的两个正规方程就是 \(k=1\) 的情形。见 第 00 册第 05 章 多元微积分与优化。
- 协方差的线性性:\(\operatorname{cov}(X,aW+e)=a\operatorname{cov}(X,W)+\operatorname{cov}(X,e)\)。遗漏变量偏差公式的「实用形式」只用这一条。见第 2 章 Key Concept 2.3。
怎么读这一章。 必读:6.1(尤其 6.1.4 的两个公式)、6.2.1(偏效应的含义)、6.5(四条假设)、6.7.4(不完全共线)、6.8(控制变量)、6.9(Frisch–Waugh)。6.1.5、6.1.6 可以快读,体会「分组比较是最原始的控制」即可。6.3 的矩阵公式第一次只需认得,推导在第 19a 章。6.4 的 \(R^2\) 与 \(\bar R^2\) 你在 CFA 中很熟,扫一眼 6.4.4 的使用提醒即可。6.10 很短,但它说明了因子预测真正依赖的假设,与第 4 章 4.6 节对照读。量化实战的代码五段都很贴近日常工作,值得逐段看输出。
6.0 动机:单回归为什么不够
上一章结尾留下一个担忧:小班学区的学生可能有其他优势,导致班级规模效应的估计带有误导性。被忽略的因素(例如学生的家庭背景)会让 OLS 估计量有偏,这就是遗漏变量偏差。
本章的工具是多元回归(multiple regression)。如果手里有遗漏变量的数据,就把它们作为额外的回归元放进模型,这样就能在保持其他变量不变的情况下估计某一个回归元(这里是师生比)的因果效应。若目的是预测而不是因果推断,多元回归可以用多个预测变量(predictors)改进单变量预测。
多元回归的许多性质与第 04、05 章平行:系数可以用 OLS 估计,OLS 估计量是随机变量,大样本下抽样分布近似正态。新的东西主要有三样:遗漏变量偏差的系统分析、多重共线性、以及控制变量的含义。
6.1 遗漏变量偏差
6.1.1 一个具体的担忧:英语学习者比例
加州的单回归 \(\widehat{TestScore}=698.9-2.28\times STR\) 忽略了学区中英语学习者(English learners,即尚未掌握英语的非母语学生)的比例。英语学习者的考试成绩通常更低;如果大班学区恰好英语学习者更多,单回归就会把英语学习者带来的低分错误地归到班级规模头上。数据中 STR 与英语学习者比例的相关系数为 0.19,小但为正。
6.1.2 定义与两个条件
Key Concept 6.1(遗漏变量偏差) 当回归元 \(X\) 与某个遗漏变量相关时,OLS 对 \(X\) 因果效应的估计产生的偏差,称为遗漏变量偏差。它需要同时满足两个条件:
- \(X\) 与遗漏变量相关;
- 遗漏变量是因变量 \(Y\) 的决定因素。
原书用三个例子说明两个条件缺一不可:
- 英语学习者比例:与 STR 相关(条件 1 成立),并且很可能影响成绩(条件 2 成立),所以可能产生偏差。
- 考试时间(time of day):若各学区的考试时间与班级规模无关,条件 1 不成立;考试时间确实可能影响成绩(条件 2 成立)。由于不相关,STR 不会错误地吸收「时间效应」,所以没有偏差。
- 人均停车场面积:教师多的学校停车位可能也多,条件 1 成立;但学习发生在教室而不是停车场,条件 2 不成立,所以没有偏差。
6.1.3 与第一条最小二乘假设的关系
误差项 \(u_i\) 包含了 \(X_i\) 以外所有决定 \(Y_i\) 的因素。一个遗漏变量如果决定 \(Y\),它就在 \(u\) 里;如果它又与 \(X\) 相关,那么 \(u\) 与 \(X\) 相关,于是 \(E(u_i\mid X_i)\ne0\),违反第一条最小二乘假设。后果很严重:OLS 有偏,而且偏差在大样本中不会消失,估计量不一致(inconsistent)。
6.1.4 遗漏变量偏差公式
设 \(\operatorname{corr}(X_i,u_i)=\rho_{Xu}\ne0\),其余两条最小二乘假设成立,则
推导。 第 4 章已经把 OLS 斜率写成
由大数定律,分母依概率收敛到 \(\sigma_X^2\),分子收敛到 \(\operatorname{cov}(u_i,X_i)=\rho_{Xu}\sigma_u\sigma_X\),相除即得 (6.1)。
公式告诉我们三件事:
- 偏差不随样本增大而消失。 \(\rho_{Xu}\sigma_u/\sigma_X\) 是大样本中仍然存在的偏差。数据再多也救不了一个设定错误的回归。
- 偏差大小取决于 \(|\rho_{Xu}|\)。 相关越强,偏差越大。
- 偏差方向取决于 \(\rho_{Xu}\) 的符号。 英语学习者比例对成绩有负效应,它以负号进入 \(u\);它又与 STR 正相关,所以 STR 与 \(u\) 负相关,\(\rho_{Xu}<0\),\(\hat\beta_1\) 偏向更负。直观地说:英语学习者少的学区成绩高、班级也小,OLS 显示的「小班提高成绩」,有一部分其实是「英语学习者少提高成绩」。
一个更实用的形式。 如果真实模型是 \(Y=\beta_0+\beta_1X+\beta_2W+e\),而你漏掉了 \(W\),那么 \(u=\beta_2W+e\),\(\operatorname{cov}(X,u)=\beta_2\operatorname{cov}(X,W)\)(假定 \(e\) 与 \(X\) 不相关),于是
偏差 = 遗漏变量的效应 × 遗漏变量对 \(X\) 的回归系数。方向就是「\(\beta_2\) 的符号 × \(\operatorname{corr}(X,W)\) 的符号」。这个形式在判断因子研究中的偏差方向时特别好用。
推导拆解:
- 漏掉 \(W\) 后,你实际估计的模型是 \(Y=\beta_0+\beta_1X+u\),其中 \(u=\beta_2W+e\):\(W\) 的影响全部进了误差项。
- 由 (6.19),\(\hat\beta_1\) 的概率极限是 \(\beta_1+\operatorname{cov}(X,u)/\operatorname{var}(X)\)。分子分母分别用 LLN 收敛到总体协方差和方差。
- 用协方差的线性性展开:\(\operatorname{cov}(X,\beta_2W+e)=\beta_2\operatorname{cov}(X,W)+\operatorname{cov}(X,e)=\beta_2\operatorname{cov}(X,W)\)。
- \(\operatorname{cov}(X,W)/\operatorname{var}(X)\) 恰好是「把 \(W\) 对 \(X\) 回归」的斜率,记为 \(\delta\)。于是偏差 \(=\beta_2\delta\)。 读法:\(X\) 每变化 1,\(W\) 平均跟着变 \(\delta\),而 \(W\) 每变化 1 又让 \(Y\) 变 \(\beta_2\)。单回归看不到 \(W\),就把这条「间接通道」\(\beta_2\delta\) 全记在 \(X\) 头上。两个条件缺一不可,正对应 \(\beta_2\ne0\) 和 \(\delta\ne0\)。
金融直觉:只用 CAPM 评估一只小盘价值基金,alpha 显著为正。真实模型若是 Fama–French 三因子,被漏掉的 SMB、HML 暴露为正,而这两个因子在样本期平均收益为正,它们的贡献就被算进了截距,alpha 被高估。这里的「偏差」落在截距上而不是斜率上,原理相同:漏掉的变量只要与回归中的某个部分(常数项或某个 \(X\))相关,又影响 \(Y\),就会让那部分的估计吸收它的效应。
6.1.5 原书方框:咖啡对健康有益吗?
2017 年《内科学年鉴》的一项研究跟踪 10 个欧洲国家 521,330 人,平均 16 年,记录 41,693 例死亡,发现喝咖啡与较低的疾病和死亡风险相关;2018 年《美国医学会杂志》的研究称每天 6–7 杯咖啡与死亡风险降低 16% 相关,英国媒体的标题是「每天六杯咖啡能救命」。但这里很可能有遗漏变量偏差:知道自己有病的人可能不喝咖啡;咖啡消费可能是收入、教育等影响健康因素的代理。随机对照试验(randomized controlled trials,RCTs)让研究者而不是被试决定谁喝、喝多少,从而消除这些偏差。还有些相关既不是真实关系也不是遗漏变量所致,而纯属巧合,例如「Spurious Correlations」网站展示的人均马苏里拉奶酪消费量与土木工程博士授予数的高度相关。
6.1.6 按组划分数据:一个初步的处理办法
一个直观的思路:挑出英语学习者比例相同、但班级规模不同的学区,在这些学区内部,班级规模就无法代理英语学习者的影响。原书表 6.1 先按英语学习者比例的四分位数把学区分成四组,再在每组内按 STR<20 与 STR≥20 分成小班和大班:
| 英语学习者比例 | 小班均分 (\(n\)) | 大班均分 (\(n\)) | 差 | t |
|---|---|---|---|---|
| 全部学区 | 657.4 (238) | 650.0 (182) | 7.4 | 4.04 |
| < 1.9% | 664.5 (76) | 665.4 (27) | −0.9 | −0.30 |
| 1.9–8.8% | 665.2 (64) | 661.8 (44) | 3.3 | 1.13 |
| 8.8–23.0% | 654.9 (54) | 649.7 (50) | 5.2 | 1.72 |
| > 23.0% | 636.7 (44) | 634.8 (61) | 1.9 | 0.68 |
全样本的差为 7.4 分(t = 4.04,1% 水平显著);但在每一组内部,差距只有约一半甚至更少,最低四分位组里小班反而低 0.9 分。为什么总效应比任何一组的组内效应都大?因为英语学习者最多的学区既成绩最低,又更多是大班:最低与最高四分位组的平均分相差约 30 分;最低四分位组中 74%(76/103)是小班,最高四分位组中只有 42%(44/105)。这就是辛普森悖论式的现象。
这个分析印证了遗漏变量偏差的担忧,比简单的均值差更有说服力,但它仍然没有给出一个可用的数字:「保持英语学习者比例不变时,改变班级规模的效应是多少」。要回答这个问题,需要多元回归。
6.2 多元回归模型
6.2.1 总体回归线与偏效应
两个自变量时,
称为总体回归线(population regression line)或总体回归函数。\(\beta_0\) 是截距,\(\beta_1\) 是 \(X_{1i}\) 的斜率系数,或简称「\(X_{1i}\) 的系数」,\(\beta_2\) 同理。
\(\beta_1\) 的解释与单回归不同。 它是在保持 \(X_2\) 不变(holding \(X_2\) constant)或说控制 \(X_2\)(controlling for \(X_2\))时,\(X_1\) 相差一单位的两个观测之间 \(Y\) 期望值之差。推导:第一个观测 \(Y=\beta_0+\beta_1X_1+\beta_2X_2\),第二个观测 \(Y+\Delta Y=\beta_0+\beta_1(X_1+\Delta X_1)+\beta_2X_2\)(6.3),相减得 \(\Delta Y=\beta_1\Delta X_1\),即
\(\beta_1\) 也叫 \(X_1\) 对 \(Y\) 的偏效应(partial effect)。截距 \(\beta_0\) 是 \(X_1=X_2=0\) 时 \(Y\) 的期望值。
6.2.2 总体多元回归模型
加入误差项 \(u_i\) 吸收所有其他因素:
也可以把截距看成一个永远等于 1 的常数回归元(constant regressor)\(X_{0i}=1\) 的系数:\(Y_i=\beta_0X_{0i}+\beta_1X_{1i}+\beta_2X_{2i}+u_i\)(6.6),\(\beta_0\) 因此也称常数项(constant term)。这一视角在讨论多重共线性时很有用。
Key Concept 6.2(多元回归模型)
\[Y_i=\beta_0+\beta_1X_{1i}+\beta_2X_{2i}+\cdots+\beta_kX_{ki}+u_i,\quad i=1,\dots,n\tag{6.7}\]总体回归线为 \(E(Y\mid X_{1i}=x_1,\dots,X_{ki}=x_k)=\beta_0+\beta_1x_1+\cdots+\beta_kx_k\);\(\beta_1\) 是保持其他回归元不变时 \(X_1\) 相差一单位对应的 \(Y\) 的期望差;\(\beta_0\) 是所有 \(X\) 为 0 时 \(Y\) 的期望。
同方差的定义自然推广:若 \(\operatorname{var}(u_i\mid X_{1i},\dots,X_{ki})\) 为常数则同方差,否则异方差。
6.3 多元回归中的 OLS 估计量
6.3.1 定义
令 \(b_0,\dots,b_k\) 为系数的候选值,预测误差平方和为
使之最小的 \(\hat\beta_0,\dots,\hat\beta_k\) 就是 OLS 估计量。
Key Concept 6.3 OLS 估计量最小化 (6.8);预测值为 \(\hat Y_i=\hat\beta_0+\hat\beta_1X_{1i}+\cdots+\hat\beta_kX_{ki}\)(6.9),残差为 \(\hat u_i=Y_i-\hat Y_i\)(6.10)。它们分别是未知总体系数和误差项的估计。
原则上可以试错求解,但用微积分得到的显式公式更方便。多元情形最好用矩阵表示(原书推迟到第 19 章,即本册第 19a 章):把 \(n\) 个观测堆成向量 \(Y\)(\(n\times1\))和矩阵 \(X\)(\(n\times(k+1)\),第一列全为 1),一阶条件为 \(X^\top(Y-X\hat\beta)=0\),即正规方程(normal equations),解为
这要求 \(X^\top X\) 可逆,即 \(X\) 的列线性无关,这正是 6.5 节「无完全多重共线性」假设的来历。线性代数背景见第 01 册,数值求解(QR 分解等)见第 04 册。
白话解释:矩阵式只是把 \(k+1\) 个偏导数方程写成一行。\(X^\top(Y-X\hat\beta)=X^\top\hat u=0\) 的第 \(j\) 行就是 \(\sum_iX_{ji}\hat u_i=0\):残差与每一个回归元(包括全为 1 的常数列)正交。\(k=1\) 时,这两行正是第 4 章的两个正规方程 \(\sum\hat u_i=0\) 和 \(\sum X_i\hat u_i=0\)。所以第 4 章所有代数性质(残差均值为零、与回归元正交、\(TSS=ESS+SSR\))在多元回归中原样成立。 解的形式 \((X^\top X)^{-1}X^\top Y\) 可以类比 \(\hat\beta_1=\frac{\sum(X_i-\bar X)Y_i}{\sum(X_i-\bar X)^2}\):\(X^\top Y\) 汇总了 \(Y\) 与各回归元的「协动」,\((X^\top X)^{-1}\) 则同时除以各回归元的「方差」并扣除它们之间的重叠。
6.3.2 应用
单回归为 \(\widehat{TestScore}=698.9-2.28\times STR\)(6.11),\(R^2\) 仅为 0.051。加入英语学习者百分比 PctEL:
STR 的系数几乎减半(\(-1.10\) vs. \(-2.28\)),因为多元回归控制了 PctEL,单回归没有。这与表 6.1 的分组分析一致,强烈提示单回归 (6.11) 的因果估计存在遗漏变量偏差。
6.4 多元回归的拟合度量
6.4.1 回归标准误 SER
SER 估计误差 \(u_i\) 的标准差,衡量 \(Y\) 围绕回归线的离散程度:
SSR 为残差平方和(sum of squared residuals)。除以 \(n-k-1\) 是自由度调整(degrees-of-freedom adjustment),用来修正估计 \(k+1\) 个系数带来的向下偏差;\(k=1\) 时就是单回归的 \(n-2\)。\(n\) 大时这一调整可以忽略。
6.4.2 \(R^2\)
其中 \(ESS=\sum(\hat Y_i-\bar Y)^2\) 是被解释平方和,\(TSS=\sum(Y_i-\bar Y)^2\) 是总平方和。
一个重要性质:增加回归元,\(R^2\) 永不下降(除非新回归元的系数估计恰好为 0,此时不变)。理由很简单:OLS 最小化 SSR;新回归元的系数如果取 0,SSR 与原来相同;OLS 之所以给它非零值,必然是因为这样能让 SSR 更小。
6.4.3 调整 \(R^2\)
\(R^2\) 上升不代表模型真的改进了,它会夸大拟合。调整 \(R^2\)(adjusted \(R^2\),记作 \(\bar R^2\))对回归元个数做惩罚:
它等于 1 减去「经自由度调整的残差样本方差」与「\(Y\) 的样本方差」之比。(第二个等号:\(s^2_{\hat u}=SSR/(n-k-1)\),\(s_Y^2=TSS/(n-1)\),二者相除即 \(\frac{n-1}{n-k-1}\cdot\frac{SSR}{TSS}\)。)三条性质:
- 因为 \((n-1)/(n-k-1)>1\),所以 \(\bar R^2<R^2\)。
- 加入一个回归元有两个相反的效应:SSR 下降使 \(\bar R^2\) 上升,因子 \((n-1)/(n-k-1)\) 增大使它下降。净效应看哪个更强。
- \(\bar R^2\) 可以为负:当回归元整体减少的 SSR 太少、不足以抵消惩罚因子时。
应用。 (6.12) 的 \(R^2=0.426\),\(\bar R^2=0.424\),SER = 14.5。与只含 STR 的回归(\(R^2=0.051\),SER = 18.6)相比,加入 PctEL 后模型解释了 42.6% 的成绩变异;SER 以考试分数为单位,从 18.6 降到 14.5,说明预测更精确。\(n=420\) 而回归元只有两个,所以 \(R^2\) 与 \(\bar R^2\) 几乎相同。
6.4.4 如何使用 \(R^2\) 与 \(\bar R^2\)
\(R^2\) 量化了回归元解释因变量变异的程度,但过度依赖它是陷阱:
- 目标是样本外预测时,回归元太多可能在样本内拟合很好、在样本外变差。\(\bar R^2\) 有所改进,但单纯最大化 \(\bar R^2\) 仍可能给出很差的样本外预测(原书第 14 章再谈)。
- 目标是因果推断时,是否纳入一个变量,要看它能否帮助更好地估计关注的因果效应,而不是看它是否提高 \(R^2\)。
第 07 章会把这一点总结成 Key Concept 7.3。
6.5 多元回归因果推断的最小二乘假设
这里假定所有 \(\beta_1,\dots,\beta_k\) 都是我们关心的因果效应(6.8 节讨论只有部分系数是因果效应、其余是控制变量的情形;6.10 节给出用于预测的假设)。
- 假设 1: \(E(u_i\mid X_{1i},\dots,X_{ki})=0\)。若 \(X\) 随机分配或如同随机分配,它成立。这是 OLS 无偏的关键。
- 假设 2: \((X_{1i},\dots,X_{ki},Y_i)\),\(i=1,\dots,n\) 独立同分布。简单随机抽样自动满足。
- 假设 3: 大离群值罕见,即 \(0<E(X_{1i}^4)<\infty,\dots,0<E(X_{ki}^4)<\infty\),\(0<E(Y_i^4)<\infty\)。它用于推导大样本性质,也提醒我们 OLS 对离群值敏感。
- 假设 4(新增):无完全多重共线性(no perfect multicollinearity)。若某个回归元是其他回归元的完全线性函数,则称这组回归元完全多重共线(perfectly multicollinear),此时 OLS 无法计算。
Key Concept 6.4 汇总上述四条假设(模型中 \(\beta_1,\dots,\beta_k\) 为因果效应)。
为什么完全共线时无法计算? 设想你不小心把 STR 输入了两次,让 TestScore 对 STR 和 STR 回归。软件要么自动删掉一个,要么报错;数学上,OLS 公式出现除以零(\(X^\top X\) 不可逆)。直观上,你在问一个不合逻辑的问题:「保持 STR 不变时,STR 变化一单位的效应是多少?」解决办法是改正错误,换成原本想要的变量。完全多重共线性通常反映回归元选择上的逻辑错误,或者数据集中某个没注意到的特征。
白话解释:「无法计算」的准确含义是:解不唯一。设 \(X_2=2X_1\),真实拟合为 \(\hat Y=3X_1\)。那么 \((b_1,b_2)=(3,0)\)、\((1,1)\)、\((-1,2)\) 给出的拟合值完全一样,SSR 也一样,数据无法在它们之间做出选择。代数上,存在非零向量 \(c\) 使 \(Xc=0\)(这里 \(c=(0,2,-1)\),对应常数、\(X_1\)、\(X_2\) 三列),于是 \(\hat\beta\) 加上 \(c\) 的任意倍数仍是解,\(X^\top X\) 也就不可逆(行列式为 0)。
金融直觉:会计恒等式是完全共线的常见来源。把「总资产」「总负债」「所有者权益」三个变量同时放进回归,由于 资产 = 负债 + 权益,三列完全共线;同样,「毛利」「收入」「成本」三者不能同时作为回归元。CPA 读者对这类恒等式很敏感,设计回归时先检查一遍,可以避免大部分完全共线问题。
6.6 OLS 估计量的分布
样本不同,OLS 估计值就不同,这种变异由抽样分布概括。单回归的结论可以推广:
Key Concept 6.5 若 Key Concept 6.4 的四条假设成立,则 \(\hat\beta_0,\dots,\hat\beta_k\) 无偏、一致,大样本下联合服从多元正态分布(multivariate normal),每个 \(\hat\beta_j\sim N(\beta_j,\sigma^2_{\hat\beta_j})\)。
原因和单回归相同:OLS 估计量是随机样本数据的(加权)平均,中心极限定理适用。完整表达式需要矩阵代数(原书第 19 章,即本册第 19a 章)。
一个要点:OLS 估计量之间一般是相关的,这种相关来自回归元之间的相关。下一节会给出两回归元时的具体公式。系数之间的协方差在检验多个系数的联合假设(第 07 章)、计算非线性效应的标准误(第 08 章)时都必不可少。
6.7 多重共线性
完全多重共线:某回归元是其他回归元的完全线性组合。不完全多重共线(imperfect multicollinearity):某回归元与其他回归元高度但不完全相关。后者不妨碍估计,也不意味着回归元选择有逻辑错误,但可能使某些系数估计得很不精确。
6.7.1 完全多重共线的三个例子
在 (6.12) 的基础上加入第三个回归元:
- 英语学习者占比 FracEL(0–1 之间)。\(PctEL_i=100\times FracEL_i\),完全线性相关,无法估计。问题本身没有意义:保持比例不变时百分比变化一单位的效应是多少?
- 「不算很小」的班级 NVS:\(NVS_i=1\) 若 \(STR_i\ge12\)。数据中最小的 STR 是 14,所以 NVS 对所有观测都等于 1,恰好等于常数回归元 \(X_{0i}\)。两点启示:有截距时,常数回归元也可能卷入完全共线;完全共线是关于手头数据集的陈述,你可以想象 STR<12 的学区,但数据里没有,就无法分析。
- 英语使用者百分比 PctES:\(PctES_i=100-PctEL_i=100X_{0i}-PctEL_i\)。启示:完全共线是整组回归元的特征,去掉截距或 PctEL 中的任何一个,就不再共线。
6.7.2 虚拟变量陷阱
把学区分为农村、郊区、城市三类,每个学区属于且仅属于一类。如果同时放入 Rural、Suburban、Urban 三个虚拟变量和常数项,则 \(Rural_i+Suburban_i+Urban_i=1=X_{0i}\),完全共线。这就是虚拟变量陷阱(dummy variable trap)。
一般地:若有 \(G\) 个互斥且穷尽的类别,模型同时含截距和全部 \(G\) 个虚拟变量,就会完全共线。两种处理:
- 惯例做法: 保留常数项,只放 \(G-1\) 个虚拟变量。被省略的类别称为基准类(base case),每个虚拟变量的系数表示该类别相对基准类的增量效应。例如去掉 Rural,Suburban 的系数就是保持其他变量不变时郊区与农村学区的平均分差。
- 另一种做法: 去掉截距,放入全部 \(G\) 个虚拟变量,每个系数就是该类别的截距。
6.7.3 完全共线的处理
完全多重共线通常源于设定错误,有时容易发现(例 1),有时不容易(例 2)。软件无法计算 OLS 时会提示;你应该弄清来源并修改回归。有些软件遇到完全共线时会自动删掉某个变量,结果并不可靠,至少你把「放哪些回归元」的决定权交给了计算机。
6.7.4 不完全多重共线
两个或多个回归元高度相关,或者说存在回归元的某个线性组合与另一个回归元高度相关。这对 OLS 理论没有任何问题;相反,OLS 的用途之一就是在回归元相关时分离出各自的独立影响。代价是至少一个系数会估计得不精确。
例:加入「第一代移民比例」作回归元。它与 PctEL 高度相关(移民多的学区英语学习者也多),数据中很少有「英语学习者少但移民多」或反过来的学区,所以很难估计保持移民比例不变时 PctEL 的效应,方差会很大。
数学刻画(原书附录 6.2)。 两个回归元、误差同方差 \(\operatorname{var}(u_i\mid X_{1i},X_{2i})=\sigma_u^2\) 时,大样本下 \(\hat\beta_1\sim N(\beta_1,\sigma^2_{\hat\beta_1})\),
\(\rho_{X_1,X_2}\) 是两回归元的总体相关系数。高度正相关或负相关时 \(1-\rho^2\) 接近 0,方差急剧变大。\(1/(1-\rho^2)\) 就是方差膨胀因子(variance inflation factor,VIF)在两变量时的形式;多变量时 \(VIF_j=1/(1-R_j^2)\),\(R_j^2\) 是 \(X_j\) 对其他回归元回归的 \(R^2\)。此外,两个系数估计量也相关,同方差时
回归元正相关,系数估计负相关:一个估计偏高,另一个往往偏低。
白话解释:(6.20) 和单回归方差 \(\sigma_u^2/(n\sigma_{X_1}^2)\) 只差一个因子 \(1/(1-\rho^2)\)。原因见 6.9 节的 Frisch–Waugh:多元回归只用 \(X_1\) 中「不能被 \(X_2\) 解释」的那部分变动来估计 \(\beta_1\),这部分的方差是 \((1-\rho^2)\sigma_{X_1}^2\)。\(\rho=0.9\) 时只剩 19% 的变动可用,方差放大约 5.3 倍,标准误放大约 2.3 倍。 (6.21) 的直觉:两个变量几乎同进同退,数据只能确定它们合起来的效应 \(\beta_1+\beta_2\),确定不了怎么分。估计时把一部分效应从 \(X_1\) 挪给 \(X_2\),拟合几乎不变,所以两个系数的误差此消彼长,呈负相关。代码第 3 段里两个系数之和估得很准,就是这个原因。
金融直觉:这就像同一行业里两只高度相关的股票,你可以很准地估计「这个行业」的收益,但很难分清是哪一只贡献的。多因子模型里,若因子定义高度重叠(BP 与 EP),单个因子收益不稳定、符号常常翻转,而合成因子的收益很稳定。风险模型中常把这类因子先合成或正交化,原因在此。
判断要点: 完全共线通常意味着逻辑错误;不完全共线不一定是错误,而是 OLS、数据和问题本身的特征。如果这些变量正是为处理遗漏变量偏差而有意纳入的,不完全共线只是意味着用手头的数据难以精确估计某些偏效应,不应该因此删掉变量(那会重新引入遗漏变量偏差,见练习 4)。
6.8 控制变量与条件均值独立
6.8.1 关注变量与控制变量
多元回归中的回归元可以分为两类。关注变量(variable of interest)是我们要估计其因果效应的变量;控制变量(control variable)本身不是研究对象,纳入它是为了保持某些因素不变,避免关注变量的估计受遗漏变量偏差影响。
6.8.2 例:免费午餐比例
「校外学习机会」很重要却难以度量,但它与可以度量的学生经济背景相关。加入获得免费或减价午餐的学生百分比 LchPct(家庭收入低于约 1.5 倍贫困线才有资格,衡量经济困难学生的比例):
STR 的系数从 −1.10 变为 −1.00,结论基本不变。LchPct 的系数很大:LchPct 从 0% 到 50%,成绩差 \(0.547\times50=27.4\) 分,约相当于成绩分布中第 75 与第 25 百分位之差。
那么,若督学据此取消午餐项目,让 LchPct 降为 0,成绩会提高吗?常识说不会,让学生挨饿只会适得其反。可是,把 STR 的系数视为因果、却不把 LchPct 的系数视为因果,这合理吗?条件均值独立的概念回答了这个问题。
6.8.3 带控制变量的模型
设有 \(k\) 个关注变量 \(X\) 和 \(r\) 个控制变量 \(W\):
其中 \(\beta_1,\dots,\beta_k\) 是因果效应。纳入控制变量的目的是:一旦控制住 \(W\),关注变量就不再与误差相关。所以把假设 1 换成更弱的条件均值独立(conditional mean independence):给定关注变量和控制变量时,\(u_i\) 的条件期望不依赖关注变量(但可以依赖控制变量)。
Key Concept 6.6(带控制变量时因果推断的最小二乘假设)
- \(E(u_i\mid X_{1i},\dots,X_{ki},W_{1i},\dots,W_{ri})=E(u_i\mid W_{1i},\dots,W_{ri})\)(条件均值独立,6.17);
- \((X_{1i},\dots,X_{ki},W_{1i},\dots,W_{ri},Y_i)\) i.i.d.;
- 所有 \(X\)、\(W\)、\(Y\) 的四阶矩非零且有限;
- 无完全多重共线性。
含义:控制 \(W\) 之后,\(X\) 可以看成如同随机分配,\(u\) 的条件均值不再依赖 \(X\),OLS 能估计 \(X\) 的因果效应。控制变量本身仍可能与误差相关,所以它们的系数受遗漏变量偏差影响,没有因果解释。这不成问题,因为我们关心的是 \(X\) 的系数。
在班级规模的例子中:LchPct 很可能与进入误差项的「校外学习机会」等因素相关,这正是它作为控制变量有用的原因,也正因如此它的系数没有因果解释。条件均值独立要求的是:在 PctEL 和 LchPct 相同的学校之间,班级规模如同随机分配。若如此,STR 的系数有因果解释,LchPct 的系数没有。这个假设为选择控制变量、判断控制是否充分提供了指导。
白话解释:比较两个假设的强弱。Key Concept 6.4 的假设 1 要求 \(E(u\mid X,W)=0\):误差与所有回归元在均值上无关。条件均值独立只要求 \(E(u\mid X,W)=E(u\mid W)\):误差可以随 \(W\) 变化(\(W\) 是遗漏因素的「代理」,本来就该和它们相关),只是一旦固定了 \(W\),再知道 \(X\) 不提供关于 \(u\) 的额外信息。用分组的语言说:在 \(W\) 相同的组内,\(X\) 像是随机分配的。6.1.6 节按英语学习者比例分组再比较大小班,就是这个思想的粗糙版本。
金融直觉:检验「分析师覆盖」是否影响股价效率,控制市值和行业。条件均值独立要求:在市值相近、同一行业的公司之间,被多少分析师覆盖近乎随机。这时覆盖人数的系数可以作因果解读;市值的系数却不行,因为市值同时代理了流动性、机构持股、信息披露质量等一大堆遗漏因素,它的系数是这些因素的混合。同理,在因子研究中加入市值作为控制变量后,不要把市值系数报告为「规模溢价」。
6.8.4 为什么成立(原书附录 6.5)
假定条件期望是线性的:
则
记 \(\delta_0=\beta_0+\gamma_0\),\(\delta_j=\beta_{k+j}+\gamma_j\),模型可改写为
其中 \(E(v_i\mid X,W)=0\),满足 Key Concept 6.4。于是:(1) OLS 对 \(\beta\) 与 \(\delta\) 无偏、一致、大样本正态;(2) \(X\) 的系数就是因果效应 \(\beta_1,\dots,\beta_k\);(3) 控制变量的系数 \(\delta_j\) = 直接因果效应 \(\beta_{k+j}\) + 因 \(u\) 与 \(W\) 相关产生的 \(\gamma_j\),一般带有遗漏变量偏差,没有因果解释。
6.9 Frisch–Waugh 定理:「控制」到底做了什么
多元回归中 \(\beta_1\) 的 OLS 估计可以分三步得到(原书附录 6.3):
- 把 \(X_1\) 对 \(X_2,\dots,X_k\)(含常数项)回归,残差记为 \(\tilde X_1\);
- 把 \(Y\) 对 \(X_2,\dots,X_k\) 回归,残差记为 \(\tilde Y\);
- 把 \(\tilde Y\) 对 \(\tilde X_1\) 回归。
第 3 步的系数精确等于多元回归中 \(X_1\) 的系数,而且第 3 步的残差也与多元回归的残差完全相同(矩阵证明见原书习题 19.17)。
含义:前两步从 \(Y\) 和 \(X_1\) 中剔除了能被其他回归元线性解释的部分,第 3 步只用剩下的「独立变异」来估计 \(X_1\) 的效应。这就是「控制其他变量」的数学含义。
推导拆解:为什么第 3 步的系数恰好等于多元回归系数?以两个回归元 \(X_1,X_2\)(含常数)为例。
- 多元回归的残差 \(\hat u\) 与常数、\(X_1\)、\(X_2\) 都正交(6.3.1 的正规方程)。
- 把多元回归的拟合式 \(Y=\hat\beta_0+\hat\beta_1X_1+\hat\beta_2X_2+\hat u\) 中的 \(X_1\) 拆成 \(X_1=(X_1\text{ 对 }X_2\text{ 的拟合值})+\tilde X_1\)。拟合值是常数和 \(X_2\) 的线性组合,可以并入 \(\hat\beta_0\)、\(\hat\beta_2\) 那两项,于是 \(Y=(\text{常数和 }X_2\text{ 的某个线性组合})+\hat\beta_1\tilde X_1+\hat u\)。
- 两边乘以 \(\tilde X_1\) 再求和:\(\tilde X_1\) 是对常数和 \(X_2\) 回归的残差,与它们正交,第一项消失;\(\hat u\) 与 \(X_1\)、常数、\(X_2\) 都正交,所以与 \(\tilde X_1\) 也正交,最后一项消失。剩下 \(\sum\tilde X_{1i}Y_i=\hat\beta_1\sum\tilde X_{1i}^2\)。
- 于是 \(\hat\beta_1=\sum\tilde X_{1i}Y_i/\sum\tilde X_{1i}^2\),这正是 \(Y\)(或 \(\tilde Y\),二者只差一个与 \(\tilde X_1\) 正交的部分)对 \(\tilde X_1\) 的过原点回归系数。 第 4 步顺便说明了量化实战中的结论:只中性化因子、不中性化收益,系数不变,因为分子里 \(Y\) 和 \(\tilde Y\) 给出同一个值。
金融直觉:「投影残差」在金融里随处可见。个股收益对市场回归的残差是特质收益;因子对行业和市值回归的残差是中性化因子;一个新因子对已有因子回归的残差,常被称为它的「增量部分」。Frisch–Waugh 说明,用这些残差做单回归,与把所有变量一起放进多元回归是一回事。
用它推出式 (6.20)。 由第 3 步,\(\hat\beta_1\) 是 \(\tilde Y\) 对 \(\tilde X_1\) 的单回归系数,同方差下其方差为 \(\sigma_u^2/(n\sigma^2_{\tilde X_1})\)。\(\tilde X_1\) 是 \(X_1\) 对 \(X_2\) 线性投影的残差,其总体方差为 \((1-\rho^2_{X_1,X_2})\sigma^2_{X_1}\)。代入即得 (6.20):共线性越强,\(X_1\) 的独立变异越少,估计越不精确。
一个特例(原书习题 6.11)。 若 \(X_1\) 与 \(X_2\) 去均值后样本正交,第 1 步的残差就是 \(X_1\) 去均值本身,多元回归中 \(X_1\) 的系数等于单回归系数。只有在回归元不相关时,「加不加控制变量」才不影响系数,这正是遗漏变量偏差条件 1 的另一种表述。
6.10 用于预测的最小二乘假设(原书附录 6.4)
如果目标是预测而不是因果推断,假设可以放宽。设有一个样本外观测 \((X_1^{oos},\dots,X_k^{oos},Y^{oos})\),要在给定 \(X\) 时预测 \(Y^{oos}\)。设 \(E(Y\mid X_1,\dots,X_k)=\beta_0+\beta_1X_1+\cdots+\beta_kX_k\),令 \(u=Y-E(Y\mid X)\)。假设:
- 样本外观测与样本内观测来自同一总体分布;
- 样本内观测 i.i.d.;
- 四阶矩有限;
- 无完全多重共线。
此时 \(\beta\) 被定义为总体条件期望的系数,它可能有、也可能没有因果解释。由定义,\(E(u_i\mid X)=0\) 自动成立,所以 OLS 对这些系数无偏,并且一致、大样本正态。样本外预测也无偏:
推导用到样本外与样本内独立、OLS 无偏,以及两者同分布。量化里的收益预测正处在这个框架下:我们不需要因子「导致」收益,只需要它在样本外仍有预测力;而第 1 条假设(同分布)恰恰是因子失效的主要来源。
量化实战
本章方法在量化里的位置
遗漏变量偏差 = 风格暴露的混淆。 一个新因子的「收益」可能只是因为它与市值、价值、动量等已知因子相关(条件 1),而这些因子本身决定收益(条件 2)。所以检验新因子必须控制已知因子:时间序列上看对 Fama–French 等多因子模型回归后的 alpha,截面上看 Fama–MacBeth 回归中加入已知风格暴露后的系数。6.1.4 节「偏差 = 遗漏变量效应 × 遗漏变量对 \(X\) 的回归系数」可以直接判断偏差方向。
Frisch–Waugh 与因子中性化。 截面选股中常把因子对行业虚拟变量和 ln(市值) 回归取残差,称为行业市值中性化。这正是 Frisch–Waugh 的第 1 步。用中性化后的因子与收益做单回归,系数与「收益对原始因子 + 行业 + 市值」的多元回归完全相同。如果收益没有同时中性化,系数仍然一样,但残差更大,标准误和 IC 的数值都会变。
虚拟变量陷阱。 Barra 类风险模型的截面回归同时含国家因子(全 1 列,相当于截距)和全部行业虚拟变量,这就是虚拟变量陷阱。实践中加一个约束(行业因子收益按市值加权之和为 0),或者去掉截距/某个行业,思路与 6.7.2 节一致。
多重共线。 BP、EP、SP 等价值类因子,或不同窗口的动量因子之间高度相关。放进同一个回归后,单个系数不稳定、标准误大、符号可能翻转,但它们的线性组合(整体的「价值」暴露)估计得很好,预测力也不受影响。要区分「想知道每个因子的独立贡献」(共线有害)和「只想预测」(共线影响小)。
\(R^2\) 与过拟合。 截面收益回归的 \(R^2\) 通常很低;加变量必然提高样本内 \(R^2\),\(\bar R^2\) 也挡不住样本外失效。判断一个模型要看样本外表现。
控制变量的系数不是定价效应。 在为检验新因子而加入的控制变量中,市值的系数不能当成「规模溢价」的估计来解读。
示例:遗漏变量偏差、因子中性化、共线性与虚拟变量陷阱
模拟一期 3000 只股票的截面:5 个行业,标准化 ln(市值),一个与市值和行业相关、但对收益没有真实效应的「新因子」。
import numpy as np
import pandas as pd
import statsmodels.api as sm
from statsmodels.stats.outliers_influence import variance_inflation_factor
rng = np.random.default_rng(7)
N = 3000 # 一期截面:3000 只股票
# ---- 模拟截面数据 ----
industry = rng.integers(0, 5, N) # 5 个行业
ind_ret = np.array([0.010, -0.005, 0.003, 0.000, -0.008])
size = rng.standard_normal(N) # 标准化 ln(市值)
newf = 0.6 * size + 0.3 * (industry == 0) + 0.8 * rng.standard_normal(N) # 新因子与市值、行业相关
ret = ind_ret[industry] - 0.010 * size + 0.000 * newf + 0.03 * rng.standard_normal(N) # 新因子真实效应为 0
# ---- 1. 遗漏变量偏差 ----
short = sm.OLS(ret, sm.add_constant(newf)).fit(cov_type="HC1")
D = pd.get_dummies(industry, prefix="ind", drop_first=True).astype(float).values
X_full = sm.add_constant(np.column_stack([newf, size, D]))
full = sm.OLS(ret, X_full).fit(cov_type="HC1")
print(f"单回归 新因子系数 = {short.params[1]:.5f} (t = {short.tvalues[1]:.1f})")
print(f"控制市值与行业后 = {full.params[1]:.5f} (t = {full.tvalues[1]:.1f})")
# 总体 OVB:plim = beta + cov(X,u)/var(X),u 含 -0.010*size 与行业收益
cov_Xu = -0.010 * 0.6 + 0.3 * 0.2 * (ind_ret[0] - ind_ret.mean())
var_X = 0.6**2 + 0.3**2 * 0.2 * 0.8 + 0.8**2
print(f"OVB 公式预测的概率极限 = {cov_Xu / var_X:.5f}")
# ---- 2. Frisch–Waugh:因子中性化 ----
Z = sm.add_constant(np.column_stack([size, D])) # 行业 + 市值
f_neu = sm.OLS(newf, Z).fit().resid # 中性化后的因子
r_neu = sm.OLS(ret, Z).fit().resid # 中性化后的收益
b_fw = sm.OLS(r_neu, f_neu).fit()
b_half = sm.OLS(ret, sm.add_constant(f_neu)).fit()
print(f"FWL: 残差对残差 = {b_fw.params[0]:.6f}, 多元回归 = {full.params[1]:.6f}, "
f"收益不中性化 = {b_half.params[1]:.6f}")
print(f" 残差 SSR:多元 {full.ssr:.4f}, 残差对残差 {b_fw.ssr:.4f}, 收益不中性化 {b_half.ssr:.4f}")
# ---- 3. 不完全多重共线:两个高度相关的价值因子 ----
bp = rng.standard_normal(N)
ep = 0.95 * bp + np.sqrt(1 - 0.95**2) * rng.standard_normal(N)
y = 0.004 * bp + 0.004 * ep + 0.03 * rng.standard_normal(N)
Xv = sm.add_constant(np.column_stack([bp, ep]))
fv = sm.OLS(y, Xv).fit(cov_type="HC1")
f1 = sm.OLS(y, sm.add_constant(bp)).fit(cov_type="HC1")
rho = np.corrcoef(bp, ep)[0, 1]
print(f"corr(BP,EP) = {rho:.3f}, VIF = {variance_inflation_factor(Xv, 1):.2f}, 1/(1-rho^2) = {1/(1-rho**2):.2f}")
print(f"BP 系数: 只放 BP {f1.params[1]:.4f} (SE {f1.bse[1]:.4f}); BP+EP {fv.params[1]:.4f} (SE {fv.bse[1]:.4f})")
print(f"BP+EP 系数之和 = {fv.params[1]+fv.params[2]:.4f}; corr(b_BP, b_EP) = "
f"{fv.cov_params()[1,2]/np.sqrt(fv.cov_params()[1,1]*fv.cov_params()[2,2]):.3f}")
# ---- 4. 虚拟变量陷阱 ----
D_all = pd.get_dummies(industry).astype(float).values
X_trap = np.column_stack([np.ones(N), D_all])
print(f"常数项 + 全部 5 个行业虚拟变量:列数 {X_trap.shape[1]}, 秩 {np.linalg.matrix_rank(X_trap)}")
# ---- 5. R^2 与调整 R^2:加入 50 个纯噪声回归元 ----
noise = rng.standard_normal((N, 50))
f_noise = sm.OLS(ret, np.column_stack([X_full, noise])).fit()
f_base = sm.OLS(ret, X_full).fit()
print(f"R2: {f_base.rsquared:.4f} -> {f_noise.rsquared:.4f}; adj R2: {f_base.rsquared_adj:.4f} -> {f_noise.rsquared_adj:.4f}")
关键输出:
单回归 新因子系数 = -0.00467 (t = -8.1)
控制市值与行业后 = 0.00118 (t = 1.7)
OVB 公式预测的概率极限 = -0.00532
FWL: 残差对残差 = 0.001179, 多元回归 = 0.001179, 收益不中性化 = 0.001179
残差 SSR:多元 2.7338, 残差对残差 2.7338, 收益不中性化 3.1806
corr(BP,EP) = 0.952, VIF = 10.63, 1/(1-rho^2) = 10.63
BP 系数: 只放 BP 0.0081 (SE 0.0005); BP+EP 0.0030 (SE 0.0018)
BP+EP 系数之和 = 0.0083; corr(b_BP, b_EP) = -0.954
常数项 + 全部 5 个行业虚拟变量:列数 6, 秩 5
R2: 0.1412 -> 0.1523; adj R2: 0.1395 -> 0.1362
怎么读这些结果。
- 新因子的真实效应为 0,但单回归给出 t = −8.1 的「强负向因子」。原因是它与市值正相关,而市值对收益有负效应(小盘溢价),满足遗漏变量偏差的两个条件;偏差方向为「负效应 × 正相关 = 负」。按 OVB 公式算出的概率极限为 −0.0053,样本估计 −0.0047 与之相差约一个标准误。控制市值和行业后,系数回到 0 附近(t = 1.7,5% 水平不显著)。
- 三种做法的系数完全相同(0.001179)。「残差对残差」的 SSR 与多元回归一致;只中性化因子、不中性化收益,系数不变但残差更大,后续的标准误、IC 都会不同。
- BP 与 EP 相关 0.95,VIF 约 10.6,与 \(1/(1-\rho^2)\) 完全吻合。两者同时放入后,BP 的标准误从 0.0005 涨到 0.0018,单个系数(真值 0.004)估得很粗;但两个系数之和 0.0083 很接近真值 0.008,两个估计的相关为 −0.954,与式 (6.21) 的 \(-\rho\) 一致。只放 BP 时系数 0.0081 吸收了 EP 的效应,这又是遗漏变量偏差。
- 常数项加 5 个行业虚拟变量共 6 列,秩只有 5:虚拟变量陷阱。
- 加入 50 个纯噪声回归元,\(R^2\) 从 0.141 升到 0.152,\(\bar R^2\) 则下降。
本章小结
单回归容易受遗漏变量偏差影响:遗漏变量若决定 \(Y\) 且与回归元相关,OLS 会把两者的效应混在一起,偏差 \(\rho_{Xu}\sigma_u/\sigma_X\) 不随样本增大而消失。多元回归把遗漏变量作为回归元纳入,每个系数是保持其他回归元不变时的偏效应;在加州数据中,纳入英语学习者比例使 STR 的效应估计减半。OLS 通过最小化残差平方和估计多元回归,拟合度量有 SER、\(R^2\) 和 \(\bar R^2\),但它们不是选择变量的主要依据。因果推断需要四条假设:条件均值为零、i.i.d.、四阶矩有限、无完全多重共线;满足时 OLS 无偏、一致、大样本联合正态。完全多重共线(包括虚拟变量陷阱)是设定错误,必须修改回归元;不完全共线只是让系数方差变大。区分关注变量与控制变量后,因果推断只需要条件均值独立,此时关注变量的系数有因果解释,控制变量的系数没有。Frisch–Waugh 定理说明了「控制」的几何含义:先把 \(Y\) 和 \(X_1\) 对其他回归元正交化,再做单回归。
| 概念 | 公式 / 要点 |
|---|---|
| 遗漏变量偏差条件 | 与 \(X\) 相关 且 决定 \(Y\) |
| OVB 公式 | \(\hat\beta_1\xrightarrow{p}\beta_1+\rho_{Xu}\sigma_u/\sigma_X=\beta_1+\beta_2\operatorname{cov}(X,W)/\operatorname{var}(X)\) |
| 偏效应 | \(\beta_1=\Delta Y/\Delta X_1\),其他回归元不变 |
| OLS(矩阵) | \(\hat\beta=(X^\top X)^{-1}X^\top Y\) |
| SER | \(\sqrt{SSR/(n-k-1)}\) |
| \(R^2\) | \(1-SSR/TSS\),加回归元不降 |
| \(\bar R^2\) | \(1-\frac{n-1}{n-k-1}\frac{SSR}{TSS}\),可为负 |
| 四条假设 | \(E(u\mid X)=0\);i.i.d.;四阶矩有限;无完全共线 |
| 虚拟变量陷阱 | 截距 + 全部 \(G\) 个类别虚拟变量 ⇒ 完全共线;放 \(G-1\) 个 |
| 共线与方差 | \(\sigma^2_{\hat\beta_1}=\frac1n\frac{1}{1-\rho^2}\frac{\sigma_u^2}{\sigma_{X_1}^2}\);\(\operatorname{corr}(\hat\beta_1,\hat\beta_2)=-\rho\) |
| 条件均值独立 | \(E(u\mid X,W)=E(u\mid W)\) ⇒ \(X\) 的系数是因果效应 |
| Frisch–Waugh | 残差对残差回归 = 多元回归系数 |
练习
基础
- (原书习题 6.1–6.4)2015 年 CPS 中 7178 名工人的平均时薪回归:回归 (1) College 10.47、Female −4.69、截距 18.15,\(R^2=0.165\);回归 (2) 加入 Age(0.61),College 10.44、Female −4.56、截距 0.11,\(R^2=0.182\);回归 (3) 再加入 Northeast 0.74、Midwest −1.54、South −0.44,\(R^2=0.185\)。(a) 计算三个回归的 \(\bar R^2\);(b) 用回归 (2) 预测 29 岁与 34 岁女性大学毕业生的时薪;(c) 回归 (3) 为何省略 West?南部与中西部同龄、同性别、同学历工人的预期时薪差是多少? 答案要点:(a) 约 0.165、0.182、0.184;(b) \(0.11+10.44-4.56+0.61\times29=23.68\) 美元,34 岁为 26.73 美元;(c) 避免虚拟变量陷阱,West 是基准类;\(-0.44-(-1.54)=1.10\) 美元。
- (原书习题 6.5)房价回归 \(\widehat{Price}=109.7+0.567BDR+26.9Bath+0.239Hsize+0.005Lsize+0.1Age-56.9Poor\)(价格单位千美元,面积单位平方英尺)。(a) 把一间家庭室改成浴室(总面积不变),房价预期增加多少?(b) 新建一间 80 平方英尺的浴室呢? 答案要点:(a) 26.9 千美元;(b) \(26.9+0.239\times80=46.0\) 千美元。体会「保持其他不变」的不同组合。
- 样本量 \(n=20\),回归元 \(k=5\),\(R^2=0.10\)。计算 \(\bar R^2\),并解释其含义。 答案要点:\(1-\frac{19}{14}\times0.90=-0.22\);回归元对 SSR 的削减不足以抵消自由度损失。
- (原书习题 6.10)\(\operatorname{var}(u\mid X)=4\),\(\operatorname{var}(X_1)=6\),\(n=400\)。分别在 \(\rho_{X_1,X_2}=0\) 和 0.5 时计算 \(\operatorname{var}(\hat\beta_1)\)。有人说:「\(X_1\) 与 \(X_2\) 相关时,最好把 \(X_2\) 排除以提高 \(\hat\beta_1\) 的精度。」评论这一说法。 答案要点:\(4/(400\times6)=0.00167\) 与 \(0.00167/0.75=0.00222\);若 \(X_2\) 决定 \(Y\),排除它会导致遗漏变量偏差,换来更小的方差却得到错误的估计。
- 判断偏差方向:用截面回归检验「低波动」因子的收益,未控制市值。已知低波动股票多为大盘股,小盘股平均收益更高。单回归系数偏高还是偏低? 提示:低波动得分与市值正相关,市值对收益的效应为负,偏差 = 负 × 正 < 0,低估低波动因子的效应。
进阶
- (原书习题 6.11 改编)无截距模型 \(Y_i=\beta_1X_{1i}+\beta_2X_{2i}+u_i\)。写出 OLS 一阶条件;证明当 \(\sum X_{1i}X_{2i}=0\) 时 \(\hat\beta_1=\sum X_{1i}Y_i/\sum X_{1i}^2\),即与单回归系数相同。 提示:一阶条件为 \(\sum X_{1i}(Y_i-b_1X_{1i}-b_2X_{2i})=0\) 和对 \(X_{2i}\) 的同型方程;正交时交叉项消失。
- (原书习题 6.12)二年级小班实验中,老生有 50% 被随机分到小班,新转来的学生只有 20%,且新生成绩普遍较低。(a) 成绩对小班虚拟变量 \(X\) 回归,\(E(u\mid X)=0\) 成立吗?(b) 加入新生指示变量 \(W\) 后,\(X\) 的系数是否无偏?(c) \(W\) 的系数是否是「转学」的因果效应? 答案要点:(a) 不成立,小班中老生比例更高;(b) 无偏,给定 \(W\) 后 \(X\) 随机分配,满足条件均值独立;(c) 不是,\(W\) 是控制变量。
- 用 Frisch–Waugh 定理和本章代码说明:如果只对因子做行业市值中性化而不对收益做,回归系数不变,但为什么 t 值会不同? 提示:残差多了「收益中能被行业市值解释的部分」,SSR 更大,SE 更大。
- 在一个 Barra 类截面回归中,有截距、30 个行业虚拟变量和 10 个风格因子。给出两种消除虚拟变量陷阱的方法,并说明各自下行业因子收益的解释。 提示:去掉一个行业,系数为相对该行业的超额;或保留全部行业并加约束 \(\sum_j w_jf_j=0\)(\(w_j\) 为行业市值权重),截距成为市场因子收益,行业因子收益为相对市场的超额。
原书推荐习题:6.1–6.4(CPS 表:系数解释、\(\bar R^2\)、虚拟变量陷阱、预测);6.6、6.9(遗漏变量偏差的条件与方向);6.10(共线性对方差的影响及「因共线删变量」的谬误);6.11(两回归元 OLS 推导);6.12(控制变量与条件均值独立);实证题 E6.1(c)(亲手验证 Frisch–Waugh 定理)、E6.2(为何必须省略 Oil:剔除马耳他后 Oil 无变化,造成完全共线)。
原书对照
| 本章内容 | 原书章节 | PDF 页码 |
|---|---|---|
| 章引言 | 第 6 章开篇 | p.212 |
| 遗漏变量偏差(Key Concept 6.1,公式 6.1,咖啡方框,表 6.1) | 6.1 | p.212–218 |
| 多元回归模型(Key Concept 6.2) | 6.2 | p.217–219 |
| 多元回归的 OLS 估计量(Key Concept 6.3) | 6.3 | p.220–222 |
| 拟合度量:SER、\(R^2\)、\(\bar R^2\) | 6.4 | p.222–225 |
| 因果推断的最小二乘假设(Key Concept 6.4) | 6.5 | p.225–227 |
| OLS 估计量的分布(Key Concept 6.5) | 6.6 | p.227–228 |
| 多重共线性、虚拟变量陷阱 | 6.7 | p.228–231 |
| 控制变量与条件均值独立(Key Concept 6.6) | 6.8 | p.231–234 |
| 结论 | 6.9 | p.234–235 |
| 复习题与习题 | 第 6 章末 | p.236–243 |
| 式 (6.1) 推导 | 附录 6.1 | p.243 |
| 两回归元同方差时 OLS 的分布 | 附录 6.2 | p.244 |
| Frisch–Waugh 定理 | 附录 6.3 | p.244–245 |
| 预测用的最小二乘假设 | 附录 6.4 | p.245 |
| 带控制变量时 OLS 的分布 | 附录 6.5 | p.245–246 |
注:原书页码 = PDF 页码 − 1。