← 实验室
ASTERXOR / 实验室

一个点,怎样把整条直线拉偏

最小二乘会认真对待远处的观测。耐极值的比较能揭示影响,却不能替你决定该相信哪些数据。

十个蓝点斜向上排列,远处金点把金色拟合线拉得近乎水平。
回归实验实际使用的精确合成坐标。
实验室ASTERXOR / LEON LEUNG

十个点完美向上排列,加一个点,拟合斜率几乎消失。

起始数据很简单:x从0到9,y等于2x加1,所有点都在一条线上。再加入(20, 0),原先十个点完全没变,普通最小二乘线却几乎水平。新点有影响,不仅因为它不合群,也因为它所在的位置。

一条平衡的拟合线,可能围着一个很不寻常的点平衡。
THE AGREEMENT

最小二乘在最小化什么

普通最小二乘选择斜率和截距,让竖直残差的平方和最小。残差是观测y减去同一x处的预测值。平方让正负偏差都贡献正值,并使大偏差格外昂贵。这是一个明确的优化目标。

加入新点前,斜率2、截距1,残差全为零。加入(20, 0)后,斜率约0.08006、截距8.61782。新线在11个观测间做折中,并非算法故障或选择性忘掉原数据。

最小二乘线近乎水平,耐极值线跟随原先十个点。
FIG 01两条线都使用11个点。蓝线采用成对斜率中位数和残差中位数截距。
THE POSITION

沿着x远离,也会改变影响力

新点远在原来的x范围0至9之外。倾斜直线,会显著改变那里预测的y,这种几何影响称为杠杆作用。高杠杆不一定有问题:若点沿着原趋势,就未必冲突。本例还叠加了异常低的y。

为单独观察位置作用,脚本固定新增y为0,让x从10移动至30,拟合斜率随之变化。这是控制变量的敏感性实验,不是真实异常值调查。只看点在散点图中心上下偏离多远,会漏掉它的一部分影响。

新增点沿x移动时,最小二乘斜率随之改变。
FIG 02只改变新增点的x,原十个点和新增y=0保持不变。
ANOTHER SUMMARY

让许多配对为斜率投票

比较方法计算每对不同x值之间的连线斜率,取其中位数,再以y减去斜率乘x的中位数作为截距。原十个点之间有45对,斜率全为2;涉及新增点的配对只有10对。

因此成对斜率中位数仍为2,残差中位数截距仍为1。这是一种与Theil–Sen估计相关的透明构造,截距规则也已明确。它在这里成功,来自刻意设计的几何结构,不证明在任何噪声或多群体数据中都能找回真相。

DO NOT ERASE

稳健拟合无法判断发生了什么

金点可能是单位错误、另一个工作状态、罕见但有效的案例,也可能说明直线模型失效。真实调查需要背景来区分。降低其影响的算法不能替我们挑选解释,异常观测甚至可能最有价值。

应检查原始点及其来源,在明确假设下比较拟合。公开敏感性和原观测,通常比偷偷删点更诚实。若数据其实有多个群体或弯曲关系,换一个合适模型可能比找更耐异常的直线更重要。

OUTSIDE THE CLOUD

延长直线也是一种假设

原数据只在已观察的x范围支持关系。把蓝线延长到x=20得到41,这是模型假设,不是观测。虚构新点就是故意与之冲突。真实外推也要分清测到了什么、直线猜了什么。

散点图、残差检查和敏感性比较能把区别展示出来。目的不是选一条最让人安心的线,而是理解结论由什么支配,模型是否符合问题。数据一点小变化,可能大幅改变拟合规则重视的证据。

留一个想法带走

相信直线前,先看看究竟是哪些点把它固定在那里。