如何理解线性回归?\"针对 X 的线性\"和\"针对参数的线性\"是一回事吗?
\"线性回归\"这个名字,初听上去似乎不言自明——不就是画一条直线吗?
一、开篇:一个词,两个意思,完全不同的问题
"线性回归"这个名字,初听上去似乎不言自明——不就是画一条直线吗?
但如果你仔细看过不同类型的回归模型,你一定遇到过一个困惑:
- → 这是一条直线,OK。
- → 这在 X 和 Y 之间不是一条直线(Y 随 X 增加而增加,但增加的速度越来越慢——曲线)。但它仍然被称为"线性回归模型"。
- → 这在 X 和 Y 之间显然不是直线(是抛物线)。但它也是"线性回归模型"。
什么?明显是曲线的东西也能叫"线性"?
这就引出了本文的核心命题:计量经济学中的"线性"指的是"对参数的线性",而不是"对 X 的线性"。 这两个"线性"回答的是两个不同层次的问题——一个管"图形长什么样",一个管"能不能用 OLS 来估计"。
核心信息:针对 X 的线性说的是"X 变动一个单位,Y 的变动量恒定"——这是边际效应的恒定性。针对参数的线性说的是"模型的参数以一次方的形式相加出现,没有 β²、没有 e^β"——这是估计方法的适用性。绝大多数你看到的有曲线形态的回归模型,对参数都是线性的,因此都可以用 OLS 来估计。
二、针对 X 的线性——你画在散点图上的那条直线
2.1 含义:边际效应恒定
模型 被称为"对 X 是线性的",因为:
X 从 1 变到 2,Y 增加 β₁。X 从 100 变到 101,Y 还是增加 β₁。
边际效应不随 X 的起点变化——无论你在 X 的哪个位置上观察,多增加一个单位的 X 对 Y 的影响都是完全一样的。
2.2 在图形上——它就是一条直线
你在散点图上看到的,是一条斜率为 β₁ 的直线。这是最符合直觉的"线性"——眼睛告诉你的线性。
2.3 但现实中的很多关系,对 X 并不是线性的
- 教育对工资的影响:多读一年小学和多读一年博士,对工资的影响不是一个量级。
- 收入对消费的影响:收入从 1 万涨到 2 万,消费变化很大;收入从 100 万涨到 101 万,消费几乎不变。
- 学习时长对考试成绩的影响:从 0 小时学到 1 小时,提分效果显著;从 10 小时学到 11 小时,提分效果微乎其微。
在这些情况下,坚持"对 X 的线性"会错误地假设边际效应为常数。 你需要一种方法来表示"边际效应随 X 的变化而变化"——但又不能放弃 OLS 这个方便好用的工具。
这就是"对参数的线性"登场的时刻。
三、针对参数的线性——能不能用 OLS 来估计?
3.1 含义:参数以一次方的形式相加
一个模型对参数是线性的,当且仅当它的每一个参数都以独立项的形式进入模型,且每个参数都是一次方,与其他参数相加(而非相乘、相除或嵌套在函数内部)。
看几个例子:
| 模型 | 对参数线性? | 原因 |
|---|---|---|
| ✅ 是 | β₀ 和 β₁ 都是一次方,相加 | |
| ✅ 是 | ln(X) 是非线性的,但 β₁ 仍然是一次方 | |
| ✅ 是 | X² 是非线性的,但 β₁ 和 β₂ 都是一次方 | |
| ✅ 是 | 交互项 (X₁×X₂) 在 X 之间是非线性的,但 β₃ 仍然是一次方 | |
| ❌ 不是 | β₁ 嵌套在指数函数内部 | |
| ❌ 不是 | β₀ 和 β₁ 不是以相加的方式进入模型 |
关键就是:参数本身是否是"一次方 + 相加"的方式进入模型的。 至于参数前面乘的是 X 还是 ln(X) 还是 X² 还是 X₁X₂——这些都不影响"对参数的线性"。它们决定了"对 X 是不是线性",但不影响"能不能用 OLS"。
3.2 为什么"对参数的线性"决定了能不能用 OLS?
OLS 估计的核心是解一个方程组——正规方程组(Normal Equations),即最小化残差平方和 对每个参数求偏导等于零。
当模型对参数是线性的时,这些偏导方程组是关于参数的线性方程组——有解析解(即 )。你不需要数值优化,不需要迭代,不需要担心收敛到局部最小值——直接代公式就能得到唯一确定的答案。
当模型对参数是非线性的时,偏导方程组变成关于参数的非线性方程组——没有解析解,只能用数值方法(如高斯-牛顿法、梯度下降法)迭代求解。这时你就进入了**非线性最小二乘(Nonlinear Least Squares, NLS)**的领域,需要使用专门的软件和方法。
3.3 对 X 非线性 + 对参数线性 = OLS 依然可用——这就是"线性回归"的真正魔力
回到开篇提到的两个"曲线"模型:
模型 A:
对 X 不是线性的——Y 对 X 的偏效应是 ,随 X 增大而衰减。但对参数 β₁ 是线性的——β₁ 仍然是一次的、相加的。所以你可以用 OLS,只需要在回归之前先算一个新变量 ln_X = ln(X),然后用 reg Y ln_X。Stata 甚至不需要你手动算——它把这个当成"普通的线性回归"来对待。
模型 B:
对 X 不是线性的——边际效应是 ,随 X 变化而变化。但对参数 β₁ 和 β₂ 是线性的——两个参数都是一次方的、相加的。你只需要先算 X_sq = X^2,然后跑 reg Y X X_sq。这仍然是 OLS 能处理的标准任务。
本质规律:模型对参数是否线性,是一个参数进入方式的代数性质的问题。只要每个参数都满足"相互加法分离,系数一次",就可以使用 OLS。这使 OLS 能处理大量变量层面的非线性变换。
四、什么时候 OLS 真的不够用了?
当参数本身以非线性方式进入模型时,OLS 的解析解框架失效。例如:
指数模型:
你无法通过"先算一个新变量、再代进去"的方式把它变成对 β₁ 线性的——因为 β₁ 在指数函数内部,而指数函数不能分解为"β₁ 一次乘以某物"的形式。
**非线性最小二乘(NLS)**通过数值方法、迭代搜索找到使残差平方和最小的 。它没有解析解,且可能收敛到局部最小值而非全局最优。
Logistic 增长模型:
β₀、β₁、β₂ 以复杂的方式嵌套在分母的指数函数中,对任何一个参数都不是线性的。
这种情况下,需要 NLS 或其扩展(如最大似然估计 MLE 在 Logit 模型中的应用)。
但绝大多数社会科学面对的非线性问题,实际上并不需要 NLS——因为通过取对数、平方项、立方项、交互项、分段线性(spline)等方式,这些关系可以在保留"对参数线性"的前提下被充分近似和表达。
五、实战:散点图显示非线性关系,我该怎么办?
这是本文最核心的实用部分。当你面对一个非线性散点图时,有一个系统的"升级路径"。
升级路径:从简单到灵活,保留 OLS 可用性
层级 0:(直线)
如果散点图基本是直线且残差没有弯曲模式——到此为止。
层级 1:(对数变换)
→ 适用:散点图显示 X 增长初期 Y 快速增长,后期趋于平稳(边际效应递减)。教育年限的回报、收入对消费的影响、企业规模对创新的影响——这些常见模式都适合取对数。
→ 对参数仍然是线性的,OLS 可用。
层级 2:(二次项)
→ 适用:散点图显示弯曲——边际效应随 X 增大而加速或衰减。环境库兹涅茨曲线(收入 vs 污染,先升后降)、年龄对收入的影响(先升后降的倒U形)——这些都是经典二次项的用武之地。
→ 对参数仍然是线性的,OLS 可用。
层级 3:加入交互项
→ 适用:X₁ 对 Y 的效应随 X₂ 的不同而变化。比如教育回报是否因性别而异?最低工资对就业的影响是否因行业竞争程度而异?
→ 对参数仍然是线性的,OLS 可用。
层级 4:分段线性(Spline / Piecewise Linear)
→ 适用:散点图显示在 X 的某个临界点处发生了结构性断裂(斜率突变)。比如政策实施前后趋势改变、某个阈值以上效应模式不同。
→ 对参数仍然是线性的(每段有一个斜率参数,它们以线性方式进入模型),OLS 可用。
层级 5:非参数或半参数方法(如局部线性回归 LOWESS、核回归、GAM)
→ 适用:上面的参数化方法都无法充分捕获的复杂模式。此时你放弃"对参数线性"的框架,使用非参数回归(如 lowess)或广义可加模型(GAM)来进行拟合。这些方法不再依赖参数,而是让数据"自己说话"——在 X 的每个局部区域分别拟合。
→ 代价:解释性下降,外推能力有限,检验方法较少。
一个判断流程图
散点图显示 X 和 Y 之间的关系看起来不是直线
│
├→ 是单调的吗(只升不降,或只降不升)?
│ └→ 是 → 边际效应递减? → 尝试 ln(X)
│ → 边际效应递增? → 尝试 e^X 或保留原尺度
│
├→ 有明显的弯曲(如先升后降)?
│ └→ 是 → 尝试 X + X²
│
├→ 在某个 X 值处斜率明显改变?
│ └→ 是 → 尝试分段线性
│
└→ 以上都无法充分描述?
└→ 考虑非参数方法
关键在于——不要因为散点图不是直线就立刻认为需要非参数回归。 大多数非线性模式可以通过对数变换、幂次、交互和分段来解决——而这些都在 OLS 的框架之内。
六、总结:两个"线性",一颗定心丸
| 维度 | 针对 X 的线性 | 针对参数的线性 |
|---|---|---|
| 问的是什么 | "X 的边际效应恒定吗?" | "这个模型的参数能套用 OLS 估计吗?" |
| 图形含义 | 散点图是一条直线 | 散点图可以是任何形状(取了对数就是曲线) |
| 数学含义 | ∂Y/∂X = 常数 | 每个 β 以一次方、相加方式进入模型 |
| 如果违反 | 用 ln(X)、X² 等变换来补救 | 用非线性最小二乘(NLS)或最大似然估计(MLE) |
三条原则带走:
-
"线性回归"中的"线性",指的是对参数的线性,不是对 X 的线性。 这是计量经济学的标准术语。你的模型可以对 X 是高度非线性的(有 ln(X)、X²、交互项),但只要对 β 是相加且一次方的,OLS 就能用。
-
面对非线性散点图,第一反应应该是"在 OLS 框架内做变量变换",而不是"换用非参数方法"。 ln(X)、平方项、交互项、分段线性——大部分非线性模式都能在这套工具中被充分捕获。
-
"为什么不直接用非参数或机器学习方法?" ——如果你只关心预测,没问题。但如果你需要解释系数、做假设检验、计算置信区间、讨论政策含义,OLS 框架下的参数化方法提供了一整套成熟的推断工具,这是非参数方法目前尚不具备的。
一句话收尾:
"线性回归中的'线性',不是你用眼睛在散点图上看到的那个'直线'——它是你对参数做的最小二乘求导时,发现它恰好能被一个显式解干净利落地解出来。那个显式解,就是你的 OLS。"
七、B站/公众号呈现建议
- B站视频:建议用一个"变身动画"展示同一个模型在不同视角下的两种"线性"判断——画面左侧是散点图(明显的曲线),大字标注"对 X 非线性";画面右侧是同一条模型的数学表达式 ,β₁ 被高亮闪烁,大字标注"对参数线性"。旁白:"OLS 看到的是右边——它不管 X 有没有被 log,它只看 β 是不是一次方。"
- 公众号:模型举例建议做成"对参数线性 = ✅ / 对参数非线性 = ❌"的卡片式排列。升级路径(五层级)建议做成纵向阶梯图,每一级标注"对参数仍然线性"。
- 推荐标题:
- 主标题:《线性回归中的"线性"到底指什么?——不是图形上的直线》
- 备选标题:《对 X 线性 vs 对参数线性——OLS 到底能不能跑,看的是后者》
- 金句提炼:
"线性回归的'线性',不是眼睛在散点图上看到的直线——而是你的参数能不能被 OLS 一次性解出来。"