基礎:演算法、近似與誤差

相對誤差

相對誤差把絕對誤差按真值的大小縮放,於是它告訴你答案中錯了多少比例,與單位和量級無關:若 x 是真值(非零)、x~ 是近似,則相對誤差為 |x~ - x| / |x|。3 公尺的絕對誤差,在你知道真長是 3 公尺(錯了 100%)還是 3000 公里(百萬分之一)之前毫無意義;相對誤差替你做出這個判斷。

由於無因次、與尺度無關,相對誤差是橫跨極不同量級時談精度的自然語言——而這正是浮點數的世界,其值從 1e-300 跑到 1e300,卻各自以大致相同的相對精度儲存(雙精度約 1e-16)。相對誤差也直接連到有效位數:約 10^(-d) 的相對誤差,意味你大致能信任 d 位有效數字。乘以 100 就得到熟悉的百分誤差。

相對誤差有自己的陷阱:當真值為零或接近零時,它無定義且在數值上爆炸。當 x 趨近 0,分母 |x| 縮小,即使絕對誤差很小,比值也會爆炸,因此在零點附近人們改回絕對誤差,或用 |x~ - x| / (1 + |x|) 這類混合容忍度。誠實的做法是同時對兩者回報或檢驗——答案大時看相對誤差小,答案小時看絕對誤差小。

用 22/7 近似 pi:絕對誤差 0.001264,相對誤差 0.001264 / 3.141593 = 4.0e-4,即約 0.04%——這告訴你 22/7 不論單位都準到大約三位有效數字。

以答案的比例表示的誤差——無單位、無尺度,且與有效位數相連。

相對誤差在真值為零時無定義、在其附近不穩定——分母縮小而比值爆炸。在零點附近,改用絕對誤差或混合容忍度 |誤差| / (1 + |x|)。

又称
fractional errorpercentage error百分誤差相對誤差值