课程
想象一下,您正试图根据房屋面积来预测房价。您手头有一些近期成交的数据点,但它们并不呈现完美的规律。有的房子卖得比预期高,有的则更低。那么,如何在不被个别房屋干扰的情况下,找到能反映面积与价格整体关系的最佳趋势线呢?
最小二乘法也许正是您需要的解决方案。 本文将介绍最小二乘法的核心概念、变体及其应用。读完后,您将清楚理解如何使用这一方法并将其应用于实际问题。
什么是最小二乘法?
最小二乘法是一种统计技术,用于为一组数据点确定最佳拟合的直线或曲线。其原理是最小化数据集中观测值与预测值之间差异的平方和。实际数据点与模型预测值之间的差称为残差。目标是找到使这些残差平方和最小的模型,从而实现尽可能准确的预测。

上图对最小二乘法的步骤做了简要说明。
该方法由年仅18岁的卡尔・弗里德里希・高斯于1795年提出(您可能从高斯分布中认识他的名字)。1805年,阿德里安-玛丽・勒让德进一步将其形式化,并首次发表论文,利用最小二乘法重构小行星的轨道。
最小二乘法如何工作
最小二乘法通过最小化观测值与预测值之间的平方差之和,找到与一组点最匹配的直线。这用于求解与数据最贴合的模型参数。
我们用一个非常小的数据集试试:只有10个点。首先,我们需要选择一个拟合数据的模型。对于这个简单示例,我们选择简单线性回归,也就是只有一个自变量和一个因变量的回归。

上图为我们的小型数据集散点图,并叠加了线性回归直线。连接数据点与预测直线的黄色虚线即为残差。目标是找到能使这些黄色虚线(残差)最小的线性回归模型。
对于数据集中的每个点,我们需要找到该点与直线在y坐标上的差值,即残差。随后将每个残差平方以消除负号,并求和。这样我们就能衡量直线对数据的拟合程度。请参见下表,了解本图的具体分解。
|
X坐标 |
观测Y坐标(数据点) |
预测Y坐标(直线) |
残差(观测−预测) |
残差平方 |
|
0 |
2.5 |
2.0 |
0.5 |
0.25 |
|
1 |
3.1 |
2.3 |
0.8 |
0.64 |
|
2 |
1.8 |
2.6 |
-0.8 |
0.64 |
|
3 |
3.5 |
2.9 |
0.6 |
0.36 |
|
4 |
2.2 |
3.2 |
-1.0 |
1.0 |
|
5 |
4.0 |
3.5 |
0.5 |
0.25 |
|
6 |
3.8 |
3.8 |
0.0 |
0.0 |
|
7 |
5.0 |
4.1 |
0.9 |
0.81 |
|
8 |
4.5 |
4.4 |
0.1 |
0.01 |
|
9 |
5.2 |
4.7 |
0.5 |
0.25 |
|
残差平方和 |
4.21 |
既然我们已经知道这条直线对数据的拟合效果如何,就可以微调直线的参数——斜率或截距——并重新计算。残差平方和最小的直线就是最适合我们数据的直线,因此也将提供最佳预测。
使用最小二乘法寻找最佳直线
在上面的例子中,我们并没有找到最佳拟合直线,而只是计算了那条直线的拟合效果。现在我们可以遍历一堆可能的直线并重复相同的计算,找出拟合最好的那条;或者也可以用一点代数更快地找到最佳直线。我们来试试后者。
我们从线性回归的方程开始:y=mx+b,其中b为y截距,m为斜率。下面我们构造一些数据。
|
X坐标 |
Y坐标 |
|
0 |
2.5 |
|
1 |
3.1 |
|
2 |
1.8 |
|
3 |
3.5 |
|
4 |
2.2 |
|
5 |
4.0 |
|
6 |
3.8 |
|
7 |
5.0 |
|
8 |
4.5 |
|
9 |
5.2 |
首先,我们需要计算X和Y的均值。它们将作为我们的预测值:

接下来,我们可以利用各数据点与预测值(均值)之间残差平方和来求斜率。我们将使用下式:

由于这个公式手算起来颇为繁琐,我们将分别计算分子和分母。先从分子开始:
|
xi |
yi |
xi - xmean |
yi - ymean |
(xi - xmean)(yi -ymean) |
|
0 |
2.5 |
-4.5 |
-1.06 |
4.77 |
|
1 |
3.1 |
-3.5 |
-0.46 |
1.61 |
|
2 |
1.8 |
-2.5 |
-1.76 |
4.40 |
|
3 |
3.5 |
-1.5 |
-0.06 |
0.09 |
|
4 |
2.2 |
-0.5 |
-1.36 |
0.68 |
|
5 |
4.0 |
0.5 |
0.44 |
0.22 |
|
6 |
3.8 |
1.5 |
0.24 |
0.36 |
|
7 |
5.0 |
2.5 |
1.44 |
3.60 |
|
8 |
4.5 |
3.5 |
0.94 |
3.29 |
|
9 |
5.2 |
4.5 |
1.64 |
7.38 |
|
∑(xi - xmean)(yi - ymean) |
26.4 |

接下来对分母做同样的计算:
|
xi |
xi - xmean |
(xi - xmean)2 |
|
0 |
-4.5 |
20.25 |
|
1 |
-3.5 |
12.25 |
|
2 |
-2.5 |
6.25 |
|
3 |
-1.5 |
2.25 |
|
4 |
-0.5 |
0.25 |
|
5 |
0.5 |
0.25 |
|
6 |
1.5 |
2.25 |
|
7 |
2.5 |
6.25 |
|
8 |
3.5 |
12.25 |
|
9 |
4.5 |
20.25 |
|
∑(xi - xmean)2 |
82.50 |

现在我们可以计算最佳拟合直线的斜率了。

至此,我们已经知道了最优拟合直线的斜率。接着需要求y截距。通过一点代数变形,截距b的公式很容易得到:

既然我们已经知道斜率,只需代入x与y的均值,解出b即可。

现在我们已得到m与b,就可以写出最佳拟合直线的方程:

借助最小二乘法,我们甚至可以手算快速推导出最佳线性回归直线!显然,数据越多,手算越困难。幸运的是,由于数学形式相当直接,将该方法用Python或R实现非常简单。有关详细说明,请参阅Python中的线性回归基础和如何在R中进行线性回归。
最小二乘法的数学基础
上文中,我们用简单线性回归为例,通过漂亮的闭式公式求得斜率和截距,并将因变量表示为自变量的函数:y=mx+b。
然而,上述公式只适用于只有一个自变量的情形。另一种求回归系数的方式是使用所谓的正规方程,它为最小二乘问题提供矩阵形式的解。正规方程指的是通过最小二乘法最小化残差平方和后得到的矩阵方程。从几何角度并借助线性代数语言,最小二乘解可视为将观测数据向量正交投影到模型矩阵列空间上的结果。简言之,这意味着在模型约束下,以一种方式最小化误差,使预测值尽可能贴近观测数据。
当矩阵不可逆(即方程组没有唯一解)时,可以使用穆尔–彭若斯广义逆来计算最小二乘解。这使我们能够处理欠定(未知数多于方程)或超定(方程多于未知数)的情况。
如果您需要复习矩阵代数,推荐学习R中的数据科学线性代数课程。
最小二乘法的类型
到目前为止,我们主要讨论了将最小二乘法用于普通最小二乘估计。但它是一种相当灵活的工具,可以根据您要解决问题的性质做出调整。下面我们来看看几种最小二乘方法、它们的特点以及实际用途。
线性最小二乘
此时,您应该已经对线性最小二乘(也称为 普通最小二乘)很熟悉了。它用于系数线性的模型,例如简单或多元线性回归。其目标是在多元情形下找到使残差平方和最小的直线(或超平面)。
这种最小二乘假设残差具有恒定方差,且数据中不存在显著离群点。它可用于大多数存在线性关系的情形。例如,您可以用它分析妊娠时长与出生体重之间的关系,或广告支出与销售收入之间的关系。这是我自己以及我最常听到他人使用的最小二乘类型。
加权最小二乘
加权最小二乘是当残差方差不恒定时的一种扩展。通过为每个数据点分配权重,加权最小二乘会对方差较小的观测赋予更大权重。其公式与之前的平方和类似,但对每个残差施加一个权重(wi):

该方法适用于测量误差在观测之间变化的数据集,例如传感器标定。权重通常取各观测方差的倒数。
稳健最小二乘
稳健最小二乘旨在处理含有离群点的数据集,这些离群点可能对普通最小二乘的结果产生不成比例的影响。它通过迭代重加权来降低离群点的影响。
在稳健最小二乘中,您可以使用最小绝对偏差(LAR)或双二次权重等方法,迭代调整权重,弱化离群点的影响。
一个可能使用该方法的例子是金融建模,在那里需要考虑极端市场崩盘。如果您的数据集中不想删除离群点,但仍希望对其进行处理,稳健最小二乘可能是可行路径。
非线性最小二乘
最小二乘并非只用于线性回归。非线性最小二乘用于模型在系数上是非线性的场景。它比线性最小二乘更复杂,可能需要迭代优化技术(如高斯–牛顿或Levenberg–Marquardt)来找到最佳拟合。
使用非线性最小二乘时需要特别小心。计算对初始参数估计以及收敛问题较为敏感。可能的应用包括:建模感染过程中病毒在体内的指数增长,或在实验室中建模化学反应速率。
总最小二乘
到目前为止,我们主要讨论的是只有因变量存在误差的情形,并且我们一直在最小化模型与数据之间的垂直距离。但如果自变量的测量也存在误差呢?
总最小二乘适用于自变量和因变量都存在测量误差的情况。该方法会同时考虑所有变量中的误差。在天文学和大地测量(测量地球形状与重力场的学科)等领域尤其有用,因为高精度要求使得各维度都存在测量误差。总最小二乘常结合奇异值分解使用。
广义最小二乘
广义最小二乘是最小二乘法的扩展,用于应对残差相关带来的挑战。通过广义最小二乘,我们将数据变换为可应用普通最小二乘的形式。该变换基于残差的协方差矩阵来刻画其相关结构,从而获得更准确的参数估计。
这在诸如时间序列分析等场景尤其有用,因为残差可能表现出自相关。
最小二乘法的应用
最小二乘法是一种应用广泛的统计技术,覆盖众多领域。
在统计与数据科学中,最小二乘用于构建线性与非线性回归模型,以已知输入进行预测。它在趋势分析,尤其是时间序列数据分析中也很有用。
在金融领域,最小二乘用于股票表现分析,帮助确定股票表现与市场指数之间的关系。例如,它可用于计算一只股票对市场波动的敏感度。它也通过对历史金融数据拟合模型来辅助风险建模,以估计风险与收益。
工程师在传感器标定中使用最小二乘,将模型拟合到观测数据以最小化测量误差。它还应用于信号处理中的滤波与降噪,以便更清晰地解读数据。
当然,最小二乘源于天文学;其首次应用是由卡尔・弗里德里希・高斯用于预测谷神星的轨道。它也用于大地测量中,基于观测数据建模地球形状,这对精确的地理测量至关重要。
如果您接触过机器学习,您会认识到最小二乘法是在线性回归模型训练中用于最小化损失函数的方法。它也可用于特征选择,以识别对模型贡献最大的变量。
它在物理、化学等众多理工学科中同样发挥作用。它可用于将曲线拟合到实验数据(如反应速率或物理测量)上,并帮助最小化实验装置中的误差。
最小二乘法是一种多才多艺的统计工具。就个人而言,我曾用此方法标定压力传感器、基于实验数据进行预测,以及在机器学习训练中使用。其可靠建模关系并最小化误差的能力,为许多不同学科提供了价值。
假设与诊断
最小二乘法对数据与所用模型有若干关键假设。理解这些假设很重要,因为违背它们会导致有偏或不可靠的结果。下面我们来讨论这些假设,以及如何诊断并解决潜在问题。
其一是假设误差独立,即残差之间不应相关。如果误差互相关,尤其是在序列或空间数据中,估计可能被扭曲。杜宾–沃森检验可以检测残差自相关,特别是时间相关的数据集。如果确实存在相关性,您可以使用广义最小二乘加以处理。
另一项假设是残差方差在所有自变量水平上保持恒定。如果将残差与拟合值作图时呈漏斗状分布,该假设可能被违背。为解决此问题,您可以使用加权最小二乘为观测分配合适权重。或者,使用对数或平方根等变换来稳定不等方差并修复任何异方差性问题。
与所有建模一样,结构需要反映变量间的真实关系。如果不然,无论拟合多么优化,结果仍会产生误导。残差图与R²等拟合优度指标可以帮助判断您所选模型是否捕捉到了数据中的模式。
标准的最小二乘方法假设自变量测量无误。因此了解自变量测量的精度很重要。您应通过采集方法来判断该测量的精度。如果预测变量存在测量误差,请务必使用总最小二乘法,以减轻建模中的不准确性。
最后,残差误差的分布尤为重要,特别是在假设检验和置信区间估计中。最小二乘假设误差服从正态(高斯)分布,偏离正态会影响推断。直方图和Q-Q图有助于评估残差是否符合预期分布。如果存在显著偏离,稳健回归或自助法等技术可提供对离群点更不敏感的更可靠估计。
最小二乘法的优缺点
最小二乘法是数据分析中广泛使用的工具。但这并不意味着它适用于每个数据集。
最小二乘法有多项优点。它计算相对容易,尤其对线性模型而言。其结果对技术与非技术受众都易于解读。此外,它有加权、稳健、非线性回归等多种形式,因而具有很强的通用性。更重要的是,它有高斯–马尔可夫定理提供坚实的理论基础。上述因素使得最小二乘在从经济学到工程学的众多领域得到广泛应用。
然而,该方法对离群点较为敏感,离群点可能对模型结果产生过度影响。它还假设预测变量无误差,而这在现实数据中未必成立。此外,最小二乘会受到多重共线性的限制,即高度相关的预测变量会导致系数不稳定、估计不可靠。它还要求残差方差恒定,而这一条件也不总能满足。
在决定最小二乘法是否最适合您的场景之前,务必仔细审视您的数据集与目标。
|
优点 |
缺点 |
|
易于计算 |
对离群点敏感 |
|
易于解读 |
假设预测变量无误差 |
|
适用范围广 |
受多重共线性限制 |
|
理论基础扎实 |
假设方差恒定 |
结论
最小二乘法是每位数据分析师的基础工具。通过为数据找到最佳拟合,我们可以做出更准确的预测,发现更有洞见的趋势。
若想进一步阅读关于欧几里得空间中直线度量的内容,推荐我们的理解欧几里得距离:从理论到实践教程。此外,务必报名我们的回归课程,助您成为真正的专家。
我拥有博士学位,在生物研究环境中从事数据相关工作已有13年。我使用包括 Python、MATLAB 和 R 在内的多种编程语言开发软件。我热衷于与世界分享我对学习的热爱。
常见问题
什么是最小二乘法?
最小二乘法是一种统计技术,用于为数据集找到最佳拟合的直线或曲线。它使用观测值与预测值之间平方差之和。
什么是残差?
残差是观测值与模型预测值之间的差。
谁创建了最小二乘法?
它由卡尔・弗里德里希・高斯发明,他也是高斯分布的同名人物。
最小二乘是否只用于线性关系?
不是,最小二乘也可用于非线性关系。
最小二乘涉及哪些数学概念?
最小二乘基于矩阵代数,利用正规方程与正交投影来寻找最佳拟合。
