Hvordan beregner jeg relativ feil når den sanne verdien er null?
Si at jeg har $ x_ {true} = 0 $ og $ x_ {test} $. Hvis jeg definerer relativ feil som:
$ \ text {relative error} = \ frac {x_ {true} -x_ {test}} {x_ {true}} $
Så den relative feilen er alltid udefinert. Hvis jeg i stedet bruker definisjonen:
$ \ text {relative error} = \ frac {x_ {true} -x_ {test}} {x_ {test}} $
Så den relative feilen er alltid 100%. Begge metodene virker ubrukelige. Er det et annet alternativ?
Kommentarer
- Jeg hadde nøyaktig det samme spørsmålet angående parameterforstyrrelser i Monte Carlo-simuleringer, ved å bruke din første definisjon. En av parameterverdiene mine var 0, så jeg beregnet ikke ‘ parameterforstyrrelse for denne parameteren …
- Løsningen er å ikke bruke relativ feil i denne saken.
Svar
Det er mange alternativer , avhengig av formålet.
En vanlig er «Relativ prosent forskjell», eller RPD, brukt i laboratoriekvalitets kontrollprosedyrer. Selv om du kan finne mange tilsynelatende forskjellige formler, kommer de alle sammen til å sammenligne forskjellen mellom to verdier med gjennomsnittlig størrelse:
$$ d_1 (x, y) = \ frac {x – y} {( | x | + | y |) / 2} = 2 \ frac {x – y} {| x | + | y |}. $$
Dette er et signert uttrykk, positivt når $ x $ overstiger $ y $ og negativt når $ y $ overstiger $ x $. Verdien ligger alltid mellom $ -2 $ og $ 2 $. Ved å bruke absolutte verdier i nevneren, håndterer den negative tall på en rimelig måte. De fleste referansene jeg kan finne, for eksempel New Jersey DEP Site Remediation Program Data Quality Assessment and Data Usability Evaluation Technical Guidance , bruker den absolutte verdien på $ d_1 $ fordi de bare er interessert i størrelsen på den relative feilen.
A Wikipedia-artikkelen om Relativ endring og forskjell observerer at
$$ d_ \ infty (x, y) = \ frac {| x – y |} {\ max (| x |, | y |)} $$
brukes ofte som en relativ toleransetest i numeriske algoritmer med flytende punkt. Den samme artikkelen påpeker også at formler som $ d_1 $ og $ d_ \ infty $ kan generaliseres til
$$ d_f (x, y) = \ frac {x – y} {f (x, y)} $$
der funksjonen $ f $ avhenger direkte av størrelsen på $ x $ og $ y $ (vanligvis forutsatt at $ x $ og $ y $ er positive). Som eksempler gir det maks, min og aritmetisk gjennomsnitt (med og uten å ta de absolutte verdiene på $ x $ og $ y $ selv), men man kan tenke på andre slags gjennomsnitt som det geometriske gjennomsnittet $ \ sqrt {| xy |} $, det harmoniske gjennomsnittet $ 2 / (1 / | x | + 1 / | y |) $ og $ L ^ p $ betyr $ ((| x | ^ p + | y | ^ p) / 2) ^ { 1 / p} $. ($ d_1 $ tilsvarer $ p = 1 $ og $ d_ \ infty $ tilsvarer grensen som $ p \ til \ infty $.) Man kan velge en $ f $ basert på forventet statistisk oppførsel på $ x $ og $ y $. For eksempel, med omtrent lognormale fordelinger, vil det geometriske gjennomsnittet være et attraktivt valg for $ f $ fordi det er et meningsfylt gjennomsnitt under den omstendigheten.
De fleste av disse formlene får vanskeligheter når nevneren er lik null. I mange applikasjoner er det enten ikke mulig eller det er ufarlig å sette differansen til null når $ x = y = 0 $.
Merk at alle disse definisjonene deler en grunnleggende invarians egenskap: uansett hvilken relativ forskjellsfunksjon $ d $ kan være, endres den ikke når argumentene skaleres ensartet av $ \ lambda \ gt 0 $:
$$ d (x, y) = d ( \ lambda x, \ lambda y). $$
Det er denne egenskapen som lar oss anse $ d $ for å være en relativ forskjell. Spesielt en ikke-invariant funksjon som
$$ d (x, y) =? \ \ Frac {| xy |} {1 + | y |} $$
kvalifiserer rett og slett ikke. Uansett hvilke dyder det måtte ha, uttrykker det ikke en slektning forskjell .
Historien ender ikke her. Vi kan til og med finne det fruktbart å skyve implikasjonene av invarians litt lenger.
Sett med alle bestilte par med reelle tall $ (x, y) \ ne (0,0) $ hvor $ (x, y) $ anses å være det samme som $ (\ lambda x, \ lambda y) $ er Real Projective Line $ \ mathbb {RP} ^ 1 $. I både topologisk og algebraisk forstand er $ \ mathbb {RP} ^ 1 $ en sirkel. Enhver $ (x, y) \ ne (0,0) $ bestemmer en unik linje gjennom opprinnelsen $ (0,0) $. Når $ x \ ne 0 $ er hellingen $ y / x $; ellers kan vi betrakte skråningen som «uendelig» (og enten negativ eller positiv). Et nabolag av denne vertikale linjen består av linjer med ekstremt store positive eller ekstremt store negative skråninger. Vi kan parameterisere alle slike linjer når det gjelder vinkelen $ \ theta = \ arctan (y / x) $, med $ – \ pi / 2 \ lt \ theta \ le \ pi / 2 $.Knyttet til hver slik $ \ theta $ er et punkt i sirkelen,
$$ (\ 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). $$
Enhver avstand definert på sirkelen kan derfor brukes til å definere en relativ forskjell.
Som et eksempel på hvor dette kan føre, bør du vurdere den vanlige (euklidiske) avstanden på sirkelen, hvoravstanden mellom to punkter er størrelsen på vinkelen mellom dem. Den relative forskjellen er minst når $ x = y $, tilsvarende $ 2 \ theta = \ pi / 2 $ (eller $ 2 \ theta = -3 \ pi / 2 $ når $ x $ og $ y $ har motsatte tegn). Fra dette synspunktet vil en naturlig relativ forskjell for positive tall $ x $ og $ y $ være avstanden til denne vinkelen:
$$ d_S (x, y) = \ left | 2 \ arctan \ venstre (\ frac {y} {x} \ høyre) – \ pi / 2 \ høyre |. $$
Til første ordre er dette den relative avstanden $ | xy | / | y | $ – -men det fungerer selv når $ y = 0 $. Dessuten sprenger den ikke, men i stedet (som signert avstand) er den begrenset mellom $ – \ pi / 2 $ og $ \ pi / 2 $, som denne grafen indikerer:
Dette antyder hvor fleksible valgene er når du velger en måte å måle relative forskjeller på.
Kommentarer
- Takk for det omfattende svaret. Hva synes du er den beste referansen for denne linjen: » brukes ofte som en relativ toleransetest i numeriske algoritmer med flytende punkt. Den samme artikkelen påpeker også at formler som d1d1 og d∞d∞ kan generaliseres til »
- @Hammad fulgte du lenken til Wikipedia-artikkelen?
- Ja! Jeg tok en titt på Wikipedia; jeg tror at ‘ s ikke en faktisk referanse (også den linjen er uten referanse på wiki)
- btw, nevermind Jeg fant en akademisk referanse for dette 🙂 tandfonline.com/doi/abs/10.1080/00031305.1985.10479385
- @KutalmisB Takk for at du la merke til at: » min » hører ikke ‘ til der i det hele tatt. Det ser ut til at det kan ha vært en rest av en mer kompleks formel som håndterte alle mulige tegn på $ x $ og $ y $ som jeg senere forenklet. Jeg har fjernet den.
Svar
Vær først oppmerksom på at du vanligvis tar den absolutte verdien i beregning av den relative feil.
En vanlig løsning på problemet er å beregne
$$ \ text {relative error} = \ frac {\ left | x _ {\ text {true}} – x _ {\ text {test}} \ right |} {1+ \ left | x _ {\ text {true}} \ right |}. $$
Kommentarer
- Dette er problematisk fordi det varierer avhengig av måleenhetene som er valgt for verdiene.
- At ‘ s helt sant. Dette er ikke ‘ en perfekt løsning på problemet, men det er en vanlig tilnærming som fungerer rimelig bra når $ x $ er godt skalert.
- Kan du utdype i svaret ditt på hva du mener med » godt skalert «? Anta for eksempel at dataene kommer fra kalibrering av et vandig kjemisk målesystem designet for konsentrasjoner mellom $ 0 $ og $ 0,000001 $ mol / liter som kan oppnå en presisjon på for eksempel tre signifikante sifre. Din » relative feil » vil derfor være konstant null bortsett fra åpenbart feilaktige målinger. På bakgrunn av dette, hvordan ville du nøyaktig omskalere slike data?
- Ditt eksempel er en der variabelen ikke er ‘ ikke godt skalert. Med » godt skalert «, mener jeg at variabelen skaleres slik at den får verdier i et lite område (f.eks. Et par av størrelsesordener) nær 1. Hvis variabelen din får verdier over mange størrelsesordener enn deg ‘ har vi fått mer alvorlige skaleringsproblemer, og denne enkle tilnærmingen er ikke ‘ t blir tilstrekkelig.
- Noen referanser for denne tilnærmingen? Navnet på denne metoden? Takk.
Svar
Finding MAPE,
Det er veldig diskutabelt tema, og mange open source-bidragsytere har diskutert om ovennevnte emne. Den mest effektive tilnærmingen til nå følges av utviklerne. Se denne PR for å vite mer.
Svar
Jeg var litt forvirret på dette en stund. Til slutt er det fordi hvis du prøver å måle relativ feil i forhold til null, prøver du å tvinge noe som rett og slett ikke eksisterer.
Hvis du tenker på det, sammenligner du epler med appelsiner når du sammenligner relativ feil med feilen målt fra null, fordi feilen målt fra null tilsvarer den målte verdien (det er derfor du få 100% feil når du deler med testnummeret.
Tenk for eksempel å måle feil på målingstrykket (det relative trykket fra atmosfærisk) mot absolutt trykk. Si at du bruker et instrument til å måle målertrykket under perfekte atmosfæriske forhold, og enheten din målte atmosfæretrykk på slik at det skulle registrere 0% feil. Ved å bruke ligningen du oppga, og først anta at vi brukte det målte målertrykket, for å beregne relativ feil: $$ \ text {relative error} = \ frac {P_ {gauge, true} – P_ {gauge, test}} {P_ {gauge, true}} $$ Deretter $ P_ {gauge, true} = 0 $ og $ P_ {gauge, test} = 0 $ og du får ikke 0% feil, i stedet er den udefinert. Det er fordi den faktiske prosentvise feilen skal bruke de absolutte trykkverdiene slik: $$ \ text {relative error} = \ frac {P_ {absolute, true} -P_ {absolute, test}} {P_ {absolute, true}} $$ Nå $ P_ {absolute, true} = 1 atm $ og $ P_ {absolutt, test} = 1 atm $ og du får 0% feil. Dette er riktig anvendelse av relativ feil. Den opprinnelige applikasjonen som brukte målertrykk var mer som «relativ feil av den relative verdien», som er en annen ting enn «relativ feil». Du må konvertere målertrykket til absolutt før du måler den relative feilen.
Løsningen på spørsmålet ditt er å sørge for at du har å gjøre med absolutte verdier når du måler relativ feil, slik at null ikke er en mulighet. Da får du faktisk relativ feil, og kan bruke det som en usikkerhet eller en beregning av den virkelige prosentfeilen din. Hvis du må holde deg til relative verdier, bør du bruke absolutt feil, fordi den relative (prosent) feilen vil endres avhengig av referansepunktet ditt.
Det er vanskelig å sette en konkret definisjon på 0. .. «Null er heltallet betegnet 0 som, når det brukes som et tall, betyr at ingen objekter er til stede.» – Wolfram MathWorld http://mathworld.wolfram.com/Zero.html
Du er velkommen til å velge, men null betyr egentlig ingenting, det er ikke der. Derfor er det ikke fornuftig å bruke målingstrykk når du beregner relativ feil. , men nyttig, antar at det ikke er noe ved atmosfæretrykk. Vi vet at dette ikke er tilfelle, fordi det har et absolutt trykk på 1 atm. Dermed eksisterer den relative feilen i forhold til ingenting bare ikke, den er udefinert .
Argumenter mot dette, rett og slett: eventuelle hurtigreparasjoner, for eksempel å legge til en til bunnverdien, er feil og ikke nøyaktige. De kan fortsatt være nyttige hvis du bare prøver å minimere feil. Hvis du prøver å gjøre nøyaktige målinger av usikkerhet, ikke så mye …