Wie berechne ich den relativen Fehler, wenn der wahre Wert Null ist?


32

Wie berechne ich den relativen Fehler, wenn der wahre Wert Null ist?

Angenommen, ich habe xtrue=0 und . Wenn ich relativen Fehler definiere als:xtest

relative error=xtruextestxtrue

Dann ist der relative Fehler immer undefiniert. Wenn ich stattdessen die Definition verwende:

relative error=xtruextestxtest

Dann ist der relative Fehler immer 100%. Beide Methoden scheinen nutzlos. Gibt es noch eine andere Alternative?


Ich hatte genau die gleiche Frage bezüglich der Parametervorspannung in Monte-Carlo-Simulationen unter Verwendung Ihrer ersten Definition. Einer meiner Parameterwerte war 0, daher habe ich für diesen bestimmten Parameter keinen Parameter-Bias berechnet ...
Patrick Coulombe,

2
Die Lösung besteht darin, in diesem Fall keinen relativen Fehler zu verwenden.
Marc Claesen

2
Eine Option, die auf die Absicht reagiert, wenn nicht auf den Buchstaben Ihrer Frage, besteht darin, ein geringfügig anderes Maß zu verwenden, das eng mit dem relativen Fehler übereinstimmt, wenn der relative Fehler klein ist, z. B. 2(xtruextest)/(|xtrue|+|xtest|) . (Verwenden Sie 0 wenn xtrue=xtest=0 .) Diese spezielle Lösung ist insofern universell, als sie bei einer Änderung der Maßeinheit unveränderlich ist (da sie keine willkürlichen Konstanten enthält).
whuber

@whuber Ich denke, Sie sollten erwägen, diesen Kommentar als Antwort zu veröffentlichen, da er den vorhandenen überlegen zu sein scheint.
Silverfish

@Silver Du hast Recht - ich entschuldige mich dafür, dass du eine Antwort als Kommentar gepostet hast. Ich habe diesen Kommentar daher leicht zu einer Antwort erweitert.
whuber

Antworten:


39

Je nach Verwendungszweck gibt es viele Alternativen.


Eine übliche Methode ist die "Relative Percent Difference" (RPD), die in Laborqualitätskontrollverfahren verwendet wird. Obwohl Sie viele scheinbar unterschiedliche Formeln finden können, kommt es bei allen darauf an, die Differenz zweier Werte mit ihrer durchschnittlichen Größe zu vergleichen:

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

Dies ist ein vorzeichenbehafteter Ausdruck, der positiv ist, wenn y überschreitet, und negativ ist, wenn y x überschreitet . Sein Wert liegt immer zwischen - 2 und 2 . Durch die Verwendung von Absolutwerten im Nenner werden negative Zahlen auf vernünftige Weise behandelt. Die meisten Referenzen, die ich finden kann, wie das DEP Site Remediation-Programm in New Jersey, zur Bewertung der Datenqualität und zur Bewertung der Datenverwendbarkeit , verwenden den absoluten Wert von d 1, da sie nur an der Größe des relativen Fehlers interessiert sind.xyyx22d1


Ein Wikipedia-Artikel zu Relative Change and Difference stellt dies fest

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

wird häufig als relativer Toleranztest in numerischen Gleitkomma-Algorithmen verwendet. Im selben Artikel wird auch darauf hingewiesen, dass Formeln wie und d verallgemeinert werden könnend1d

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

wobei die Funktion direkt von den Beträgen von x und y abhängt (normalerweise unter der Annahme, dass x und y positiv sind). Als Beispiele bieten sie ihr maximales, minimales und arithmetisches Mittel (mit und ohne die absoluten Werte von x und y selbst), aber man könnte auch andere Arten von Mittelwerten in Betracht ziehen, wie beispielsweise das geometrische Mittel fxyxyxyDer harmonische Mittel2/(1/|x|+1/|y|)undLpMittel((|x|p+|y|p)/2)1 / p. (d1entsprichtp=1unddentspricht der Grenze alsp|xy|2/(1/|x|+1/|y|)Lp((|x|p+|y|p)/2)1/pd1p=1d .) Man könnte ein f basierend auf dem erwarteten statistischen Verhalten von x und y wählen. Beispielsweise wäre bei annähernd logarithmischen Normalverteilungen das geometrische Mittel eine attraktive Wahl für f, da es unter diesen Umständen ein aussagekräftiger Durchschnitt ist.pfxyf


Die meisten dieser Formeln stoßen auf Schwierigkeiten, wenn der Nenner gleich Null ist. In vielen Anwendungen ist dies entweder nicht möglich oder es ist harmlos, die Differenz auf Null zu setzen, wenn .x=y=0

Es ist zu beachten, dass alle diese Definitionen eine fundamentale Invarianzeigenschaft gemeinsam haben: Unabhängig von der relativen Differenzfunktion ändert sich diese nicht, wenn die Argumente durch λ > 0 einheitlich neu skaliert werden :dλ>0

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

Es ist diese Eigenschaft, die es uns ermöglicht, als relativen Unterschied zu betrachten. So ist insbesondere eine nichtinvariante Funktion mög lichd

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

einfach nicht qualifizieren. Welche Tugenden es auch haben mag, es drückt keinen relativen Unterschied aus.


Die Geschichte endet hier nicht. Wir könnten es sogar fruchtbar finden, die Auswirkungen der Invarianz ein wenig weiter zu treiben.

Die Menge aller geordneten Paare von reellen Zahlen wobei ( x , y ) als gleich ( λ x , λ y ) angesehen wird, ist die reelle projektive Linie R P 1 . R P 1 ist sowohl topologisch als auch algebraisch ein Kreis. Beliebig ( x , y ) ( 0 , 0 )(x,y)(0,0)(x,y)(λx,λy) RP1RP1(x,y)(0,0)bestimmt eine eindeutige Linie durch den Ursprung . Wenn x 0 ist, ist seine Steigung y / x ; ansonsten können wir seine Steigung als "unendlich" (und entweder negativ oder positiv) betrachten. Eine Nachbarschaft dieser vertikalen Linie besteht aus Linien mit extrem großen positiven oder extrem großen negativen Steigungen. Wir können alle diese Linien hinsichtlich ihres Winkels θ = arctan ( y / x ) mit - π / 2 < θ π / 2 parametrisieren(0,0)x0y/xθ=arctan(y/x)π/2<θπ/2. Verbunden mit jedem solchen ist ein Punkt auf dem Kreis,θ

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

Jeder auf dem Kreis definierte Abstand kann daher verwendet werden, um eine relative Differenz zu definieren.

Betrachten Sie als Beispiel, wohin dies führen kann, den üblichen (euklidischen) Abstand auf dem Kreis, wobei der Abstand zwischen zwei Punkten der Größe des Winkels zwischen ihnen entspricht. Die relative Differenz am geringsten ist , wenn , entsprechend 2 θ = π / 2 (oder 2 θ = - 3 π / 2 , wenn x und y entgegengesetzte Vorzeichen haben). Unter diesem Gesichtspunkt wäre eine natürliche relative Differenz für positive Zahlen x und y der Abstand zu diesem Winkel:x=y2θ=π/22θ=3π/2xyxy

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

Nach erster Ordnung ist dies der relative Abstand --aber es funktioniert auch wenn y = 0 ist . Außerdem explodiert es nicht, sondern ist (als vorzeichenbehafteter Abstand) auf einen Wert zwischen - π / 2 und π / 2 begrenzt , wie aus dieser Grafik hervorgeht:|xy|/|y|y=0π/2π/2

Figure

Dies weist darauf hin, wie flexibel die Auswahlmöglichkeiten bei der Auswahl einer Methode zur Messung relativer Unterschiede sind.


Vielen Dank für die umfassende Antwort. Was ist Ihrer Meinung nach die beste Referenz für diese Zeile: "Wird häufig als relativer Toleranztest in numerischen Gleitkomma-Algorithmen verwendet. In demselben Artikel wird auch darauf hingewiesen, dass Formeln wie d1d1 und d∞d∞ möglicherweise verwendet werden verallgemeinert auf "
Hammad Haleem

1
Übrigens, egal, ich habe eine akademische Referenz dafür gefunden :) tandfonline.com/doi/abs/10.1080/00031305.1985.10479385
Hammad Haleem

4
Warum wurde dies nicht als Antwort ausgewählt? (Entschuldigung, wenn dies kein angemessener Kommentar ist, aber dies ist bei weitem die bessere Antwort)
Dreistes Gleichgewicht

2
@Brash Ich schätze das Gefühl. Die Annahme ist eindeutig die Provinz des ursprünglichen Antragstellers: Niemand kann dies außer Kraft setzen (außer durch Löschen des angenommenen Beitrags). In einigen Fällen, in denen ich mich wie Sie fühle, veröffentliche ich Kommentare, in denen ausdrücklich darauf hingewiesen wird, wie und warum einige Antworten meiner Meinung nach besser oder bemerkenswerter sind als andere. Auch wenn dies nichts ändert, können solche Kommentare das Material für zukünftige Leser ein wenig nützlicher oder verständlicher machen. Und genau darum geht es letztendlich bei unserer Arbeit auf dieser Website.
Whuber

1
@KutalmisB Danke, dass du das bemerkt hast: Das "min" gehört überhaupt nicht dorthin. Es sieht so aus, als wäre es ein Überbleibsel einer komplexeren Formel gewesen, die alle möglichen Zeichen von und y behandelt hat , die ich später vereinfacht habe. Ich habe es entfernt. xy
Whuber

11

Beachten Sie zunächst, dass Sie bei der Berechnung des relativen Fehlers normalerweise den absoluten Wert verwenden.

Eine übliche Lösung für das Problem ist die Berechnung

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

3
This is problematic in that it varies depending on the units of measure chosen for the values.
whuber

1
That's absolutely true. This isn't a perfect solution to the problem, but it is a common approach that works reasonably well when x is well scaled.
Brian Borchers

Could you elaborate in your answer on what you mean by "well scaled"? For instance, suppose the data arise from calibration of an aqueous chemical measurement system designed for concentrations between 0 and 0.000001 moles/liter which can achieve a precision of, say, three significant digits. Your "relative error" would therefore be constantly zero except for obviously erroneous measurements. In light of this, how exactly would you rescale such data?
whuber

1
Your example is one where the variable isn't well scaled. By "well scaled", I mean that that variable is scaled so that it takes on values in a small range (of e.g. a couple of orders of magnitude) near 1. If your variable takes on values over many orders of magnitude than you've got more serious scaling issues and this simple approach isn't going to be adequate.
Brian Borchers

2
Any reference for this approach? The name of this method? Thank you.
CroCo

0

I was a bit confused on this for a while. In the end, its because if you are trying to measure relative error with respect to zero then you are trying to force something that simply does not exist.

If you think about it, you're comparing apples to oranges when you compare relative error to the error measured from zero, because the error measured from zero is equivalent to the measured value (that's why you get 100% error when you divide by the test number).

For example, consider measuring error of gauge pressure (the relative pressure from atmospheric) vs absolute pressure. Say that you use an instrument to measure the gauge pressure at perfect atmospheric conditions, and your device measured atmospheric pressure spot on so that it should record 0% error. Using the equation you provided, and first assuming we used the measured gauge pressure, to calculate relative error:

relative error=Pgauge,truePgauge,testPgauge,true
Then Pgauge,true=0 and Pgauge,test=0 and you do not get 0% error, instead it is undefined. That is because the actual percent error should be using the absolute pressure values like this:
relative error=Pabsolute,truePabsolute,testPabsolute,true
Now Pabsolute,true=1atm and Pabsolute,test=1atm and you get 0% error. This is the proper application of relative error. The original application that used gauge pressure was more like "relative error of the relative value" which is a different thing than "relative error". You need to convert the gauge pressure to absolute before measuring the relative error.

The solution to your question is to make sure you are dealing with absolute values when measuring relative error, so that zero is not a possibility. Then you are actually getting relative error, and can use that as an uncertainty or a metric of your real percent error. If you must stick with relative values, than you should be using absolute error, because the relative (percent) error will change depending on your reference point.

It's hard to put a concrete definition on 0... "Zero is the integer denoted 0 that, when used as a counting number, means that no objects are present." - Wolfram MathWorld http://mathworld.wolfram.com/Zero.html

Feel free to nit pick, but zero essentially means nothing, it is not there. This is why it does not make sense to use gauge pressure when calculating relative error. Gauge pressure, though useful, assumes there is nothing at atmospheric pressure. We know this is not the case though, because it has an absolute pressure of 1 atm. Thus, the relative error with respect to nothing, just does not exist, it's undefined.

Feel free to argue against this, simply put: any quick fixes, such as adding one to the bottom value, are faulty and not accurate. They can be still be usefully if you are simply trying to minimize error. If you are trying to make accurate measurements of uncertainty though, not so much...


0

MAPE Formula

Finding MAPE,

It is very debatable topic and many opensource contributors have discussed on the above topic. The most efficient approach till now is followed by the developers. Please refer to this PR to know more.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.