Skip to content

误差度量:绝对、相对与分量误差

Error measures · Absolute and relative error

用绝对、相对、范数型与逐分量尺度准确说明近似量偏离真值的程度。

形式陈述

x 是真值,x^ 是近似值。在赋范空间中,绝对误差定义为

eabs=x^x,

x0 时,相对误差为

erel=x^xx.

二者回答不同问题:绝对误差保留对象的单位和尺度,相对误差衡量误差相对于真值有多大。若 x=0,上述相对误差没有定义;工程容差常改用 x^x/(a+rx),其中绝对尺度 a>0 与相对尺度 r>0 必须由问题给出,不能把极小常数偷偷当作普适真值。

对向量,可用范数型误差,也可逐分量考察。给定正尺度 wi,分量误差可写为

ecomp=maxi|x^ixi|wi,

常见选择是 wi=|xi|,但零分量仍需绝对尺度。混合误差允许某些量采用绝对界、另一些量采用相对界。矩阵和函数的误差同样必须写明范数,例如矩阵的 2-范数、Frobenius 范数,或函数在区间上的一致范数;没有范数的“误差小”不是完整陈述。

标量的有效数字通常由相对误差数量级刻画,而 ulp 衡量某个浮点数附近相邻机器数的间距。两者依赖不同尺度,不能互换;ulp 的精确定义和舍入约定见舍入、机器精度与 ulp

直觉

106 的近似值若偏差为 1,绝对误差看起来不小,相对误差却只有 1061012 的近似值若也偏差 1012,绝对误差极小,相对误差却达到 1。误差数字只有连同尺度一起读才有意义。

范数型度量把整个向量压成一个数,适合描述总体几何距离;逐分量度量保留每个坐标的相对尺度,适合某个小分量具有独立物理意义的情形。选择哪一种不是排版习惯,而是问题规格的一部分。

例子与边界

x=(1,1012),x^=(1,2×1012).

2-范数下,x^x2/x21012,整体相对误差极小;但第二个分量的相对误差为 1。若第二个分量代表微量污染物浓度,范数型结论会掩盖最重要的失真。

百分比误差在真值穿过零时也会失去解释力。例如温度相对于摄氏零度的百分比变化依赖任意选定的零点;此时应使用有物理意义的绝对尺度,或改用开尔文等能支持比例解释的量。

误差还不能与残差混同。对方程 F(x)=0F(x^) 衡量近似值代回方程后的缺陷,而 x^x 才是解误差;只有掌握逆映射或条件性信息时,前者才能推出后者。

推论与应用

条件数、前向误差、后向误差和停止准则都以本页的尺度选择为前提。实验报告应在图表或公式中直接注明所用指标,例如“2-范数相对前向误差”或“无穷范数绝对残差”,而不是让读者猜测分母和范数。

序列收敛只说明误差趋于零,算法比较还需要收敛阶;矩阵分解、插值和微分中的误差则会分别选择适合其结构的范数或逐分量尺度。统一术语并不意味着所有问题都用同一个数字。

参考资料
  • NIST Digital Library of Mathematical Functions, §3.1 Arithmetics and Error Measures.
  • Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, 2nd ed., SIAM, 2002, Ch. 1.
  • David Goldberg, “What Every Computer Scientist Should Know About Floating-Point Arithmetic,” ACM Computing Surveys 23(1), 1991.