最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(1)

你可能听说过比萨斜塔的故事。在建造过程中,塔开始逐渐向一边倾斜。

假设吉诺( Gino),其中一位工程师,想预测塔的未来倾斜度。他想知道倾斜度是否会增加,到明年会增加多少。吉诺的唯一信息是下面的表格,其中包含了每年以十分之一毫米为单位的倾斜度。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(2)

为了更好地分析这些数据,吉诺绘制了以下散点图。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(3)

散点图以图形方式直观地显示了两个定量变量之间的关系。有时一个变量取决于另一个变量。在这种情况下,自变量被放在横轴上,因变量被放在纵轴上。对于比萨斜塔,倾斜度取决于年份。因此,年份被放在横轴上,倾斜度被放在纵轴上。

吉诺注意到,在看图时,这些数据点似乎在一条具有正斜率的直线上。

当一组数据点呈上升趋势时的时候,变量之间呈正相关。当一组数据点呈下降趋势时,变量之间呈负相关。另外,如果数据点基本在一条直线或某条曲线上,那么变量之间就是强相关。如果数据点不明显地在一条直线或某条曲线上,那么变量之间就是弱相关(见图2.a)。也有可能根本就没有任何相关性(见图2.b)。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(4)

吉诺的目标是用他的图(见图1)来预测塔的未来倾斜度。他可以通过计算最适合给定数据点的直线的函数来做到这一点。换句话说,他可以用线性回归技术来实现。

相关系数

在谈论线性回归之前,我首先想谈谈相关系数r。它不仅可以告诉我们是否值得做线性回归。它在线性回归本身也起着非常重要的作用。

相关系数r显示了一个线性关系的强度和方向(正或负)。当两个变量之间存在正向相关时,r为正。当变量之间的关系为负相关时,r也为负数。如果数据点正好描述了一条直线,r等于1或-1。当完全没有相关关系时,r将等于零。如果某组数据点的相关系数相当低(0.5>r>-0.5),那么线性回归可能不会给我们带来非常可信的结果。只有当r高于0.5或低于-0.5时才值得做线性回归。

为了计算r,我们可以使用皮尔逊公式(Pearson’s formula):

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(5)

在这个公式中,n是数据点的数量,x_i是数据点i的x坐标,x̄(x上有一横,如果没有显示)是所有x坐标的平均值,y_i是数据点i的y坐标,ȳ(y上有一横)是所有y坐标的平均值,s_x是所有x坐标的标准差和s_y是所有y坐标的标准差。标准差计算公式为:

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(6)

基本上,数据点沿x轴/y轴越分散,s_x/s_y越大。

顺便提一下,皮尔逊公式有很多形式,但对于一组给定的点,公式的输出应该总是相同的。

皮尔逊公式背后的逻辑

虽然皮尔逊公式一开始可能有点让人不知所措,但它背后的逻辑并不难。比方说,给定一组数据点,我们进行某种计算,如果数据点描述的是正斜率,就得出一个正值,如果是负斜率,就得出一个负值。为了做到这一点,我们可以将点集分成四个区域(象限),用所有x值的平均值(x=x̄)和所有y值的平均值(y=ȳ)来划分象限。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(7)

当点之间存在正相关关系时(点的集合是上升的),大部分的点将在象限I和III。在负相关的情况下,大部分的点会在第二象限和第四象限。知道了这一点,我们可以给第一象限或第三象限的每个点分配一个正值( 1),给第二象限或第四象限的每个点分配一个负值(-1)。然后,所有这些正负值的总和将在正相关时给我们一个正的结果,在负相关时给我们一个负的结果。

尽管这种方法可能会给我们提供关于斜率符号的信息,但它并没有提供关于相关性本身的任何信息。例如,图4.a中所有分配值之和与图4.b相同(都是 6)。然而,这两张图之间的相关性却有很大差别。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(8)

如果研究图4.a和图4.b之间的差异,你可能会意识到,虽然点的分布非常相似,但每个点到轴的距离不同。如果很多点都(只)靠近其中一个轴,那么相关性就会很弱。因此,在我们的方法中,我们要给那些离两个轴都比较远的点一个较高的分数,而给那些接近其中一个轴的点一个较低的分数。

用x坐标减去所有x坐标的平均值(x_i-x̄)来计算一个点到x轴的距离,同理可计算到y轴的距离。由于距离不可能是负数,我们通常会取这个差值的绝对值。但是,与x轴和y轴的 "距离 "的符号可以告诉我们,一个点是位于哪个象限。

例如,当一个点位于第一象限时,(x_i-x̄)和(y_i-ȳ)都是正数。如果一个点位于第二象限,(x_i-x̄)将是负的,(y_i-ȳ)是正的。位于第三象限的点都是负的。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(9)

当取每一个点到坐标轴的x和y的距离的乘积时,会得到一些非常重要的“东西”。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(10)

当一个点位于奇数象限时,这个乘积是正的(两个项的符号相同);当一个点位于偶数象限时,这个乘积是负的(两个项的符号不同)。如果把所有这些正负值相加,如果大多数点位于偶数象限,那么结果将是负的,如果大多数点位于奇数象限,则是正的。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(11)

由于在正相关的情况下,大多数点位于第一和第三象限,在负相关的情况下,在第二和第四象限,我们也可以用这种方法来计算数据点之间关系的符号。但我们的目标不仅仅是计算符号,而是描述相关性的强度。

如果很多点都接近其中一个轴,那么相关性将非常弱。因此,当一个点靠近其中一个轴时,公式的输出应该非常小,而如果一个点离两个轴都比较远,则输出会更大。让我们看看新公式是否符合这一要求。

当一个点靠近其中一个轴时,(x_i-x̄)或(y_i-ȳ)非常小。因此,这个乘积的结果也会比较小。但是,当一个点离两个轴更远时,(x_i-x̄)和(y_i-ȳ)都会很大。相应地,乘积也会很大。

我们可以计算图6.a和图6.b的相关系数。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(12)

对于图6.a,我们发现如下:

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(13)

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(14)

符号解释:

对于图6.b,我们发现这样的情况。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(15)

新公式似乎很有效。在这两种情况下,系数的符号都是正的,确实是这样的(变量之间的关系在这两种情况下都是正相关的),而且当两点距离较近时,输出值较大(85.11>82.875)。

假设:原来图6.a和图6.b中用米作为轴上的单位。现在把这个单位改为毫米,相关系数会突然大很多。这是因为点的X坐标现在会大一千倍。但是,这不应该发生,因为这些点之间的相关性实际上并没有改变。

这就需要标准差了。因为标准差表示的是点有多么分散。把(x_i-x̄)与所有x坐标的标准差s_x相除,就得到了该点的所谓z值。这个值表示的是点离平均数x̄有多少标准差。例如,如果平均数是x̄=5,标准差sₓ=3,而点的x坐标x_i=11,z就等于2。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(16)

因为标准差的符号总是正的,z的符号只取决于x_i-x̄的符号。这意味着我们也可以使用x_i和y_的z值的乘积来计算变量之间关系的符号。

现在,真正的问题是:Z是否与轴的单位无关?Z并不表示一个点离中心有多远,而是表示它离中心有多少个标准差。

如果把点的坐标乘以一千,标准差也会大一千倍。比如说:

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(17)

因为标准差与坐标轴具有相同的 "单位",一个点离中心的标准差的数始终保持不变。因此,Z与坐标轴的单位无关。

因此,使用z-score使公式与使用的单位无关。新公式现在看起来像这样:

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(18)

使用这个公式,图6.a的相关系数等于10.413,图6.b的相关系数为13.93。

这个公式仍有一个问题。该公式的输出取决于数据点的数量。例如,假设在图6.a中增加了一个x坐标为13、y坐标为8的点,这个点会削弱相关性,因为它根本不在一条可能的直线附近。但是,用目前的公式,我们的相关系数甚至会略有增加。

为了解决这个问题,我们可以从求和中取所有项的平均值。由于我们已经在计算所有的项,只需要再除以点的数量,即n。确切地说,是n-1,这方面的原因超出了本文的讨论范围,只需知道在这种情况下,用n-1除所有项的平均值即可。最终公式便是皮尔逊公式了:

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(19)

现在,对于图6.a,r = 0.69;对于图6.b,r = 0.93。

最小二乘法

在本文的开头,我向大家介绍了吉诺。吉诺想从散点图中计算出最适合给定数据点的直线的函数。正如我前面提到的,这个函数的计算被称为线性回归

这种回归背后的方法被称为最小二乘法。

看一下下面的图:

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(20)

在这个图上,我们称每个点的y坐标为y_i,直线上与y_i对应的纵坐标为ŷ_i。y_i称为y的观测值,ŷ_i称为y的预测值。

当画线时,我们希望从每一个点到线的y距离越小越好。这个距离等于观察值和预测值之间的差。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(21)

这个方程的问题是,当ŷ_i大于y_i时,d是负的。而我们只想对正值进行处理。为了解决这个问题,我们可以简单地将差值平方。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(22)

这就是 "最小二乘法 "这个名字的由来。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(23)

回归线现在是所有d_i之和最小的那条直线。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(24)

这条线的函数如下:

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(25)

这可以通过数学方法或计算机模拟来证明。

吉诺回归(Gino’s regression)

现在我们知道如何计算线性回归了。让我们试着计算一下1888年比萨斜塔的预期倾斜度。下面是吉诺获取的数据:

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(26)

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(27)

对于相关系数,计算得出r = 0.995,这是一个非常高的系数。线性回归肯定是有效的。对于函数,我们计算如下:

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(28)

为了确保没有犯任何错误,可以在我们的散点图上画出这条线。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(29)

看起来很不错吧?

现在可以用这条线来预测未来的倾斜度。

最小二乘法求回归方程具体推导(最小二乘法线性回归背后的数学)(30)

对于1988年,我们预测的倾斜度为767.8。

最后

这篇文章的目的不是让你记住很多公式,也不是让你能够徒手计算出线性回归的结果。我主要是想展示某个公式背后的思考过程。线性回归几乎总是用计算器或电脑来完成。

,