誤差
ただし、常にこのような回避が可能であるわけではない。
本質は、元となるデータ 31.638584 と 31.606961 とが、すでに最下位桁に丸め誤差を含む近似値である点にある。(1) では、差の上位3桁がゼロになることによって、この丸め誤差が大きな相対誤差になってしまう。(もし、これらの元データが丸め誤差を含まない値であった場合は、結果も全く誤差を含まない点に注意を要する。)
最大の問題はこの後、丸め誤差を含んだ桁が上位有効桁の喪失に伴う正規化によって上位桁に大きく移動することになるため、大きな誤差を含んだまま失われた有効桁数が見かけ上回復するところにある。これによって、後続する演算が全て「巨大な誤差」を「有効桁」として演算を続けることになり、最終的な演算結果は見かけどおりの有効桁数を持っていない状態になる。
乗除算および加算(符号が異なる減算)に関しては有効桁数の減少(上位有効桁の喪失)を伴わないのでこの問題は発生しない。また正規化を行わない固定小数点形式でもこの問題は発生しない(そもそも固定小数点の場合は精度の考え方が異なるため)。(※丸め誤差が累積する問題は発生するが、それは桁落ち誤差ではない)
有効数字8桁で
1001 − 999 {\displaystyle {\sqrt {1001}}-{\sqrt {999}}}
を計算する。
1001 = 31.6385840 ⋯ ≃ 31.638584 {\displaystyle {\sqrt {1001}}=31.6385840\cdots \simeq 31.638584}
999 = 31.6069612 ⋯ ≃ 31.606961 {\displaystyle {\sqrt {999}}=31.6069612\cdots \simeq 31.606961}
(1) 式の通りに計算すると、
1001 − 999 ≃ 31.638584 − 31.606961 = 0.031623 {\displaystyle {\sqrt {1001}}-{\sqrt {999}}\simeq 31.638584-31.606961=0.031623}
有効数字が5桁になってしまう。
有効数字が8桁なので本来なら±0.00000005%程度の誤差であるはずが、±0.00005%程度、ざっと1,000倍の誤差を含むことになる。
(2) 式を変形して、ほぼ等しい数値同士の減算を回避すると、
二乗平均平方根誤差 (RMSE: Root Mean Square Error)
標準偏差
半値幅:分布の最頻値に対して頻度が半分になる点における分布の幅。FWHM (Full Width at Half Maximum) とも呼ばれる。
公算誤差
一般に測定によって最終的に求めたい値が一つの測定の結果から得られるとは限らず、それぞれ固有の誤差を持つ複数の値から求めなければならない場合が多い。複数回の測定結果の平均を取る場合などもそのうちの一つである。
たとえば最終的に求めたい値 z が2つの測定値 x, y から z = f(x, y) という関係式で求められる場合、x, y の標準偏差をそれぞれ sx, sy とすると、z の標準偏差 sz は次の誤差伝播の公式により求められる:
s z = ( ∂ f ∂ x s x ) 2 + ( ∂ f ∂ y s y ) 2 . {\displaystyle s_{z}={\sqrt {\left({\frac {\partial f}{\partial x}}s_{x}\right)^{2}+\left({\frac {\partial f}{\partial y}}s_{y}\right)^{2}}}.}