最小二乘法:200年不过时的”穿糖葫芦”智慧
1801年,一个24岁的年轻人仅用100小时的手算,就预测出了一颗刚发现又丢失的行星位置。天文学家将望远镜对准他指出的方向——那颗行星果然在那里!这个年轻人就是高斯,他用的方法叫做”最小二乘法”。
引言:从”失踪”的行星说起
1801年1月1日,意大利天文学家皮亚齐发现了一颗新行星谷神星。这是人类发现的第一颗小行星,全世界的天文学家和数学家都为之兴奋。
然而,兴奋只持续了40天。由于谷神星运行到太阳附近,天文学家失去了它的追踪。如果找不到它的轨道,这颗刚发现的行星可能永远消失。
就在这时,一位24岁的年轻人站了出来。他花了整整100个小时,完全靠手算,竟然准确预测出了谷神星的位置。当天文学家将望远镜对准他指出的方向时,谷神星果然在那里!
这个年轻人就是卡尔·弗里德里希·高斯,数学史上最强的天才之一。他用的方法,就是我们今天要讲的最小二乘法(Method of Least Squares)。
“这是统计学历史上接受最快的一项技术,从发表到成为标准工具只 ——用了十年。” 历史学家斯蒂格勒
第一章:准备工作——三把”小钥匙”
在正式介绍最小二乘法之前,我们需要先准备好三把”小钥匙”。
1.1 均值——“平均水平”
想象你是班长,要汇报全班同学的数学成绩。你会把所有同学的分数加起来,再除以人数。这就是均值(Mean):
\[\bar{x} = \frac{x_1 + x_2 + \cdots + x_n}{n}\]
这是我们衡量”平均水平”最直觉的方式。
1.2 方差——“离散程度”
但是,光知道平均值够不够?想象两种情况: - 班级A:所有人都是80分 - 班级B:有人100分,有人60分,平均也是80分
两个班的平均水平相同,但”波动”完全不同。怎么描述这种差异?
方差(Variance)登场了:
\[s^2 = \frac{(x_1 - \bar{x})^2 + (x_2 - \bar{x})^2 + \cdots + (x_n - \bar{x})^2}{n}\]
为什么要平方?因为差距有正有负(有的高于均值,有的低于均值),直接相加会互相抵消。平方让所有”代价”都变成正的,而且越远的点”惩罚”越重。
1.3 坐标系——数据的”家”
最后,我们把数据画在二维平面上: - X轴(横轴):输入变量,比如”学习时间” - Y轴(纵轴):输出变量,比如”考试成绩”
每个同学的学习时间和成绩,就是平面上的一个点。这就是散点图。
第二章:直观理解——穿糖葫芦的比喻
好,预备知识讲完了。现在让我们正式进入主题。
2.1 问题:怎么把”糖葫芦”串起来?
想象你有一串散乱的糖葫芦(数据点),你要用一根竹签(直线)把它们串起来。
问题来了:竹签应该怎么摆,才能让这串糖葫芦整体上最”整齐”?
这里的”整齐”可以有很多理解方式。最小二乘法选择了一种非常直观的理解:
找到一条直线,让所有数据点到这条直线的距离平方和最小。
2.2 为什么要”平方”?
你可能会问:为什么要平方?不能直接相加距离吗?
答案是:不能!
因为距离有正有负。想象糖葫芦在竹签上方,距离为正;在竹签下方,距离为负。如果直接相加,正负抵消,可能得到一个很小的数,但实际上数据点离直线很远。
平方有两个好处: 1. 都是正的:平方后,负距离也变成正的 2. 惩罚更重:-3的距离平方后是9,-1的距离平方后是1。离得越远,“惩罚”越重
这就是最小二乘法中”最小”和”二乘”(平方)的含义: - 二乘:把距离平方 - 最小:让平方和最小
第三章:手把手推导——跟数据较真
光说不练假把式。让我们用一个具体例子,亲手算一遍最小二乘法。
3.1 准备数据
假设我们调查了5位同学的学习时间和考试成绩:
| 同学 | 学习时间 X (小时) | 成绩 Y (分) |
|---|---|---|
| A | 1 | 2 |
| B | 2 | 4 |
| C | 3 | 5 |
| D | 4 | 4 |
| E | 5 | 5 |
我们的目标:找到一条直线 Y = a + bX,能最好地描述这个关系。
其中: - b 是斜率(每多学1小时,成绩提高多少分) - a 是截距(不学习时,大概能得多少分)
3.2 第一步:计算均值
先算出 X 和 Y 的平均值:
\[X̄ = \frac{1+2+3+4+5}{5} = 3\]
\[Ȳ = \frac{2+4+5+4+5}{5} = 4\]
3.3 第二步:计算斜率 b
这是最关键的一步:
\[b = \frac{\sum(x_i - X̄)(y_i - Ȳ)}{\sum(x_i - X̄)^2}\]
让我们一步步算:
分子部分(每个点的 x 偏差 × y 偏差): - (1-3)(2-4) = (-2)(-2) = 4 - (2-3)(4-4) = (-1)(0) = 0 - (3-3)(5-4) = (0)(1) = 0 - (4-3)(4-4) = (1)(0) = 0 - (5-3)(5-4) = (2)(1) = 2
分子 = 4 + 0 + 0 + 0 + 2 = 6
分母部分(每个点的 x 偏差平方): - (1-3)² = 4 - (2-3)² = 1 - (3-3)² = 0 - (4-3)² = 1 - (5-3)² = 4
分母 = 4 + 1 + 0 + 1 + 4 = 10
\[b = \frac{6}{10} = 0.6\]
解读:每多学1小时,成绩提高0.6分。
3.4 第三步:计算截距 a
\[a = Ȳ - b \cdot X̄ = 4 - 0.6 \times 3 = 4 - 1.8 = 2.2\]
3.5 最终结果
Y = 2.2 + 0.6X
这就是我们的最佳拟合直线!
3.6 验证一下
| 学习时间 X | 实际成绩 Y | 预测成绩 Ŷ = 2.2 + 0.6X | 误差 |
|---|---|---|---|
| 1 | 2 | 2.8 | -0.8 |
| 2 | 4 | 3.4 | 0.6 |
| 3 | 5 | 4.0 | 1.0 |
| 4 | 4 | 4.6 | -0.6 |
| 5 | 5 | 5.2 | -0.2 |
所有误差的平方和 = (-0.8)² + 0.6² + 1.0² + (-0.6)² + (-0.2)² = 0.64 + 0.36 + 1.00 + 0.36 + 0.04 = 2.4
可以证明,这个结果已经是”误差平方和最小”的了!
第四章:几何视角——正交投影的秘密
如果你已经学过一点线性代数,让我带你看看最小二乘法更深层的含义。
4.1 从向量空间的角度
想象每个数据点是一个高维空间中的向量。我们的任务是找到一个”最接近”这些数据点的直线(子空间)。
关键洞察:最小二乘法要做的,就是把原始数据点投影到这条直线上,使得投影点与原始点的距离平方和最小。
4.2 什么是正交投影?
想象一盏灯垂直照向地面(正交),你的影子就是你的正交投影。
在最小二乘法中:
当投影完成时,误差向量(原始点 - 投影点)与直线垂直!
这就是”正交投影”的含义——误差与拟合线正交。
4.3 代数表达
用数学语言说,最小二乘法的正规方程是:
\[X^T(X\beta - y) = 0\]
这个方程在说:残差与每个自变量都正交。
这意味着: - 拟合直线已经尽可能地”靠近”所有数据点 - 没有办法通过旋转直线来减小误差了
最小二乘法 ≈ 在子空间中寻找最近点 ≈ 正交投影
4.4 这个视角为什么重要?
- 它揭示了最小二乘法的几何本质
- 它可以自然地推广到多元回归(多个自变量)
- 它与线性代数中的”最佳近似”问题完全等价
- 它让我们理解,为什么某些情况下最小二乘法会”失效”(共线性)
第五章:历史故事——高斯 vs 勒让德
现在让我们聊聊最小二乘法的”黑历史”。
5.1 勒让德的公开发表
1805年,法国数学家勒让德在附录中首次发表了最小二乘法。他描述了如何用这个方法拟合直线到观测数据中。
他的方法简洁明了,迅速被天文学家和测量学家采用。
5.2 高斯的”声称”
4年后的1809年,高斯出版了《天体运动理论》。在这本著作中,他声称自己早在1795年(当时只有18岁!)就发现了这个方法。
高斯不仅使用了最小二乘法,还给出了更深刻的数学推导——包括正态分布与最小二乘法的联系。
5.3 谁是”真正”的发明者?
历史学家争论了几百年。根据现有证据:
- 高斯很可能确实更早发现,但没有公开发表
- 勒让德是第一个公开发表的人
- 勒让德的推导是纯代数的,高斯的推导更深入,连接了最小二乘法和概率论
最终,两人都被公认为”发明者”。这场争论类似于牛顿和莱布尼茨关于微积分的争论——有时伟大的思想会同时被多人发现。
有趣的是,高斯本人后来承认,他当年觉得这个方法”太显然了”,不值得专门发表……
第六章:实际应用——你身边的最小二乘法
最小二乘法看似简单,却是现代科技的重要基石。
6.1 天气预报
气象学家用最小二乘法建立气温、气压、湿度与天气变化的关系模型。你看到的”明天降水概率”,背后可能有最小二乘法的贡献。
6.2 金融分析
- 股票价格与市场指数的关系
- 利率与通胀的关系
- 公司财务指标与股价的关系
6.3 医学研究
- 药物剂量与疗效的关系
- 年龄、性别、体重与血压的关系
- 吸烟时间与肺功能的关系
6.4 机器学习
线性回归是机器学习中最基础的算法,而最小二乘法就是线性回归的核心。
无论是你手机上的推荐系统,还是GPT这样的大语言模型,在它们的底层,都有着最小二乘法的影子。
可以毫不夸张地说:你身边几乎所有”根据过去数据预测未来”的场景,背后都可能有最小二乘法的身影。
第七章:Python实践——动手试试
让我们用Python来实际运行一下最小二乘法:
1 | import numpy as np |
运行结果:
1 | 使用 polyfit: Y = 2.2 + 0.6X |
完美!和我们的手工计算一致。
总结:为什么200年后它仍重要?
1805年发明至今,最小二乘法已经220岁了。
为什么它仍是统计学最重要的方法?
- 简单高效:有闭合解,计算速度快
- 理论优美:在正态分布假设下,它是最优的(最小方差无偏估计)
- 承上启下:它是理解所有复杂回归模型的基础
- 广泛应用:从航天到医学,从金融到AI,无所不在
高斯在18岁时发明的这个”小工具”,至今仍是每个数据科学家、工程师、研究人员的必备武器。
下次当你看到天气预报、股票预测、或者任何”预测未来”的应用时,请记住——它们的背后,可能都藏着200年前那个”穿糖葫芦”的智慧。
参考来源:高斯与勒让德的原始论文、Statistics by Jim、Stigler (1981) “Gauss and the Invention of Least Squares”