Regression
Linear Regression
我们获得一些数据,将这些数据分布在二维平面上,我们希望通过这些点绘制出一条直线来表示这些点的趋势。绘制这条直线的过程,被称为线性回归。但是这条直线应该如何绘制呢?
假设这些点在y轴方向的均值为b,我们可以绘制出一条y=b
的直线
然后计算出所有点在y轴方向同
y=b
的距离残差平方和,计算结果为24.6接下来当我们旋转这条直线时,计算得到的距离残差平方和会逐渐减小,此时残差平方和为14.5
但是继续旋转,距离残差平方和可能又会变大,此时残差平方和为31.7
究竟如何旋转到哪个角度时候,距离残差平方和能达到最小呢?
一元线性回归
一元线性回归的公式可以归纳为,其中a表示回归直线的斜率(slope),b表示回归直线在y轴的截距(intercept)
因此,距离的残差平方和可以表示为
上述公式也被称为最小二乘法
不同的旋转角(rotation)度获得的残差平方和类似下图
当残差平方和对应的曲线的切线斜率(倒数)为0时,表示该点对应的残差平方和最小
不同的rotation其实表示不同的slope和intercept
假设我们固定intercept为一个值,不同slope会产生不同的残差residuals
不同的intercept会产生不同的曲线,同时计算这些曲线与slope和intercept的倒数,可以得到回归直线的最优解
Loess Smoothing
这一部分讲的是曲线拟合
曲线拟合大致分为两个步骤
1.通过滑窗将数据划分为小块
2.在每一个小块中,通过最小二乘法拟合出一条直线
下面我们来看具体过程
假设现在在二维平面有这些散乱的点需要进行拟合。我们通过大小为5的滑窗,从第一个点开始拟合计算,此时第一个点称为“滑窗的焦点”(focal point)。
红框中的5个点为第一个滑窗的数据,按照距离滑窗焦点的远近依次给每一个点做好标记。
然后对滑窗中的5个点进行加权最小二乘法(weighted least squares):距离焦点越近的点,在直线拟合时的权重越大。
因此,焦点本身的权重是最大的,然后是点1,点2...
非加权方式拟合的直线如黑色虚线所示,经过加权之后拟合出来的直线如蓝色实线所示。可以发现,加权处理之后,拟合的直线斜率会小一些。
然后,我们可以在拟合出来的直线上,标记出焦点的对应标记
接下来选择第二点作为滑窗焦点,此时焦点左右两边的点距离相同,所以都被标记为1,这两个点的加权是一样的。
那么,第二个点的拟合对应标记也就可以被获得了。
在加权最小二乘法拟合过程中,滑窗中的每一个点对应的权重只根据其在x轴的上距离焦点的位置。例如下面这个滑窗中,即使最右边的这个点在y轴上非常大,但是由于它在x轴上的距离和最左边的点相同,所以它们都被标记为2,权重是一样的。
类似上面的过程,我们可以获得每一个点经过加权最小二乘法拟合之后的对应标记。显然,由于异常点的存在,被圈出来的这几个标记被明显拉升了。
为了消除这些异常点的影响,根据上述拟合出来的标记点与其原先位置在y轴上的距离,依次计算每一个标记点新的权重。
我们可以根据y轴上的权重对第一轮拟合出来的标记点进行调整,最终可以拟合出一条回归曲线。
申明
本文是根据StatQuest系列视频整理而来
已获得Josh Starmer授权说明
感谢久久琼殷不辞辛苦将视频转载至B站