Jak obliczyć błąd względny, gdy prawdziwa wartość wynosi zero?

32

Jak obliczyć błąd względny, gdy prawdziwa wartość wynosi zero?

Powiedz, że mam i . Jeśli zdefiniuję błąd względny jako:xtrue=0xtest

relative error=xtruextestxtrue

Wówczas błąd względny jest zawsze niezdefiniowany. Jeśli zamiast tego użyję definicji:

relative error=xtruextestxtest

Wówczas błąd względny wynosi zawsze 100%. Obie metody wydają się bezużyteczne. Czy jest inna alternatywa?

okej
źródło
Miałem dokładnie to samo pytanie dotyczące odchylenia parametrów w symulacji Monte Carlo, używając twojej pierwszej definicji. Jedną z moich wartości parametru było 0, więc nie obliczyłem odchylenia parametru dla tego konkretnego parametru ...
Patrick Coulombe
2
Rozwiązaniem jest w tym przypadku nie stosowanie błędu względnego.
Marc Claesen
2
Jedną z opcji, która odpowiada na zamiar, jeśli nie litera twojego pytania, jest użycie nieco innej miary, która ściśle zgadza się z błędem względnym, gdy błąd względny jest mały, na przykład . (Użyj gdy ). To konkretne rozwiązanie jest uniwersalne, ponieważ jest niezmienne przy zmianie jednostki miary (ponieważ nie obejmuje żadnych arbitralnych stałych). 2(xtruextest)/(|xtrue|+|xtest|)0xtrue=xtest=0
whuber
@ whuber Myślę, że powinieneś rozważyć opublikowanie tego komentarza jako odpowiedzi, ponieważ wydaje się on lepszy od istniejących.
Silverfish,
@Silver Masz rację - przepraszam za opublikowanie odpowiedzi jako komentarza. Dlatego nieznacznie rozszerzyłem ten komentarz na odpowiedź.
whuber

Odpowiedzi:

39

Istnieje wiele alternatyw, w zależności od celu.


Powszechną jest „względna różnica procentowa” lub RPD, stosowana w laboratoryjnych procedurach kontroli jakości. Chociaż można znaleźć wiele pozornie różnych formuł, wszystkie sprowadzają się do porównania różnicy dwóch wartości ze średnią wielkością:

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

Jest to podpisane Wyrażenie dodatni, gdy przekracza Y i ujemny, gdy Y przekracza X . Jego wartość zawsze wynosi od - 2 do 2 . Wykorzystując wartości bezwzględne w mianowniku, obsługuje liczby ujemne w rozsądny sposób. Większość referencji, które mogę znaleźć, takich jak Program naprawy witryny DEP w New Jersey Ocena jakości danych i Ocena użyteczności danych Wytyczne techniczne , wykorzystują wartość bezwzględną d 1, ponieważ są zainteresowani jedynie wielkością błędu względnego.xyyx22d1


Artykuł Wikipedii na przemian względna i różnica zauważa, że

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

jest często stosowany jako test tolerancji względnej w algorytmach zmiennoprzecinkowych. Ten sam artykuł wskazuje również, że formuły takie jak i d mogą być uogólnione nad1d

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

gdzie funkcja zależy bezpośrednio od wielkości x i y (zwykle przy założeniu, że x i y są dodatnie). Jako przykłady oferuje ich max min, a średnią arytmetyczną (z lub bez podejmowania bezwzględnych wartości X i Y się), ale można rozważać inne rodzaje średnich takich jak średnia geometryczna fxyxyxy, średnia harmoniczna2/(1/|x|+1/|y|),aLpoznacza((|x|p+|y|p)/2)1 / p. (d1odpowiadap=1,adodpowiada granicy jakop|xy|2/(1/|x|+1/|y|)Lp((|x|p+|y|p)/2)1/pd1p=1d ). Można by wybrać f na podstawie oczekiwanego zachowania statystycznej x i y . Na przykład przy rozkładach w przybliżeniu logarytmicznych średnia geometryczna byłaby atrakcyjnym wyborem dla f, ponieważ jest znaczącą średnią w tych okolicznościach.pfxyf


Większość z tych wzorów napotyka trudności, gdy mianownik jest równy zero. W wielu aplikacjach albo nie jest to możliwe, albo ustawienie różnicy na zero, gdy jest nieszkodliwe .x=y=0

Zauważ, że wszystkie te definicje mają wspólną właściwość niezmienniczości: niezależnie od tego, jaką może być funkcja różnicy względnej , nie zmienia się, gdy argumenty są równomiernie przeskalowane o λ > 0 :dλ>0

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

Ta właściwość pozwala nam uważać za różnicę względną . Zatem w szczególności funkcja niezmiennicza taka jakd

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

po prostu się nie kwalifikuje. Cokolwiek by to nie miało, nie wyraża względnej różnicy.


Historia nie kończy się tutaj. Możemy nawet uznać za owocne dalsze posunięcie implikacji niezmienniczości.

Zbiór wszystkich uporządkowanych par liczb rzeczywistych gdzie ( x , y ) jest uważany za taki sam, jak ( λ x , λ y ) jest rzeczywistą linią rzutową R P 1 . Zarówno w sensie topologicznym, jak i algebraicznym, R P 1 jest kołem. Dowolny ( x , y ) ( 0 , 0 )(x,y)(0,0)(x,y)(λx,λy) RP1RP1(x,y)(0,0)określa unikalną linię przez początek . Gdy x 0, jego nachylenie wynosi y / x ; w przeciwnym razie możemy uznać jego nachylenie za „nieskończone” (i albo ujemne, albo dodatnie). Sąsiedztwo tej linii pionowej składa się z linii o wyjątkowo dużych dodatnich lub bardzo dużych ujemnych nachyleniach. Możemy sparametryzować wszystkie takie linie pod kątem ich kąta θ = arctan ( y / x ) , przy - π / 2 < θ π / 2(0,0)x0y/xθ=arctan(y/x)π/2<θπ/2. Z każdym takim jest punkt na kole,θ

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

Można zatem użyć dowolnej odległości zdefiniowanej na okręgu, aby zdefiniować różnicę względną.

Jako przykład tego, gdzie może to prowadzić, rozważmy zwykłą (euklidesową) odległość na okręgu, przy czym odległość między dwoma punktami jest wielkością kąta między nimi. Względna różnica jest przynajmniej wtedy, gdy , co odpowiada 2 θ = π / 2 (lub 2 θ = - 3 π / 2 , gdy x i y mają przeciwne znaki). Z tego punktu widzenia naturalnym względna różnica liczb dodatnich x i y to jest odległość od tego kąta:x=y2θ=π/22θ=3π/2xyxy

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

Na pierwsze zamówienie jest to względna odległość - ale działa nawet, gdy y = 0 . Co więcej, nie wysadza, ale zamiast tego (jako podpisana odległość) jest ograniczona między - π / 2 a π / 2 , jak pokazuje ten wykres:|xy|/|y|y=0π/2π/2

Postać

Wskazuje to na elastyczność wyboru przy wyborze sposobu pomiaru różnic względnych.

Whuber
źródło
Dzięki za wyczerpującą odpowiedź, co Twoim zdaniem jest najlepszym odniesieniem dla tego wiersza: „jest często stosowany jako test tolerancji względnej w algorytmach zmiennoprzecinkowych. Ten sam artykuł wskazuje również, że formuły takie jak d1d1 i d∞d∞ mogą być uogólnione na ”
Hammad Haleem,
1
btw, nieważne znalazłem odniesienie akademickie na ten temat :) tandfonline.com/doi/abs/10.1080/00031305.1985.10479385
Hammad Haleem
4
Dlaczego nie wybrano tego jako odpowiedzi? (przepraszam, jeśli nie jest to odpowiedni komentarz, ale zdecydowanie lepsza odpowiedź)
Brash Equilibrium
2
@Brash Doceniam sentyment. Akceptacja jest wyłącznie domeną pierwotnego wnioskodawcy: nikt nie może tego pominąć (z wyjątkiem usunięcia przyjętego stanowiska). W niektórych przypadkach, kiedy czuję się tak jak Ty, zamieszczam komentarze, które wyraźnie wskazują, w jaki sposób i dlaczego niektóre odpowiedzi są lepsze lub bardziej godne uwagi niż inne. Nawet jeśli nic to nie zmieni, takie komentarze mogą uczynić materiał nieco bardziej użytecznym lub zrozumiałym dla przyszłych czytelników: i to ostatecznie jest celem naszej pracy na tej stronie.
whuber
1
@KutalmisB Dziękujemy za zauważenie, że: „min” w ogóle tam nie należy. Wygląda na to, może to być ślad bardziej złożonego wzoru, który obsługiwał wszystkie możliwe znaki i Y , które ja później uproszczone. Usunąłem to. xy
whuber
11

Po pierwsze, zauważ, że zazwyczaj bierzesz wartość bezwzględną przy obliczaniu błędu względnego.

Częstym rozwiązaniem tego problemu jest obliczanie

relative error=|xtruextest|1+|xtrue|.
Brian Borchers
źródło
3
Jest to problematyczne, ponieważ zmienia się w zależności od jednostek miary wybranych dla wartości.
whuber
1
x
00.000001
1
Twój przykład to taki, w którym zmienna nie jest dobrze skalowana. Przez „dobrze wyskalowane” rozumiem, że ta zmienna jest skalowana, tak że przyjmuje wartości w małym zakresie (np. Kilka rzędów wielkości) w pobliżu 1. Jeśli twoja zmienna przyjmuje wartości przekraczające wiele rzędów wielkości niż ty ” wystąpiły poważniejsze problemy ze skalowaniem i to proste podejście nie będzie odpowiednie.
Brian Borchers,
2
Wszelkie odniesienia do tego podejścia? Nazwa tej metody? Dziękuję Ci.
CroCo
0

Przez chwilę byłem trochę zdezorientowany. W końcu jest tak, ponieważ jeśli próbujesz zmierzyć błąd względny względem zera, to próbujesz wymusić coś, co po prostu nie istnieje.

Jeśli się nad tym zastanowić, porównuje się jabłka do pomarańczy, porównując błąd względny do błędu zmierzonego od zera, ponieważ błąd zmierzony od zera jest równoważny zmierzonej wartości (dlatego otrzymujemy błąd 100%, gdy dzielimy przez numer testu).

relative error=Pgauge,truePgauge,testPgauge,true
Pgauge,true=0Pgauge,test=0
relative error=Pabsolute,truePabsolute,testPabsolute,true
Pabsolute,true=1atmPabsolute,test=1atmi pojawia się błąd 0%. Jest to właściwe zastosowanie błędu względnego. Pierwotna aplikacja, w której stosowano ciśnienie manometryczne, bardziej przypominała „błąd względny wartości względnej”, co jest czymś innym niż „błąd względny”. Przed zmierzeniem błędu względnego należy przekonwertować ciśnienie manometru na wartość bezwzględną.

Rozwiązaniem twojego pytania jest upewnienie się, że masz do czynienia z wartościami bezwzględnymi podczas pomiaru błędu względnego, aby zero nie było możliwe. Wówczas pojawia się błąd względny i można go użyć jako niepewności lub miary rzeczywistego błędu procentowego. Jeśli musisz trzymać się wartości względnych, powinieneś używać błędu bezwzględnego, ponieważ błąd względny (procentowy) zmieni się w zależności od punktu odniesienia.

Trudno jest podać konkretną definicję na 0 ... „Zero to liczba całkowita oznaczona 0, która, gdy jest używana jako liczba zliczająca, oznacza, że ​​nie ma żadnych obiektów”. - Wolfram MathWorld http://mathworld.wolfram.com/Zero.html

Nie krępuj się wybierać, ale zero zasadniczo nic nie znaczy, nie ma go tam. Dlatego nie ma sensu używać ciśnienia manometrycznego przy obliczaniu błędu względnego. Ciśnienie manometryczne, choć przydatne, zakłada, że ​​pod ciśnieniem atmosferycznym nie ma nic. Wiemy, że tak nie jest, ponieważ ciśnienie bezwzględne wynosi 1 atm. Tak więc błąd względny w odniesieniu do niczego, po prostu nie istnieje, jest niezdefiniowany.

Nie przejmuj się tym, po prostu: wszelkie szybkie poprawki, takie jak dodanie jednego do dolnej wartości, są wadliwe i niedokładne. Mogą być nadal przydatne, jeśli po prostu próbujesz zminimalizować błąd. Jeśli jednak próbujesz dokonać dokładnych pomiarów niepewności, nie tyle ...

Tim Johnsen
źródło
0

Formula MAPE

Znalezienie MAPE,

Jest to bardzo dyskusyjny temat i wielu autorów oprogramowania typu open source dyskutowało na powyższy temat. Najbardziej wydajne do tej pory podejście jest stosowane przez programistów. Proszę zapoznać się z tym PR, aby dowiedzieć się więcej.

layman_brother
źródło