Jak obliczyć błąd względny, gdy wartość prawda wynosi zero?
Powiedzmy, że mam $ x_ {true} = 0 $ i $ x_ {test} $. Jeśli zdefiniuję błąd względny jako:
$ \ text {błąd względny} = \ frac {x_ {true} -x_ {test}} {x_ {true}} $
Wtedy względny błąd jest zawsze nieokreślony. Jeśli zamiast tego użyję definicji:
$ \ text {błąd względny} = \ frac {x_ {true} -x_ {test}} {x_ {test}} $
Wtedy względny błąd wynosi zawsze 100%. Obie metody wydają się bezużyteczne. Czy jest inna alternatywa?
Komentarze
- Miałem dokładnie to samo pytanie dotyczące odchylenia parametrów w symulacjach Monte Carlo, używając twojej pierwszej definicji. Jedna z moich wartości parametru wynosiła 0, więc nie ' nie obliczyłem odchylenia parametru dla tego konkretnego parametru …
- Rozwiązaniem jest nieużywanie błędu względnego w w tym przypadku.
Odpowiedź
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 do ich średniej wielkości:
$$ d_1 (x, y) = \ frac {x – y} {( | x | + | y |) / 2} = 2 \ frac {x – y} {| x | + | y |}. $$
Jest to wyrażenie ze znakiem , dodatnie, gdy $ x $ przekracza $ y $ i ujemne, gdy $ y $ przekracza $ x $. Jego wartość zawsze zawiera się w przedziale od -2 $ do 2 $. Używając wartości bezwzględnych w mianowniku, obsługuje liczby ujemne w rozsądny sposób. W większości odniesień, które mogę znaleźć, takich jak Program naprawczy DEP stanu New Jersey dotyczący oceny jakości danych i wytycznych technicznych dotyczących oceny użyteczności danych , używa się wartości bezwzględnej $ d_1 $, ponieważ interesuje ich tylko wielkość względnego błędu.
Artykuł w Wikipedii na temat Względnej zmiany i różnicy zauważa, że
$$ d_ \ infty (x, y) = \ frac {| x – y |} {\ max (| x |, | y |)} $$
jest często używany jako test tolerancji względnej w algorytmach liczb zmiennoprzecinkowych. Ten sam artykuł wskazuje również, że formuły takie jak $ d_1 $ i $ d_ \ infty $ można uogólnić na
$$ d_f (x, y) = \ frac {x – y} {f (x, y)} $$
gdzie funkcja $ f $ zależy bezpośrednio od wielkości $ x $ i $ y $ (zwykle zakładając, że $ x $ i $ y $ są dodatnie). Jako przykłady podaje ich maksimum, minimum i średnią arytmetyczną (z i bez wzięcia samych wartości bezwzględnych $ x $ i $ y $), ale można rozważyć inne rodzaje średnich, takich jak średnia geometryczna $ \ sqrt {| xy |} $, średnia harmoniczna $ 2 / (1 / | x | + 1 / | y |) $ i $ L ^ p $ oznacza $ ((| x | ^ p + | y | ^ p) / 2) ^ { 1 / p} $. ($ d_1 $ odpowiada $ p = 1 $, a $ d_ \ infty $ odpowiada limitowi jak $ p \ do \ infty $.) Można wybrać $ f $ na podstawie oczekiwanego zachowania statystycznego $ x $ i $ y $. Na przykład, przy mniej więcej rozkładach log-normalnych, średnia geometryczna byłaby atrakcyjnym wyborem dla $ f $, ponieważ jest to znacząca średnia w tych okolicznościach.
Większość tych formuł napotyka trudności, gdy mianownik jest równy zero. W wielu aplikacjach jest to niemożliwe lub nieszkodliwe ustawienie różnicy na zero, gdy $ x = y = 0 $.
Zauważ, że wszystkie te definicje mają wspólną podstawową niezmienniczość właściwość: bez względu na to, jaka może być funkcja różnicy względnej $ d $, nie zmienia się, gdy argumenty są równomiernie przeskalowywane przez $ \ lambda \ gt 0 $:
$$ d (x, y) = d ( \ lambda x, \ lambda y). $$
To właśnie ta właściwość pozwala nam uznać $ d $ za różnicę względną . W szczególności niezmienna funkcja, taka jak
$$ d (x, y) =? \ \ Frac {| xy |} {1 + | y |} $$
po prostu się nie kwalifikuje. Jakiekolwiek cnoty może mieć, nie wyraża on względnej różnicy.
Na tym historia się nie kończy. Może nawet okazać się owocne posunięcie się nieco dalej z konsekwencjami niezmienności.
Zbiór wszystkie uporządkowane pary liczb rzeczywistych $ (x, y) \ ne (0,0) $ gdzie $ (x, y) $ uważa się za to samo co $ (\ lambda x, \ lambda y) $ jest Prawdziwa linia rzutowania $ \ mathbb {RP} ^ 1 $. Zarówno w sensie topologicznym, jak i algebraicznym $ \ mathbb {RP} ^ 1 $ jest okręgiem. Każde $ (x, y) \ ne (0,0) $ określa unikalną linię przechodzącą przez początek $ (0,0) $. Gdy $ x \ ne 0 $, jego nachylenie wynosi $ y / x $; w przeciwnym razie możemy uznać, że jego nachylenie jest „nieskończone” (i jest ujemne lub dodatnie). Sąsiedztwo tej pionowej linii składa się z linii o wyjątkowo dużych dodatnich lub wyjątkowo dużych ujemnych nachyleniach. Możemy sparametryzować wszystkie takie linie pod względem ich kąta $ \ theta = \ arctan (y / x) $, przy czym $ – \ pi / 2 \ lt \ theta \ le \ pi / 2 $.Z każdym takim $ \ theta $ związany jest punkt na okręgu,
$$ (\ 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). $$
Dowolna odległość zdefiniowana na okręgu może być zatem użyta do określenia względnej różnicy.
Jako przykład, do czego to może doprowadzić, rozważ zwykłą (euklidesową) odległość na okręgu, gdzie odległość między dwoma punktami jest wielkością kąta między nimi. Względna różnica jest najmniejsza, gdy $ x = y $, co odpowiada $ 2 \ theta = \ pi / 2 $ (lub $ 2 \ theta = -3 \ pi / 2 $, gdy $ x $ i $ y $ mają przeciwne znaki). Z tego punktu widzenia naturalną różnicą względną dla liczb dodatnich $ x $ i $ y $ byłaby odległość do tego kąta:
$$ d_S (x, y) = \ left | 2 \ arctan \ left (\ frac {y} {x} \ right) – \ pi / 2 \ right |. $$
W pierwszym rzędzie jest to odległość względna $ | xy | / | y | $ – -ale działa nawet wtedy, gdy $ y = 0 $. Co więcej, nie wysadza, ale zamiast tego (jako odległość ze znakiem) jest ograniczona między $ – \ pi / 2 $ a $ \ pi / 2 $, jak pokazuje ten wykres:
To podpowiedź, jak elastyczne są wybory przy wyborze sposobu mierzenia względnych różnic.
Komentarze
- Dziękuję za wyczerpującą odpowiedź. Jak myślisz, jaka jest najlepsza referencja dla tego wiersza: ” jest często używany jako test tolerancji względnej w algorytmach liczb zmiennoprzecinkowych. Ten sam artykuł wskazuje również, że formuły takie jak d1d1 i d andd∞ można uogólnić na ”
- @Hammad Czy skorzystałeś z linku do artykułu w Wikipedii?
- Tak! Zajrzałem do Wikipedii; myślę, że ' s nie jest to rzeczywiste odniesienie (również ta linia jest bez odniesienia na wiki)
- przy okazji, nieważne znalazłem akademickie odniesienie do tego 🙂 tandfonline.com/doi/abs/10.1080/00031305.1985.10479385
- @KutalmisB Dziękuję za uwagę: ” min ” nie ' w ogóle tam nie należy. Wygląda na to, że mógł to być pozostałość po bardziej złożonej formule obsługującej wszystkie możliwe znaki $ x $ i $ y $, które później uprościłem. Usunąłem go.
Odpowiedź
Po pierwsze, zwróć uwagę, że przy obliczaniu wartości względnej zazwyczaj przyjmujesz wartość bezwzględną błąd.
Typowym rozwiązaniem tego problemu jest obliczenie
$$ \ text {błąd względny} = \ frac {\ left | x _ {\ text {true}} – x _ {\ text {test}} \ right |} {1+ \ left | x _ {\ text {true}} \ right |}. $$
Komentarze
- Jest to problematyczne, ponieważ różni się w zależności od jednostek miary wybranych dla wartości.
- Że ' jest absolutnie prawdziwe. To nie jest ' idealne rozwiązanie problemu, ale jest to powszechne podejście, które działa dość dobrze, gdy $ x $ jest dobrze wyskalowane.
- Czy mógłbyś to rozwinąć w Twoja odpowiedź na temat tego, co masz na myśli, mówiąc ” dobrze wyskalowany „? Na przykład załóżmy, że dane pochodzą z kalibracji wodnego systemu pomiaru chemikaliów zaprojektowanego dla stężeń od 0 USD do 0,000001 USD mola / litr, który może osiągnąć dokładność, powiedzmy, trzech cyfr znaczących. Twój ” błąd względny ” byłby zatem stale zerowy, z wyjątkiem oczywiście błędnych pomiarów. W świetle powyższego, jak dokładnie przeskalowałbyś takie dane?
- Twój przykład to taki, w którym zmienna nie jest ' dobrze wyskalowana. Przez ” dobrze wyskalowane ” mam na myśli, że ta zmienna jest skalowana tak, że przyjmuje wartości z małego zakresu (np. Kilka rzędu wielkości) w pobliżu 1. Jeśli zmienna przyjmuje wartości o wiele rzędów wielkości, ' masz poważniejsze problemy ze skalowaniem, a to proste podejście nie jest ' nie będzie odpowiednie.
- Jakieś odniesienie do tego podejścia? Nazwa tej metody? Dziękuję.
Odpowiedź
Znalezienie MAPE,
Jest to bardzo dyskusyjny temat i wielu autorów open source dyskutowało na powyższy temat. Jak dotąd najbardziej wydajne podejście jest stosowane przez programistów. Więcej informacji można znaleźć w tym dokumencie informacyjnym .
Odpowiedź
Przez chwilę byłem trochę zdezorientowany. W końcu to dlatego, że jeśli próbujesz zmierzyć względny błąd w odniesieniu do zera, to próbujesz wymusić coś, co po prostu nie istnieje.
Jeśli się nad tym zastanowisz, porównujesz jabłka z pomarańczami, porównując błąd względny z błędem mierzonym od zera, ponieważ błąd mierzony od zera jest równoważny wartości mierzonej (dlatego uzyskać błąd 100%, dzieląc przez liczbę testową).
Na przykład rozważmy błąd pomiaru ciśnienia względnego (względnego ciśnienia atmosferycznego) względem ciśnienia bezwzględnego. Powiedzmy, że używasz przyrządu do pomiaru ciśnienia manometrycznego w idealnych warunkach atmosferycznych, a Twoje urządzenie mierzyło punkt ciśnienia atmosferycznego tak, aby rejestrował błąd 0%. Korzystając z podanego przez Ciebie równania i zakładając najpierw, że użyliśmy zmierzonego ciśnienia względnego, do obliczenia błędu względnego: $$ \ text {Relative error} = \ frac {P_ {gauge, true} – P_ {gauge, test}} {P_ {gauge, true}} $$ Następnie $ P_ {gauge, true} = 0 $ i $ P_ {gauge, test} = 0 $ i nie otrzymujesz 0% błędu, zamiast tego jest on niezdefiniowany. Dzieje się tak, ponieważ rzeczywisty błąd procentowy powinien opierać się na takich wartościach ciśnienia bezwzględnego: $$ \ text {błąd względny} = \ frac {P_ {bezwzględne, prawda} -P_ {bezwzględne, test}} {P_ {bezwzględna, prawda}} $$ Teraz $ P_ {bezwzględna, prawda} = 1atm $ i $ P_ {bezwzględna, test} = 1atm $ i otrzymujesz 0% błędu. To jest właściwe zastosowanie względnego błędu. Oryginalna aplikacja, w której stosowano ciśnienie manometryczne, przypominała raczej „błąd względny wartości względnej”, co różni się od „błędu względnego”. Musisz przeliczyć ciśnienie manometryczne na bezwzględne przed pomiarem błędu względnego.
Rozwiązaniem twojego pytania jest upewnienie się, że podczas pomiaru błędu względnego masz do czynienia z wartościami bezwzględnymi, tak aby zero nie było możliwe. Wtedy faktycznie otrzymujesz błąd względny i możesz go użyć jako niepewności lub miernika twojego rzeczywistego błędu procentowego. Jeśli musisz trzymać się wartości względnych, powinieneś używać błędu bezwzględnego, ponieważ względny (procentowy) błąd będzie się zmieniał w zależności od twojego punktu odniesienia.
Trudno jest określić konkretną definicję na 0. .. „Zero to liczba całkowita oznaczona 0, która użyta jako liczba zliczana oznacza, że nie ma żadnych obiektów.” – Wolfram MathWorld http://mathworld.wolfram.com/Zero.html
Nie krępuj się wybierać, ale zero w zasadzie nic nie znaczy, go nie ma. Dlatego nie ma sensu używać ciśnienia manometrycznego przy obliczaniu błędu względnego. Ciśnienie manometryczne choć użyteczne, zakłada, że pod ciśnieniem atmosferycznym nic nie ma. Wiemy jednak, że tak nie jest, ponieważ ciśnienie bezwzględne wynosi 1 atm. Zatem względny błąd w odniesieniu do niczego, po prostu nie istnieje, jest nieokreślony .
Możesz się spierać z tym, po prostu: wszelkie szybkie poprawki, takie jak dodanie jednego do najniższej wartości, są błędne 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 tak bardzo …