跳到正文
格致开物MATHWIKI

残差分析

残差分析(residual analysis)研究观测值与模型拟合值的差,以及这些差怎样随输入、预测水平、时间或分组变化。它帮助发现模型尚未解释的结构。求出一条最佳拟合线之后,工作并未结束:线可以在所选目标下最优,同时仍遗漏重要的曲线关系或误差结构。

一条看起来不错的线遗漏了什么

设一次合成传感器校准把输入质量 x(克)与输出 y(毫伏)对应起来。为了清楚显示模型遗漏,本例先不加随机噪声,按规则 y=3+12x2,x=0,1,2,3,4 生成五个读数。常数项是3毫伏,二次项系数是每平方克0.5毫伏,因此右边两项单位相同。假定我们暂时不知道这条生成式,先尝试带截距的直线。

输入x(克) 观测y(毫伏) 拟合 ŷ=2+2x(毫伏) 残差 e=yŷ(毫伏)
0 3 2 1
1 3.5 4 −0.5
2 5 6 −1
3 7.5 8 −0.5
4 11 10 1

残差的符号有方向:e>0 表示观测高于拟合、模型低估;e<0 表示模型高估。比较的是同一个输入x处的竖直差,不是点到直线的最短距离。

五个由三加二分之一x平方生成的校准点与直线二加二x比较,两端点高于直线,中间点低于直线,竖线显示残差
把每个点沿竖直方向与同一x处的拟合值配对,五条差值正好对应表的最后一列。

先确认这确实是最小二乘线。数据均值为 x¯=2,y¯=6,并且 (xi2)2=10,(xi2)(yi6)=20. 所以斜率为二、截距为 62×2=2,计算方法见最小二乘法。本篇继续问的是:这些已经尽量缩小的残差,还剩下怎样的规律?

把差值单独画出来

以输入 xi 为横轴、残差 ei 为纵轴,原来的拟合线变成水平零线。现在高低差不会被整体上升趋势掩盖。

残差在x为零一二三四时依次为一负零点五负一负零点五一,围绕零线形成U形而不是无结构散布
读图顺序是两端为正、中段为负:直线在两端低估,在中间高估。虚曲线表示本合成例子的已知残差函数,不表示额外观测。

在已知生成式下,可以直接求出遗漏: e(x)=3+12x2(2+2x)=12(x2)21. U形并非随机绘图误差,而是使用直线近似这条二次关系的必然结果。真实资料中看见类似图形,可以提出“是否遗漏曲率”的候选解释,再检查变量、实验范围及新的数据;仅凭一张散点图不能证明真实机制恰好是二次函数。

本例的残差平方和为 SSE=12+(0.5)2+(1)2+(0.5)2+12=3.5. 总离均平方和为43.5,因此决定系数 R2=13.543.5=80870.9195. 这个数看起来很高,仍没有消除残差中的规律。拟合优度概括某一比较,不能代替模型诊断。NIST 模型验证说明将残差图与数值指标结合使用。

为什么残差和为零,并不是诊断通过

表中残差相加为零。对含截距、参数没有额外约束的普通最小二乘回归,这是平方和达到最小带来的性质。把截距记为 a、斜率记为 b,有 n 个观测,目标为 Q(a,b)=i(yiabxi)2 暂时保持斜率不动,将截距增加 δ,每个残差都从 ei 变成 eiδ。展开平方,得到 Q(a+δ,b)=Q(a,b)2δiei+nδ2. 如果残差和 S=iei 不为零,就可选 δ=S/n,使新平方和比原来少 S2/n。因此原来的参数还不是最优;真正的最优点必满足 iei=0。这个论证只使用平方展开,不需要先掌握求导。

同样,把斜率增加 δ,第 i 个残差变成 eiδxi,所以 Q(a,b+δ)=Q(a,b)2δixiei+δ2ixi2.ixi2>0,选择 δ=(ixiei)/(ixi2),就知道最优时还必须有 ixiei=0;否则同样能够降低平方和。若所有 xi=0,这个等式自动成立。本例可以逐项核对 0(1)+1(0.5)+2(1)+3(0.5)+4(1)=0. 因此,残差和为零,可以与明显U形同时存在。若输入和残差都有非零方差,后一等式还使它们的样本线性相关系数为零;若残差全为零,相关系数的分母为零,不能称为零相关。它们不等于“误差没有结构”,也不证明模型正确。若模型不含截距或采用别的拟合准则,连这些等式都不一定成立。

还要分清两个量。统计模型通常写为 Yi=m(xi)+εi, 其中 m(xi)=𝔼[Yixi] 是未知的真实条件均值,εi 是围绕它的随机误差。实际可计算的是 ei=yim̂(xi). 残差把随机误差和拟合均值偏差混在一起,且使用了同一份数据估计参数。即使原误差独立,拟合残差也一般不独立;例如含截距时它们被“总和为零”的约束联系起来。

扇形散布在问另一个问题

曲率涉及平均响应。现在另设平均关系确实是直线 m(x)=2+3x,在 x=1,,5 每处画出两个平衡生成的读数 y(x)=2+3x0.2x,y+(x)=2+3x+0.2x. 上下偏移抵消,所以十个点的最小二乘线仍为 2+3x,残差恰为 ±0.2x

每个输入一至五各有一正一负残差,幅度从零点二增加到一,两条虚线正负零点二x形成扇形边界
零附近的中心不动,散布幅度却随输入增大。这里每个x各画一正一负是指定的教学构造,不是声称采样必定平衡。

若把这组幅度解释成随机误差模型,可令 ε=0.2xZ,给定 xZ 等概率取−1、1。于是 𝔼[εx]=0,Var(εx)=0.04x2. 这展示了异方差:误差方差取决于输入。独立重复抽取这些符号时,并不保证每处正负各一次;图的平衡安排只是让形状容易核对。

真实残差的扇形可能提示非恒定方差,也可能与遗漏变量、混合组别或量纲变换有关。若平均关系可信而方差确实变化,可考虑合理的方差模型、加权拟合或适用于异方差的标准误;权重不应仅凭图形随意设置。正态性也不是计算最小二乘系数的必要条件;它常用于特定有限样本检验与区间的分布推导。

为什么要保留测量顺序

再看一个恒定输入的校准过程。若输出依次为 yt=10+0.4(t5.5),t=1,,10, 用常数模型拟合,均值为10,残差为−1.8、−1.4、…、1.8毫伏。这些数仍平均为零,却从负到正持续漂移。

十次按时间顺序的残差从负一点八每次增加零点四到正一点八,零线在第五与第六次之间
线段只连接相邻观测顺序,用来追踪漂移。把次序丢掉后,同一组残差看不出先低后高。

这里所有拟合值都是10,残差对拟合值图只是一列点,时间图却立刻显示变化。图提示温度漂移、仪器预热等可能的解释,但不能确定原因;需要测量记录或额外实验。重复、周期或长段同号也可提示序列依赖,随机打乱数据只会遮住顺序信息,并不会使原测量误差变独立。残差随输入、拟合值与时间变化的用途,见Penn State STAT 501第4章NIST 假设检查

用诊断决定下一步,而不是删除不顺眼的点

对主例子,加入 x2 项能够精确恢复五个生成值。但这是我们特意构造的无噪声模型;真实五个点上残差为零,可能只是参数太多。应区分用于拟合的数据与用于检查预测的数据,说明新观测是否处在原输入范围内。

一个特别大的残差提示核查记录、量纲或异常机制,不自动证明数据录错;一个横轴极端的点也可能显著拉动拟合线,使它自己的残差反而不大。判断影响需要比较删除前后的拟合或使用杠杆与影响诊断,不能只按残差大小删点。

检查后的模型仍有用途边界。残差图没有明显结构,说明当前图没有给出明显反证;有限样本和特定作图方式可能看不见别的结构。它既不能证明独立、正态和等方差,也不能从预测准确推导因果。

两个有解答的变式

变式一:保持原直线 ŷ=2+2x,在 x=3 处新读数为8.4毫伏。残差是多少?这是低估还是高估?

解答:预测为八,残差 8.48=0.4 毫伏,模型低估0.4。这里把原线固定作新观测预测;若把新读数并入训练集重新拟合,所有拟合值与残差都可能改变。

变式二:在扇形的十个读数上继续加一个固定常数五,重新拟合带截距直线。残差的扇形会消失吗?

解答:不会。截距由二变七、斜率仍三;观测与拟合同时增加五,差值仍为 ±0.2x。平移输出的零点不能消除方差随输入变化的结构。

参考来源与后续