Hoe bereken ik de relatieve fout als de werkelijke waarde nul is?

Stel dat ik $ x_ {true} = 0 $ heb en $ x_ {test} $. Als ik relatieve fout definieer als:

$ \ text {relatieve fout} = \ frac {x_ {true} -x_ {test}} {x_ {true}} $

Dan de relatieve fout is altijd ongedefinieerd. Als ik in plaats daarvan de definitie gebruik:

$ \ text {relatieve error} = \ frac {x_ {true} -x_ {test}} {x_ {test}} $

Dan de relatieve fout is altijd 100%. Beide methoden lijken nutteloos. Is er een ander alternatief?

Opmerkingen

  • Ik had exact dezelfde vraag over parameterbias in Monte Carlo-simulaties, met behulp van je eerste definitie. Een van mijn parameterwaarden was 0, dus ik heb ‘ de parametervertekening niet berekend voor deze specifieke parameter …
  • De oplossing is om geen relatieve fout te gebruiken in dit geval.

Antwoord

Er zijn veel alternatieven , afhankelijk van het doel.


Een veel voorkomende is het “Relative Percent Difference” of RPD, dat wordt gebruikt in laboratoriumkwaliteitscontroleprocedures. Hoewel je veel schijnbaar verschillende formules kunt vinden, komen ze allemaal neer op het vergelijken van het verschil tussen twee waarden met hun gemiddelde grootte:

$$ d_1 (x, y) = \ frac {x – y} {( | x | + | y |) / 2} = 2 \ frac {x – y} {| x | + | y |}. $$

Dit is een ondertekende uitdrukking, positief wanneer $ x $ $ y $ overschrijdt en negatief wanneer $ y $ $ x $ overschrijdt. De waarde ligt altijd tussen $ -2 $ en $ 2 $. Door absolute waarden in de noemer te gebruiken, gaat het op een redelijke manier om met negatieve getallen. De meeste referenties die ik kan vinden, zoals de New Jersey DEP Site Remediation Program Data Quality Assessment and Data Usability Evaluation Technical Guidance , gebruiken de absolute waarde van $ d_1 $ omdat ze alleen geïnteresseerd zijn in de grootte van de relatieve fout.


Een Wikipedia-artikel over relatieve verandering en verschil merkt op dat

$$ d_ \ infty (x, y) = \ frac {| x – y |} {\ max (| x |, | y |)} $$

wordt vaak gebruikt als een relatieve tolerantietest in numerieke algoritmen met drijvende komma. Hetzelfde artikel wijst er ook op dat formules zoals $ d_1 $ en $ d_ \ infty $ gegeneraliseerd kunnen worden naar

$$ d_f (x, y) = \ frac {x – y} {f (x, y)} $$

waarbij de functie $ f $ rechtstreeks afhangt van de magnitudes van $ x $ en $ y $ (meestal aangenomen dat $ x $ en $ y $ positief zijn). Als voorbeelden biedt het hun max, min en rekenkundig gemiddelde (met en zonder de absolute waarden van $ x $ en $ y $ zelf te nemen), maar men zou andere soorten gemiddelden kunnen overwegen, zoals het geometrisch gemiddelde $ \ sqrt {| xy |} $, het harmonische gemiddelde $ 2 / (1 / | x | + 1 / | y |) $ en $ L ^ p $ betekent $ ((| x | ^ p + | y | ^ p) / 2) ^ { 1 / p} $. ($ d_1 $ komt overeen met $ p = 1 $ en $ d_ \ infty $ komt overeen met de limiet als $ p \ to \ infty $.) Men zou een $ f $ kunnen kiezen op basis van het verwachte statistische gedrag van $ x $ en $ y $. Met ongeveer lognormale verdelingen zou het meetkundig gemiddelde bijvoorbeeld een aantrekkelijke keuze zijn voor $ f $ omdat het in die omstandigheid een zinvol gemiddelde is.


De meeste van deze formules stuiten op moeilijkheden wanneer de noemer gelijk is aan nul. In veel toepassingen is dat niet mogelijk of is het onschadelijk om het verschil op nul te zetten als $ x = y = 0 $.

Merk op dat al deze definities een fundamentele onveranderlijkheid delen eigenschap: wat de relatieve verschilfunctie $ d $ ook mag zijn, het verandert niet wanneer de argumenten uniform worden herschaald met $ \ lambda \ gt 0 $:

$$ d (x, y) = d ( \ lambda x, \ lambda y). $$

Door deze eigenschap kunnen we $ d $ beschouwen als een relatief verschil. Dus in het bijzonder een niet-invariante functie zoals

$$ d (x, y) =? \ \ Frac {| xy |} {1 + | y |} $$

komt gewoon niet in aanmerking. Welke deugden het ook mag hebben, het drukt geen relatief verschil uit.


Het verhaal eindigt hier niet. We vinden het misschien zelfs vruchtbaar om de implicaties van invariantie nog wat verder uit te breiden.

De set van alle geordende paren van reële getallen $ (x, y) \ ne (0,0) $ waarbij $ (x, y) $ wordt beschouwd als hetzelfde als $ (\ lambda x, \ lambda y) $ is de Echte projectieve lijn $ \ mathbb {RP} ^ 1 $. Zowel in topologische als in algebraïsche zin is $ \ mathbb {RP} ^ 1 $ een cirkel. Elke $ (x, y) \ ne (0,0) $ bepaalt een unieke lijn door de oorsprong $ (0,0) $. Als $ x \ ne 0 $ is, is de helling $ y / x $; anders kunnen we de helling ervan beschouwen als “oneindig” (en hetzij negatief hetzij positief). Een buurt van deze verticale lijn bestaat uit lijnen met extreem grote positieve of extreem grote negatieve hellingen. We kunnen al deze regels parametriseren in termen van hun hoek $ \ theta = \ arctan (y / x) $, met $ – \ pi / 2 \ lt \ theta \ le \ pi / 2 $.Geassocieerd met elk van deze $ \ theta $ is een punt op de cirkel,

$$ (\ xi, \ eta) = (\ cos (2 \ theta), \ sin (2 \ theta)) = \ left (\ frac {x ^ 2-y ^ 2} {x ^ 2 + y ^ 2}, \ frac {2xy} {x ^ 2 + y ^ 2} \ right). $$

Elke afstand gedefinieerd op de cirkel kan daarom worden gebruikt om een relatief verschil te definiëren.

Als voorbeeld van waar dit toe kan leiden, beschouw de gebruikelijke (Euclidische) afstand op de cirkel, waarbij de afstand tussen twee punten de grootte is van de hoek ertussen. Het relatieve verschil is het kleinst wanneer $ x = y $, overeenkomend met $ 2 \ theta = \ pi / 2 $ (of $ 2 \ theta = -3 \ pi / 2 $ wanneer $ x $ en $ y $ tegengestelde tekens hebben). Vanuit dit oogpunt zou een natuurlijk relatief verschil voor positieve getallen $ x $ en $ y $ de afstand tot deze hoek zijn:

$$ d_S (x, y) = \ left | 2 \ arctan \ left (\ frac {y} {x} \ right) – \ pi / 2 \ right |. $$

Voor de eerste bestelling is dit de relatieve afstand $ | xy | / | y | $ – -maar het werkt zelfs als $ y = 0 $. Bovendien wordt het niet opgeblazen, maar in plaats daarvan (als een afstand met teken) is het beperkt tussen $ – \ pi / 2 $ en $ \ pi / 2 $, zoals deze grafiek aangeeft:

Figuur

Dit geeft aan hoe flexibel de keuzes zijn bij het selecteren van een manier om relatieve verschillen te meten.

Reacties

  • Bedankt voor het uitgebreide antwoord, wat is volgens jou de beste referentie voor deze regel: ” wordt vaak gebruikt als een relatieve tolerantietest in numerieke algoritmen met drijvende komma. Hetzelfde artikel wijst er ook op dat formules zoals d1d1 en d∞d∞ kunnen worden gegeneraliseerd naar ”
  • @Hammad Heb je de link naar het Wikipedia-artikel gevolgd?
  • Ja, ik heb een kijkje genomen op Wikipedia; ik denk dat ‘ s geen echte referentie (ook die regel is zonder enige referentie op de wiki)
  • trouwens, ik heb hier nooit een academische referentie voor gevonden 🙂 tandfonline.com/doi/abs/10.1080/00031305.1985.10479385
  • @KutalmisB Bedankt voor het opmerken dat: de ” min ” hoort daar helemaal niet ‘ thuis. Het lijkt erop dat het een overblijfsel is van een complexere formule die alle mogelijke tekenen van $ x $ en $ y $ behandelde die ik later vereenvoudigde. Ik heb het verwijderd.

Antwoord

Merk allereerst op dat je doorgaans de absolute waarde neemt bij het berekenen van het relatieve fout.

Een veel voorkomende oplossing voor het probleem is om te berekenen

$$ \ text {relatieve fout} = \ frac {\ left | x _ {\ text {true}} – x _ {\ text {test}} \ right |} {1+ \ left | x _ {\ text {true}} \ right |}. $$

Reacties

  • Dit is problematisch omdat het varieert afhankelijk van de maateenheden die voor de waarden zijn gekozen.
  • Dat ‘ s absoluut waar. Dit is geen ‘ een perfecte oplossing voor het probleem, maar het is een gebruikelijke benadering die redelijk goed werkt als $ x $ goed geschaald is.
  • Zou je kunnen uitweiden in uw antwoord op wat u bedoelt met ” goed geschaald “? Stel dat de gegevens afkomstig zijn van kalibratie van een waterig chemisch meetsysteem dat is ontworpen voor concentraties tussen $ 0 $ en $ 0,000001 $ mol / liter, waarmee een nauwkeurigheid van bijvoorbeeld drie significante cijfers kan worden bereikt. Uw ” relatieve fout ” zou daarom constant nul zijn, behalve voor duidelijk foutieve metingen. In het licht hiervan, hoe zou u dergelijke gegevens precies herschalen?
  • Uw voorbeeld is er een waarin de variabele niet ‘ t goed geschaald is. Met ” goed geschaald ” bedoel ik dat die variabele zo wordt geschaald dat deze waarden aanneemt in een klein bereik (van bijvoorbeeld een paar ordes van grootte) nabij 1. Als uw variabele waarden aanneemt over vele ordes van grootte, dan heeft u ‘ ernstiger schaalproblemen en is deze eenvoudige benadering niet ‘ t zal niet voldoende zijn.
  • Is er een referentie voor deze benadering? De naam van deze methode? Bedankt.

Antwoord

MAPE-formule

MAPE vinden,

Het is een zeer discutabel onderwerp en veel open source-bijdragers hebben het over het bovenstaande onderwerp gehad. De meest efficiënte aanpak tot nu toe wordt gevolgd door de ontwikkelaars. Raadpleeg dit PR voor meer informatie.

Antwoord

Ik was hier een tijdje een beetje in de war over. Uiteindelijk is dat omdat als je de relatieve fout ten opzichte van nul probeert te meten, je iets probeert te forceren dat simpelweg niet bestaat.

Als je erover nadenkt, vergelijk je appels met peren wanneer je de relatieve fout vergelijkt met de fout gemeten vanaf nul, omdat de fout gemeten vanaf nul gelijk is aan de gemeten waarde (daarom krijg 100% fout als je deelt door het testnummer).

Overweeg bijvoorbeeld de meetfout van de meterdruk (de relatieve druk van atmosferische druk) versus absolute druk. Stel dat u een instrument gebruikt om de manometerdruk te meten onder perfecte atmosferische omstandigheden, en uw apparaat heeft de atmosferische druk gemeten zodat het een fout van 0% moet registreren. Met behulp van de vergelijking die u heeft opgegeven, en eerst aangenomen dat we de gemeten overdruk hebben gebruikt, om de relatieve fout te berekenen: $$ \ text {relatieve fout} = \ frac {P_ {gauge, true} – P_ {gauge, test}} {P_ {gauge, true}} $$ Dan $ P_ {gauge, true} = 0 $ en $ P_ {gauge, test} = 0 $ en je krijgt geen 0% fout, maar is niet gedefinieerd. Dat komt omdat de feitelijke procentuele fout de absolute drukwaarden als volgt zou moeten gebruiken: $$ \ text {relatieve fout} = \ frac {P_ {absoluut, waar} -P_ {absoluut, test}} {P_ {absolute, true}} $$ Nu $ P_ {absolute, true} = 1atm $ en $ P_ {absolute, test} = 1atm $ en je krijgt 0% foutmelding. Dit is de juiste toepassing van relatieve fout. De oorspronkelijke applicatie die manometerdruk gebruikte, leek meer op “relatieve fout van de relatieve waarde”, wat iets anders is dan “relatieve fout”. U moet de meterdruk omrekenen naar absoluut voordat u de relatieve fout meet.

De oplossing voor uw vraag is ervoor te zorgen dat u te maken heeft met absolute waarden bij het meten van relatieve fouten, zodat nul geen mogelijkheid is. Dan krijg je feitelijk een relatieve fout en kun je die gebruiken als een onzekerheid of een maatstaf voor je echte foutpercentage. Als je je aan relatieve waarden moet houden, dan zou je absolute fout moeten gebruiken, omdat de relatieve (procentuele) fout zal veranderen afhankelijk van je referentiepunt.

Het is moeilijk om een concrete definitie op 0 te zetten. .. “Nul is het gehele getal 0 dat, wanneer het wordt gebruikt als een telnummer, betekent dat er geen objecten aanwezig zijn.” – Wolfram MathWorld http://mathworld.wolfram.com/Zero.html

Voel je vrij om te nitpikken, maar nul betekent in wezen niets, het is er niet. Daarom heeft het geen zin om manometerdruk te gebruiken bij het berekenen van relatieve fouten. , hoewel nuttig, gaat hij ervan uit dat er niets is bij atmosferische druk. We weten echter dat dit niet het geval is, omdat het een absolute druk heeft van 1 atm. De relatieve fout met betrekking tot niets bestaat dus gewoon niet, het is niet gedefinieerd .

Voel je vrij om hier tegen in te gaan, simpel gezegd: alle snelle oplossingen, zoals het toevoegen van een aan de laagste waarde, zijn defect en niet nauwkeurig. Ze kunnen nog steeds nuttig zijn als u gewoon probeert fouten te minimaliseren. Als u echter probeert om de onzekerheid nauwkeurig te meten, niet zozeer …

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *