Comment calculer l'erreur relative lorsque la vraie valeur est zéro?

32

Comment calculer l'erreur relative lorsque la vraie valeur est zéro?

Disons que j'ai xtrue=0 et . Si je définis l'erreur relative comme:xtest

relative error=xtruextestxtrue

Ensuite, l'erreur relative n'est toujours pas définie. Si à la place j'utilise la définition:

relative error=xtruextestxtest

Ensuite, l'erreur relative est toujours de 100%. Les deux méthodes semblent inutiles. Y a-t-il une autre alternative?

okj
la source
J'avais exactement la même question concernant le biais des paramètres dans les simulations de Monte Carlo, en utilisant votre première définition. L'une de mes valeurs de paramètre était 0, donc je n'ai pas calculé le biais de paramètre pour ce paramètre particulier ...
Patrick Coulombe
2
La solution est de ne pas utiliser d'erreur relative dans ce cas.
Marc Claesen
2
Une option, qui répond à l'intention sinon à la lettre de votre question, consiste à utiliser une mesure légèrement différente qui correspond étroitement à l'erreur relative lorsque l'erreur relative est faible, telle que . (Utilisez lorsque ) Cette solution particulière est universelle en ce qu'elle est invariante lors d'un changement d'unité de mesure (car elle n'implique aucune constante arbitraire). 0 x vrai = x test = 02(xtruextest)/(|xtrue|+|xtest|)0xtrue=xtest=0
whuber
@whuber Je pense que vous devriez envisager de publier ce commentaire comme une réponse, car il semble supérieur aux commentaires existants.
Silverfish
@Silver Vous avez raison - je m'excuse d'avoir publié une réponse sous forme de commentaire. J'ai donc légèrement développé ce commentaire en réponse.
whuber

Réponses:

39

Il existe de nombreuses alternatives, selon le but.


Une différence courante est la «différence en pourcentage relatif», ou RPD, utilisée dans les procédures de contrôle de la qualité en laboratoire. Bien que vous puissiez trouver de nombreuses formules apparemment différentes, elles se résument toutes à comparer la différence de deux valeurs à leur amplitude moyenne:

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

Il s'agit d'une expression signée , positive lorsque dépasse et négative lorsque dépasse . Sa valeur est toujours comprise entre et . En utilisant des valeurs absolues dans le dénominateur, il gère les nombres négatifs de manière raisonnable. La plupart des références que je peux trouver, telles que l' évaluation de la qualité des données et l'évaluation de la convivialité des données du programme de restauration des sites du New Jersey DEP , utilisent la valeur absolue de car elles ne s'intéressent qu'à l'ampleur de l'erreur relative.y y x - 2 2 d 1xyyx22d1


Un article de Wikipédia sur le changement et la différence relatifs observe que

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

est fréquemment utilisé comme test de tolérance relative dans les algorithmes numériques à virgule flottante. Le même article souligne également que les formules comme et peuvent être généralisées àd d1d

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

où la fonction dépend directement des grandeurs de et (en supposant généralement que et sont positifs). À titre d'exemples, il offre leur moyenne max, min et arithmétique (avec et sans prendre les valeurs absolues de et eux-mêmes), mais on pourrait envisager d'autres sortes de moyennes telles que la moyenne géométrique , l'harmonique signifie et signifie . ( correspond à et correspond à la limitex y x y x y fxyxyxy2/(1/|x|+1/|y|)Lp((|x|p+|y|p)/2)1 / pd1p=1dpfxyf|xy|2/(1/|x|+1/|y|)Lp((|x|p+|y|p)/2)1/pd1p=1dp .) On pourrait choisir un basé sur le comportement statistique attendu de et . Par exemple, avec des distributions approximativement lognormales, la moyenne géométrique serait un choix intéressant pour car elle est une moyenne significative dans cette circonstance.fxyf


La plupart de ces formules rencontrent des difficultés lorsque le dénominateur est égal à zéro. Dans de nombreuses applications, ce n'est pas possible ou il est inoffensif de mettre la différence à zéro lorsque .x=y=0

Notez que toutes ces définitions partagent une propriété d'invariance fondamentale: quelle que soit la fonction de différence relative , elle ne change pas lorsque les arguments sont uniformément redimensionnés par :λ > 0dλ>0

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

C'est cette propriété qui permet de considérer comme une différence relative . Ainsi, en particulier, une fonction non invariante commed

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

n'est tout simplement pas admissible. Quelles que soient ses vertus, il n’exprime pas de différence relative .


L'histoire ne s'arrête pas là. Nous pourrions même trouver utile de pousser un peu plus loin les implications de l'invariance.

L'ensemble de toutes les paires ordonnées de nombres réels où est considéré comme étant le même que est la ligne réelle de projection . Dans un sens topologique et dans un sens algébrique, est un cercle. Tout détermine une ligne unique passant par l'origine . Lorsque sa pente est( x , y ) ( λ x , λ y ) R P 1 R P 1 ( x , y ) ( 0 , 0 ) ( 0 , 0 ) x 0 y / x θ = arctan ( y / x ) - π(x,y)(0,0)(x,y)(λx,λy) RP1RP1(x,y)(0,0)(0,0)x0y/x; sinon, nous pouvons considérer que sa pente est "infinie" (et soit négative soit positive). Un voisinage de cette ligne verticale est constitué de lignes avec des pentes positives ou extrêmement négatives extrêmement grandes. Nous pouvons paramétrer toutes ces lignes en fonction de leur angle , avec . Associé à chacun de ces est un point sur le cercle,θ=arctan(y/x)θπ/2<θπ/2θ

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

Toute distance définie sur le cercle peut donc être utilisée pour définir une différence relative.

Comme exemple de ce que cela peut mener, considérons la distance habituelle (euclidienne) sur le cercle, où la distance entre deux points est la taille de l'angle entre eux. La différence relative est moindre lorsque , correspondant à (ou lorsque et ont des signes opposés). De ce point de vue, une différence relative naturelle pour les nombres positifs et serait la distance à cet angle:x=y2θ=π/22θ=3π/2xyxy

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

Au premier ordre, il s'agit de la distance relative--mais ça marche même quand . De plus, il ne souffle pas, mais à la place (en tant que distance signée) est limité entre et , comme l'indique ce graphique:y = 0 - π / 2 π / 2|xy|/|y|y=0π/2π/2

Figure

Cela indique la flexibilité des choix lors de la sélection d'un moyen de mesurer les différences relatives.

whuber
la source
Merci pour la réponse complète, quelle est selon vous la meilleure référence pour cette ligne: "est fréquemment utilisé comme test de tolérance relative dans les algorithmes numériques à virgule flottante. Le même article souligne également que des formules comme d1d1 et d∞d∞ peuvent être généralisé à "
Hammad Haleem
1
btw, nevermind j'ai trouvé une référence académique pour cela :) tandfonline.com/doi/abs/10.1080/00031305.1985.10479385
Hammad Haleem
4
Pourquoi cela n'a-t-il pas été sélectionné comme réponse? (désolé si ce n'est pas un commentaire approprié, mais c'est de loin la meilleure réponse)
Brash Equilibrium
2
@Brash J'apprécie le sentiment. L'acceptation est uniquement la province du proposant original: personne ne peut outrepasser cela (sauf en supprimant le message accepté). À certaines occasions, lorsque je me sens comme vous, je publie des commentaires qui expliquent explicitement comment et pourquoi je pense que certaines réponses sont meilleures ou plus remarquables que d'autres. Même si cela ne change rien, de tels commentaires peuvent rendre le matériel un peu plus utile ou compréhensible pour les futurs lecteurs: et c'est, en fin de compte, le but de notre travail sur ce site.
whuber
1
@KutalmisB Merci de l'avoir remarqué: le "min" n'y appartient pas du tout. Il semble que ce soit peut-être le vestige d'une formule plus complexe qui gère tous les signes possibles de et y que j'ai simplifiés plus tard. Je l'ai retiré. xy
whuber
11

Tout d'abord, notez que vous prenez généralement la valeur absolue dans le calcul de l'erreur relative.

Une solution courante au problème consiste à calculer

relative error=|xtruextest|1+|xtrue|.
Brian Borchers
la source
3
Cela est problématique car il varie en fonction des unités de mesure choisies pour les valeurs.
whuber
1
x
00.000001
1
Votre exemple est celui où la variable n'est pas bien mise à l'échelle. Par "bien mis à l'échelle", je veux dire que cette variable est mise à l'échelle de sorte qu'elle prenne des valeurs dans une petite plage (par exemple quelques ordres de grandeur) proche de 1. Si votre variable prend des valeurs sur plusieurs ordres de grandeur que vous ' J'ai eu des problèmes de mise à l'échelle plus graves et cette approche simple ne sera pas adéquate.
Brian Borchers
2
Une référence pour cette approche? Le nom de cette méthode? Merci.
CroCo
0

J'étais un peu confus à ce sujet pendant un certain temps. En fin de compte, c'est parce que si vous essayez de mesurer une erreur relative par rapport à zéro, vous essayez de forcer quelque chose qui n'existe tout simplement pas.

Si vous y réfléchissez, vous comparez des pommes à des oranges lorsque vous comparez l'erreur relative à l'erreur mesurée à partir de zéro, car l'erreur mesurée à partir de zéro est équivalente à la valeur mesurée (c'est pourquoi vous obtenez une erreur de 100% lorsque vous divisez par le numéro de test).

relative error=Pgauge,truePgauge,testPgauge,true
Pgauge,true=0Pgauge,test=0
relative error=Pabsolute,truePabsolute,testPabsolute,true
Pabsolute,true=1atmPabsolute,test=1atmet vous obtenez une erreur de 0%. C'est la bonne application de l'erreur relative. L'application d'origine qui utilisait la pression manométrique ressemblait davantage à une "erreur relative de la valeur relative", ce qui est différent de "l'erreur relative". Vous devez convertir la pression relative en absolue avant de mesurer l'erreur relative.

La solution à votre question est de vous assurer que vous traitez avec des valeurs absolues lorsque vous mesurez une erreur relative, de sorte que zéro n'est pas possible. Ensuite, vous obtenez en fait une erreur relative et pouvez l'utiliser comme une incertitude ou une métrique de votre pourcentage d'erreur réel. Si vous devez vous en tenir aux valeurs relatives, vous devez utiliser une erreur absolue, car l'erreur relative (en pourcentage) changera en fonction de votre point de référence.

Il est difficile de mettre une définition concrète sur 0 ... "Zéro est l'entier noté 0 qui, lorsqu'il est utilisé comme nombre de comptage, signifie qu'aucun objet n'est présent." - Wolfram MathWorld http://mathworld.wolfram.com/Zero.html

N'hésitez pas à choisir, mais zéro ne signifie essentiellement rien, il n'est pas là. C'est pourquoi il n'est pas logique d'utiliser la pression manométrique lors du calcul de l'erreur relative. La pression relative, bien qu'utile, suppose qu'il n'y a rien à la pression atmosphérique. Nous savons que ce n'est pas le cas, car il a une pression absolue de 1 atm. Ainsi, l'erreur relative par rapport à rien n'existe tout simplement pas, elle n'est pas définie.

N'hésitez pas à contester cela, simplement: toutes les solutions rapides, telles que l'ajout d'un à la valeur inférieure, sont défectueuses et inexactes. Ils peuvent toujours être utiles si vous essayez simplement de minimiser les erreurs. Si vous essayez de faire des mesures précises de l'incertitude, pas tellement ...

Tim Johnsen
la source
0

MAPE Formula

Trouver MAPE,

C'est un sujet très discutable et de nombreux contributeurs open source ont discuté du sujet ci-dessus. L'approche la plus efficace jusqu'à présent est suivie par les développeurs. Veuillez vous référer à ce PR pour en savoir plus.

layman_brother
la source