真の値がゼロのときに相対誤差を計算する方法は?


32

真の値がゼロのときに相対誤差を計算するにはどうすればよいですか?

私は言うと。相対誤差を次のように定義すると:xtrue=0xtest

relative error=xtruextestxtrue

その場合、相対誤差は常に未定義です。代わりに定義を使用する場合:

relative error=xtruextestxtest

その場合、相対誤差は常に100%です。どちらの方法も役に立たないようです。別の選択肢はありますか?


最初の定義を使用して、モンテカルロシミュレーションのパラメーターバイアスに関してまったく同じ質問をしました。パラメーター値の1つが0だったため、この特定のパラメーターのパラメーターバイアスを計算しませんでした...
パトリッククーロンベ14

2
この場合、解決策は相対エラーを使用しないことです。
マーククレセン14

2
質問の文字ではない場合に意図に応答する1つのオプションは、など、相対誤差が小さい場合に相対誤差と密接に一致するわずかに異なる尺度を使用すること。(使用(それは任意の定数を伴わないため)、それは測定単位の変化の下で不変であるという。)この特定の解決策は普遍的です。0 x true = x test = 02(xtruextest)/(|xtrue|+|xtest|)0xtrue=xtest=0
whuber

@whuber既存のコメントよりも優れていると思われるため、そのコメントを回答として投稿することを検討すべきだと思います。
シルバーフィッシュ

@Silverあなたは正しいです-コメントとして回答を投稿したことをおizeび申し上げます。したがって、私はそのコメントを回答にわずかに拡張しました。
whuber

回答:


39

目的に応じて、多くの選択肢があります。


一般的なものは、研究室の品質管理手順で使用される「相対パーセント差」またはRPDです。一見異なった多くの式を見つけることができますが、それらはすべて、2つの値の差を平均の大きさと比較することになります。

d1(x,y)=xy(|x|+|y|)/2=2xy|x|+|y|.

これは、がを超えると正、がを超えると負の符号付き式です。その値は常にと間にあります。分母に絶対値を使用することにより、負の数を合理的な方法で処理します。ニュージャージーDEPサイト修復プログラムのデータ品質評価やデータユーザビリティ評価のテクニカルガイダンスなど、私が見つけることができる参考文献のほとんどは、相対誤差の大きさにのみ関心があるため、の絶対値を使用しています。y y x 2 2 d 1xyyx22d1


A 上のWikipediaの記事相対的な変化や違いがあることを観察します

d(x,y)=|xy|max(|x|,|y|)

浮動小数点数値アルゴリズムの相対許容誤差テストとして頻繁に使用されます。同じ記事でも指摘しているような式とに一般化することができますd1d

df(x,y)=xyf(x,y)

ここで、関数はと大きさに直接依存します(通常とが正であると仮定します)。例としては、その最大、最小、及び算術平均(ととの絶対値が取らず提供しおよび自体)が、1つは、幾何平均のような平均値の他の種類の意図ができ、高調波平均およびは意味します。(に対応し及びような限界に相当fxyxyxy|xy|2/(1/|x|+1/|y|)Lp((|x|p+|y|p)/2)1/pd1p=1dp。)と期待される統計的挙動に基づいてを選択するかもしれません。たとえば、ほぼ対数正規分布の場合、幾何平均はにとって魅力的な選択になります。これは、その状況では意味のある平均だからです。fxyf


これらの式のほとんどは、分母がゼロに等しいときに困難に直面します。多くのアプリケーションでは、場合に差をゼロに設定することは不可能または無害です。x=y=0

これらの定義はすべて基本的な不変性プロパティを共有していることに注意してください:相対差関数が何であっても、引数がによって均一に再スケーリングされても変化しません:dλ>0

d(x,y)=d(λx,λy).

このプロパティにより、を相対的な差と見なすことができます。したがって、特に、次のような非不変関数d

d(x,y)=? |xy|1+|y|

単に資格がありません。それが持っているかもしれない美徳が何であれ、それは相対的な違いを表現しません


話はここで終わりではありません。 不変性の意味をもう少し推し進めることは実りあることさえあるかもしれません。

実数の全ての順序対の集合同じであると考えられているある実射影ライン。トポロジカルな意味と代数的な意味の両方で、は円です。Anyは、原点通る一意の行を決定します。とき、その勾配は(x,y)(0,0)(x,y)(λx,λy) RP1RP1(x,y)(0,0)(0,0)x0y/x; そうでない場合、その傾きを「無限」(および負または正のいずれか)とみなすことがあります。この垂直線の近傍は、非常に大きな正または非常に大きな負の勾配を持つ線で構成されます。を使用して、角度ですべてのそのような線をパラメーター化できます。このようなすべてのは、円上の点です。θ=arctan(y/x)π/2<θπ/2θ

(ξ,η)=(cos(2θ),sin(2θ))=(x2y2x2+y2,2xyx2+y2).

任意の円上に定義された距離は、したがって、相対的な差を定義するために使用することができます。

これがどこにつながるかの例として、円上の通常の(ユークリッド)距離を考えてみましょう。これにより、2点間の距離は、それらの間の角度のサイズになります。場合、に対応する相対差は最小です(と符号が反対の場合は)。この観点から、正の数と自然な相対差は、この角度までの距離になります。x=y2θ=π/22θ=3π/2xyxy

dS(x,y)=|2arctan(yx)π/2|.

一次的に、これは相対距離-しかし、場合でも機能し。さらに、爆発はしませんが、このグラフが示すように、代わりに(符号付き距離として)と間に制限されます:|xy|/|y|y=0π/2π/2

図

これは、相対的な差異を測定する方法を選択する際の選択肢の柔軟性を示唆しています。


包括的な答えのおかげで、この行の最良のリファレンスは何だと思いますか:「浮動小数点数値アルゴリズムの相対許容誤差テストとして頻繁に使用されます。d1d1やd∞d∞のような式は一般化」
ハマドハリーム

1
ちなみに、私はこれに関する学術的な参考文献を見つけました:) tandfonline.com/doi/abs/10.1080/00031305.1985.10479385
Hammad Haleem

4
なぜこれが答えとして選択されていないのですか?(これが適切なコメントではない場合は申し訳ありませんが、これははるかに優れた答えです)
Brash Equilibrium

2
@Brash感情に感謝します。受け入れは、元の提案者の州です。受け入れられた投稿を削除することを除いて、誰もそれを上書きできません。私があなたのように感じるとき、私はいくつかの答えが他の答えよりも優れている、または注目に値すると思う理由を明確に指摘するコメントを投稿します。それが何も変更しなかったとしても、そのようなコメントは将来の読者にとって資料をもう少し有用または理解しやすくするかもしれません:そしてそれは最終的に、このサイトでの私たちの仕事のポイントです。
whuber

1
@KutalmisBに気づいてくれてありがとう。「分」はそこにまったく属していません。これは、後で簡略化したと考えられるすべての符号を処理した、より複雑な式の痕跡であったようです。削除しました。xy
whuber

11

まず、相対誤差の計算では通常、絶対値を使用することに注意してください。

問題の一般的な解決策は、計算することです

relative error=|xtruextest|1+|xtrue|.

3
これは、値に選択した測定単位によって異なるという点で問題があります。
whuber

1
それは絶対に本当です。これは問題の完全な解決策ではありませんが、が適切にスケーリングされている場合に合理的に機能する一般的なアプローチです。x
ブライアンボーチャーズ

「適切にスケーリングされた」とはどういう意味かについて、答えを詳しく説明していただけますか?例えば、データの間の濃度のために設計された水性化学測定システムの較正から生じると仮定及び有効数字3桁、たとえば、の精度を達成することができるモル/リットル。したがって、明らかに誤った測定値を除いて、「相対誤差」は常にゼロになります。これを踏まえて、そのようなデータをどのくらい正確に再スケーリングしますか?00.000001
whuber

1
あなたの例は、変数がうまくスケーリングされていない例です。「適切にスケーリングされた」とは、変数が1に近い小さな範囲(たとえば、数桁)の値を取るように変数がスケーリングされることを意味します。より深刻なスケーリングの問題があり、この単純なアプローチでは十分ではありません。
ブライアンボー

2
このアプローチに関する参考文献 このメソッドの名前は?ありがとうございました。
CroCo

0

私はしばらくこれについて少し混乱していました。結局、ゼロに関する相対誤差を測定しようとする場合、単に存在しないものを強制しようとするためです。

考えてみると、相対誤差をゼロから測定した誤差と比較すると、リンゴとオレンジを比較していることになります。ゼロから測定した誤差は測定値に等しいためです(そのため、テスト番号)。

たとえば、ゲージ圧(大気圧からの相対圧力)対絶対圧力の測定誤差を考慮してください。計器を使用して、完全な大気条件でゲージ圧を測定し、デバイスが0%のエラーを記録するように大気圧スポットを測定したとします。指定した式を使用し、最初に測定されたゲージ圧を使用して相対誤差を計算すると仮定します: その後、および、0%のエラーは発生せず、代わりに未定義です。これは、実際のパーセント誤差が次のような絶対圧力値を使用しているためです。

relative error=Pgauge,truePgauge,testPgauge,true
Pgauge,true=0Pgauge,test=0
relative error=Pabsolute,truePabsolute,testPabsolute,true
次にと 0%のエラーが発生します。これは相対誤差の適切な適用です。ゲージ圧を使用した元のアプリケーションは、「相対値」とは異なる「相対値の相対誤差」に似ていました。相対誤差を測定する前に、ゲージ圧を絶対圧に変換する必要があります。Pabsolute,true=1atmPabsolute,test=1atm

あなたの質問に対する解決策は、相対誤差を測定するときに絶対値を処理していることを確認することです。そのため、ゼロは不可能です。次に、実際に相対誤差を取得し、それを実際のパーセント誤差の不確実性またはメトリックとして使用できます。相対(パーセント)エラーは参照ポイントに応じて変化するため、相対値を使用する必要がある場合は、絶対エラーを使用する必要があります。

0に具体的な定義を加えることは困難です...「ゼロは0で示される整数であり、カウント数として使用すると、オブジェクトが存在しないことを意味します。」-Wolfram MathWorld http://mathworld.wolfram.com/Zero.html

自由に選んでも構いませんが、ゼロは本質的には何も意味せず、存在しないことを意味します。これが相対誤差を計算するときにゲージ圧を使用する意味がない理由です。ゲージ圧は、有用ではありますが、大気圧には何もないと想定しています。ただし、絶対気圧が1気圧であるため、これは当てはまらないことがわかっています。したがって、何に関する相対的エラーは存在しないだけで、未定義です。

簡単に言うと、これに反論することは自由です。ボトム値に1を追加するなどの迅速な修正はすべて誤りであり、正確ではありません。エラーを最小限に抑えようとしている場合、これらは引き続き有用です。あなたが不確実性の正確な測定をしようとしている場合でも、それほどではありません...


0

MAPEフォーミュラ

MAPEの検索、

これは非常に議論の余地のあるトピックであり、多くのオープンソースの貢献者が上記のトピックについて議論しています。これまでで最も効率的なアプローチには、開発者が従います。詳細については、このPRを参照しください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.