1 概念界定

1.1 残差的基本定义

残差(residual)是统计建模中“观测值与模型预测值之间的差”。在最常见的表述里,残差用于衡量模型对数据的拟合误差,其核心思想是把偏差直接留在原始观测尺度上,便于先做基础检查。通常记为: 残差 = 观测值 − 预测值

1.2 “原始”含义:未标准化与未变换

原始残差(raw residual)强调“未标准化与未变换”。也就是说,残差直接由观测值减去预测值得到,不经过诸如除以估计标准差、按杠杆值修正、学生化变换,或对因变量做对数/Box-Cox 等变换后的差异形式。它更贴近误差的“原貌”,但也因此更受数据尺度和误差方差随条件变化的影响。

1.3 残差的符号与解释方向

原始残差的符号通常按“观测值减预测值”定义:

  • 残差为正:表示观测值高于预测值,模型在该样本处低估。
  • 残差为负:表示观测值低于预测值,模型在该样本处高估。

这一方向约定在实践中尤其重要:同一图或同一结论如果更换了差的定义(如预测减观测),正负号含义会整体翻转。

2 数学表达与常见场景

2.1 回归模型中的原始残差

2.1.1 线性回归:y − ŷ

在线性回归中,设因变量为 \(y_i\),模型预测为 \(\hat{y}_i\),则第 \(i\) 个样本的原始残差为: \[ e_i = y_i - \hat{y}_i \] 这组残差对应于模型在样本点上的拟合误差,既可用于可视化,也可用于后续的误差结构检验(例如是否存在随拟合值变化的系统模式)。

2.1.2 广义线性模型:观测与预测的对应差异

在广义线性模型(GLM)中,“观测值—预测值”的具体对应可能出现在不同层面。常见做法包括:

  • 在均值层面:用观测响应与模型给出的均值预测做差。
  • 在链接函数的线性预测子层面:若采用不同的参数化,残差也可能以线性预测子(或其变换后的量)定义。

无论采用哪种口径,原始残差的关键特征仍是:直接用“观测与预测的差”构造,且不进行标准化或学生化修正。

2.2 时间序列中的原始残差

2.2.1 一步预测残差

一步预测残差通常指在每个时点 \(t\) 用过去信息预测 \(y_t\) 后的误差。原始残差可写作: \[

e_t = y_t - \hat{y}_{tt-1}

\]

其中 \(\hat{y}_{tt-1}\) 表示仅使用截至 \(t-1\) 的信息得到的预测。该序列可用于观察是否存在未捕捉的自相关结构或随时间变化的系统性偏差。

2.2.2 多步预测残差

多步预测残差对应在时点 \(t+h\) 做 \(h\) 步前瞻预测得到的误差。例如: \[

e_{t+h} = y_{t+h} - \hat{y}_{t+ht}

\] 多步残差会受到预测不确定性累积的影响,因此更容易出现误差随预测步长扩大或分布形态变化。原始残差仍保持“未标准化”的直观性,但对其分布解释通常需要结合预测步长和模型误差设定。

2.3 分类与计量混合任务中的残差概念边界

在分类任务中,“观测值—预测值”的差未必有直接的数值意义。若预测是类别标签的概率,则通常讨论的是:

  • 概率层面的差异(例如观察到的指标与预测概率的差),或
  • 损失函数导出的“残差样式”的度量。

在计量与分类混合任务(例如同时输出连续量与类别)中,原始残差概念往往需要明确口径:是对连续分量做差,还是在某种损失框架下定义误差信号。否则会出现“单位不一致”导致的误读。

3 计算步骤与实现要点

3.1 数据与模型输出的对齐

计算原始残差前,需确保观测值与预测值在同一索引体系上对齐,包括:

  • 样本顺序一致;
  • 训练/验证/测试划分对应正确;
  • 对时间序列,预测时点与使用的历史窗口一致;
  • 预测输出的“层面”明确(均值、线性预测子或变换后量)。

错位往往比公式本身更容易造成看似“异常很大”的假象。

3.2 缺失值与样本筛选对残差的影响

若数据含缺失值,常见做法包括插补、剔除或在模型内部处理。对于原始残差而言,需要注意

  • 删除样本会改变残差序列的长度与统计可视化的可比性;
  • 插补会把误差的一部分“转移”到构造的观测上;
  • 若对不同特征列采用不同缺失处理策略,可能导致样本集并不完全一致

因此在实现时应记录筛选规则,并在残差图或汇总指标中保持一致的样本范围。

3.3 维度与量纲一致性检查

原始残差是“同量纲差”。实现中通常需要检查:

  • 预测输出是否与观测单位一致(例如预测的是对数尺度则不能直接拿原始尺度相减);
  • 多输出任务(如多因变量回归)中,残差是逐维计算还是聚合;
  • 时间序列预测是否做了尺度变换(例如标准化后又未反变换)。

量纲不一致会让残差的符号和幅度都失去解释意义。

3.4 伪代码与实现流程(概念层)

可以用概念层流程概括原始残差的计算:

  1. 准备观测响应向量 \(y\);
  2. 使用已训练模型对相同样本(或相同预测窗口)的输入生成预测 \(\hat{y}\);
  3. 确认预测与观测处于同一尺度与同一索引;
  4. 对每个样本执行差:\(e = y - \hat{y}\);
  5. 将残差与对应的自变量、拟合值、时间戳等信息打包,供后续诊断绘图使用。

该流程不涉及标准化,因此实现更直接,但对“对齐与尺度”要求更高。

4 诊断用途

4.1 残差图与模式识别

原始残差的最大价值在于:它不掩盖误差的形态,让图像直接反映模型在数据上的不足。

4.1.1 残差-自变量散点图

将原始残差与某个自变量或其分组绘制散点图,可观察是否存在:

  • 随自变量变化的系统上/下偏;
  • 扇形”或“带状”结构(提示误差幅度随条件变化)。

如果残差在水平线附近随机散布且无明显曲线形状,模型在该维度上通常更接近合理。

4.1.2 残差-拟合值图

残差对拟合值(\(\hat{y}\) 或预测均值)的图常用于检查均值结构与方差结构是否匹配:

  • 残差均值应接近零且不呈现明显曲线;
  • 残差方差不应随拟合值单调放大或缩小(否则可能存在异方差或未建模的非线性)。

原始残差图可快速提供“哪里不对”的线索,但精细结论通常仍需结合方差稳定化或标准化残差辅助判断

4.1.3 残差的时间序列图

在时间序列中,按时间顺序绘制 \(e_t\) 有助于识别:

  • 残差的自相关(例如“今天偏高,明天也偏高”的趋势);
  • 残差方差随时间波动(可能与外部冲击或季节结构有关)。

若残差表现出可重复的节律或缓慢漂移,可能提示模型缺少相应的时间结构成分。

4.2 异常点与离群值筛查

4.2.1 高杠杆/高影响的初步线索

原始残差本身不等同于“影响力”,但在实践里,极端残差往往是需要进一步核查的候选信号。若某些点同时具备:

  • 残差绝对值较大;
  • 在自变量空间中位置较特殊(可能对应较高杠杆);

就值得检查数据质量、模型设定或是否存在未解释的子群体。

4.2.2 经验性阈值与风险提示

由于原始残差没有统一尺度(不同数据集、不同变量单位会导致幅度不可比),经验阈值应谨慎使用。常见做法是:

  • 以“相对分位数”(如上/下尾部)或“箱线图标记”进行初筛;
  • 配合领域知识判断是否为真实异常;
  • 对可疑点再进行模型复核或更换残差口径(如标准化/学生化)。

将原始残差直接套用固定阈值,容易产生误判。

4.3 系统性偏差检测

4.3.1 非线性结构残留

如果模型假设为线性但真实关系存在曲线形态,原始残差对拟合值或关键自变量的图可能呈现弯曲趋势。此类“形状残留”往往比单纯的残差大小更能说明结构性问题。

4.3.2 均值偏移迹象

当残差整体不在零附近对称分布,可能意味着:

  • 截距项或基线水平未对齐;
  • 特征工程或变量选择不足;
  • 存在未建模的偏置来源。

通过观察残差的中心位置与分布对称性,可快速获得是否存在均值偏移的直观判断。

4.3.3 误差结构失配线索

原始残差的“形态”也可能反映误差结构失配,例如:

  • 残差方差随拟合值变化;
  • 残差在时间上呈现聚集性;
  • 残差分布在不同区间呈现不同尺度。

这类线索通常对应需要改进方差建模、引入变换或修正误差相关结构。

5 与其他残差形式的关系

5.1 标准化残差(standardized residual)

标准化残差通常把原始残差除以某种估计的标准误,从而让不同样本的残差在可比意义上更接近同一量级。它常用于更公平的异常点比较,但会依赖方差估计的质量。

5.2 学生化残差(studentized residual)

学生化残差进一步考虑了“被检验样本对估计的影响”,常用于更细的离群点诊断。相较原始残差,学生化残差更适合回答“这个点是否显著不符合模型”的问题,但也更复杂,且对模型方差结构假设更敏感。

5.3 方差稳定化后的残差

当原始残差显示明显异方差或方差随均值变化时,常通过对因变量或误差结构做变换(例如对数或其他方差稳定化)再计算残差。这样得到的残差在图像上往往更“均匀”,但解释需明确变换前后含义,避免把变换尺度的差直接当作原尺度误差。

5.4 工作残差、偏差残差等的对比边界

在某些模型框架中还会出现工作残差、偏差残差等量。它们通常来自特定目标函数或迭代算法,对应的含义与原始残差不同:

  • 工作残差更偏向算法计算中使用的“等价误差信号”;
  • 偏差残差与似然或偏差度量相关。

因此,虽然这些量也常被称作“残差”,但其解释口径与“观测减预测”的直观性不完全一致,使用时应明确其定义来源。

6 局限性与注意事项

6.1 原始尺度导致的可比性问题

原始残差的幅度直接受数据单位、变量尺度以及模型预测量的量纲影响。于是:

  • 不同特征选择、不同数据集之间残差绝对值往往不可直接横向比较;
  • 同一模型在不同变量的残差上比较也可能缺乏统一尺度。

因此原始残差更适合做“同一口径下的诊断”,而非简单跨任务比较。

6.2 异方差下的解读误差

若误差方差随条件变化,原始残差会表现为某些区间更“宽”,但这未必意味着模型在这些区间拟合更差。更合理的做法是:

  • 先从残差图识别异方差线索;
  • 再使用标准化/学生化残差或方差稳定化残差进行更公平的比较。

6.3 模型选择与残差分析的耦合

残差分析不是独立步骤。你看到的模式可能对应多种原因,包括变量缺失、函数形式错配、分布假设不恰当等。模型选择通常需要把残差诊断与:

  • 业务/数据生成机制理解;
  • 交叉验证的泛化表现;
  • 误差分布与链接函数等建模假设

一起纳入考量。

6.4 可重复性与随机种子影响(若涉及重采样)

在采用重采样、bootstrap 或带随机初始化的拟合流程时,原始残差会随模型训练结果轻微波动。为了可重复性,应记录并固定:

  • 随机种子;
  • 重采样次数与策略;
  • 预处理步骤(包括缺失处理、标准化、训练/测试划分)。

否则同一数据上的残差图可能在细节上出现差异,从而干扰诊断判断。

7 相关概念与“梗”式理解

7.1 “未打磨的误差”直觉

可以把原始残差理解成“把模型预测的那一下直接减掉”的结果:没有涂抹任何修饰,也没有把误差按尺度重新标定。它的好处是诚实,坏处是容易受尺度干扰。

7.2 残差不过滤就看会发生什么(轻度比喻)

就像不做滤镜直接拍照:画面上所有偏差都被保留。你能更快看到“哪里偏了”,但也会更容易被“光线差导致的噪声”误导。因此常见做法是先看原始残差找到方向,再配合标准化口径做更可靠的判断。

7.3 常见误区小抄

  • “残差越小越好就完事”:残差大小只是单点或整体误差强度的一部分,残差的结构形态(是否成曲线、是否随拟合值扩散、是否有时间相关)同样关键。
  • “残差为零就说明模型完全正确”:残差为零只能说明在训练点或特定样本上拟合恰好匹配,未必代表误差分布、泛化性能或对未知数据仍成立。
  • “不同数据集残差幅度能直接比较”:由于量纲与尺度差异,原始残差通常不适合直接横向对比,除非采用统一口径或标准化。