Como calcular o erro relativo quando o valor verdadeiro é zero?

32

Como calculo o erro relativo quando o valor verdadeiro é zero?

Digamos que eu tenho e . Se eu definir erro relativo como:x t e s txtrue=0xtest

relative error=xtruextestxtrue

Então o erro relativo é sempre indefinido. Se, em vez disso, eu usar a definição:

relative error=xtruextestxtest

Então o erro relativo é sempre 100%. Ambos os métodos parecem inúteis. Existe outra alternativa?

okj
fonte
Eu tive exatamente a mesma pergunta em relação ao viés de parâmetro nas simulações de Monte Carlo, usando sua primeira definição. Um dos meus valores do parâmetro é 0, então eu não sabia viés parâmetro calcular para este parâmetro em particular ...
Patrick Coulombe
2
A solução é não usar erro relativo neste caso.
Marc Claesen
2
Uma opção, que responde à intenção, se não a letra da sua pergunta, é usar uma medida ligeiramente diferente que esteja de acordo com o erro relativo quando o erro relativo for pequeno, como . (Use quando ) Essa solução específica é universal, pois é invariável sob uma alteração na unidade de medida (porque não envolve constantes arbitrárias). 0 x verdadeiro = x teste = 02(xtruextest)/(|xtrue|+|xtest|)0xtrue=xtest=0
whuber
@whuber Eu acho que você deveria postar esse comentário como resposta, já que parece superior aos existentes.
Silverfish
@ Silver Você está certo - peço desculpas por postar uma resposta como comentário. Portanto, ampliei levemente esse comentário para uma resposta.
whuber

Respostas:

39

Existem muitas alternativas, dependendo da finalidade.


Uma comum é a "Diferença percentual relativa", ou RPD, usada em procedimentos de controle de qualidade de laboratório. Embora você possa encontrar muitas fórmulas aparentemente diferentes, todas se resumem a comparar a diferença de dois valores com a magnitude média:

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

Esta é uma expressão assinada , positiva quando excede e negativa quando excede . Seu valor sempre fica entre e . Ao usar valores absolutos no denominador, ele lida com números negativos de maneira razoável. A maioria das referências que posso encontrar, como o Guia de Avaliação de Qualidade de Dados do Programa de Remediação de Locais DEP de Nova Jersey e Orientação Técnica de Avaliação de Usabilidade de Dados , usa o valor absoluto de porque eles estão interessados ​​apenas na magnitude do erro relativo.y y x - 2 2 d 1xyyx22d1


Um artigo da Wikipedia sobre Mudança e Diferença Relativa observa que

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

é freqüentemente usado como teste de tolerância relativa em algoritmos numéricos de ponto flutuante. O mesmo artigo também aponta que fórmulas como e podem ser generalizadas parad d1d

df(x,y)=x-yf(x,y)

onde a função depende diretamente das magnitudes de e (geralmente assumindo que e são positivos). Como exemplos, ele oferece a média max, min e aritmética (com e sem os próprios valores absolutos de e ), mas é possível contemplar outros tipos de médias, como a média geométrica , a harmônica média e significa . ( corresponde a e corresponde ao limite quantox y x y x y fxyxyxy2/(1/|x|+1/|y|)Lp((|x|p+|y|xy|2/(1/|x|+1/|y|)Lp d 1 p = 1 d p f x y f((|x|p+|y|p)/2)1/pd1p=1dp .) Pode-se escolher um base no comportamento estatístico esperado de e . Por exemplo, com distribuições aproximadamente logormais, a média geométrica seria uma opção atraente para porque é uma média significativa nessa circunstância.fxyf


A maioria dessas fórmulas encontra dificuldades quando o denominador é igual a zero. Em muitas aplicações, isso não é possível ou é inofensivo definir a diferença como zero quando .x=y=0

Observe que todas essas definições compartilham uma propriedade de invariância fundamental: qualquer que seja a função de diferença relativa , ela não muda quando os argumentos são redimensionados uniformemente por :λ > 0dλ>0

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

É essa propriedade que nos permite considerar uma diferença relativa . Assim, em particular, uma função não invariável comod

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

simplesmente não se qualifica. Quaisquer que sejam as virtudes, ela não expressa uma diferença relativa .


A história não acaba aqui. Podemos até achar proveitoso avançar um pouco mais as implicações da invariância.

O conjunto de todos os pares ordenados de números reais que é considerado o mesmo que é a linha projetiva real . No sentido topológico e no sentido algébrico, é um círculo. Qualquer determina uma linha exclusiva através da origem . Quando sua inclinação é( x , y ) ( λ x , λ y ) R P 1 R P 1 ((x,y)(0,0)(x,y)(λx,λy) RP1RP1( 0 , 0 ) x 0 y / x θ = arctan ( y / x ) - π(x,y)(0,0)(0,0)x0y/x; caso contrário, podemos considerar sua inclinação como "infinita" (e negativa ou positiva). Uma vizinhança dessa linha vertical consiste em linhas com declives positivos extremamente grandes ou negativos extremamente grandes. Podemos parametrizar todas essas linhas em termos de seu ângulo , com . Associado a cada há um ponto no círculo,θ=arctan(y/x)θπ/2<θπ/2θ

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

Qualquer distância definida no círculo pode, portanto, ser usada para definir uma diferença relativa.

Como exemplo de onde isso pode levar, considere a distância usual (euclidiana) no círculo, em que a distância entre dois pontos é o tamanho do ângulo entre eles. A diferença relativa é menor quando , correspondente a (ou quando e têm sinais opostos). Desse ponto de vista, uma diferença relativa natural para os números positivos e seria a distância desse ângulo:2 θ = π / 2 2 θ = - 3 π / 2 x y x yx=y2θ=π/22θ=-3π/2xyxy

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

Para a primeira ordem, essa é a distância relativa--mas funciona mesmo quando . Além disso, ele não explode, mas em vez disso (como uma distância sinalizada) é limitado entre e , pois este gráfico indica:y = 0 - π / 2 π / 2|xy|/|y|y=0π/2π/2

Figura

Isso sugere como as opções são flexíveis ao selecionar uma maneira de medir diferenças relativas.

whuber
fonte
Obrigado pela resposta abrangente, qual você acha que é a melhor referência para esta linha: "é freqüentemente usado como teste de tolerância relativa em algoritmos numéricos de ponto flutuante. O mesmo artigo também aponta que fórmulas como d1d1 e d∞d∞ podem ser generalizado para "
Hammad Haleem 20/07
1
btw, deixa pra lá eu encontrei uma referência acadêmica para este :) tandfonline.com/doi/abs/10.1080/00031305.1985.10479385
Hammad Haleem
4
Por que isso não foi selecionado como resposta? (desculpe se isso não é um comentário adequado, mas esta é a melhor resposta até agora)
Brash Equilibrium
2
@Brash Agradeço o sentimento. A aceitação é exclusivamente a província do proponente original: ninguém pode substituir isso (exceto excluindo a postagem aceita). Em algumas ocasiões em que me sinto como você, publico comentários que mostram explicitamente como e por que algumas respostas são melhores ou mais dignas de nota do que outras. Mesmo que isso não mude nada, esses comentários podem tornar o material um pouco mais útil ou compreensível para futuros leitores: e esse é, em última análise, o objetivo de nosso trabalho neste site.
whuber
1
@KutalmisB Obrigado por perceber que: o "min" não pertence a ele. Parece que pode ter sido um vestígio de uma fórmula mais complexa que lidava com todos os possíveis sinais de e que simplifiquei mais tarde. Eu o removi. xy
whuber
11

Primeiro, observe que você normalmente assume o valor absoluto ao calcular o erro relativo.

Uma solução comum para o problema é calcular

erro relativo=|xverdade-xteste|1+|xverdade|.
Brian Borchers
fonte
3
Isso é problemático, pois varia de acordo com as unidades de medida escolhidas para os valores.
whuber
1
Isso é absolutamente verdade. Essa não é uma solução perfeita para o problema, mas é uma abordagem comum que funciona razoavelmente bem quando é bem dimensionado. x
Brian Borchers
Você poderia elaborar em sua resposta o que você quer dizer com "bem dimensionado"? Por exemplo, suponha que os dados surjam da calibração de um sistema de medição químico aquoso projetado para concentrações entre e moles / litro, o que pode atingir uma precisão de, digamos, três dígitos significativos. Seu "erro relativo" seria, portanto, constantemente zero, exceto para medidas obviamente erradas. À luz disso, como exatamente você redimensionaria esses dados? 0,0000010 00,000001
whuber
1
Seu exemplo é aquele em que a variável não está bem dimensionada. Por "bem dimensionado", quero dizer que essa variável é dimensionada para assumir valores em um pequeno intervalo (por exemplo, algumas ordens de magnitude) próximo a 1. Se a sua variável assumir valores acima de muitas ordens de magnitude que você ' temos problemas de escala mais sérios e essa abordagem simples não será adequada.
Brian Borchers
2
Alguma referência para esta abordagem? O nome desse método? Obrigado.
CroCo
0

Fiquei um pouco confuso sobre isso por um tempo. No final, é porque se você está tentando medir um erro relativo em relação a zero, está tentando forçar algo que simplesmente não existe.

Se você pensar bem, estará comparando maçãs com laranjas ao comparar o erro relativo ao erro medido a partir de zero, porque o erro medido a partir de zero é equivalente ao valor medido (é por isso que você recebe 100% de erro ao dividir pelo valor número do teste).

Por exemplo, considere o erro de medição da pressão do manômetro (a pressão relativa da atmosfera) versus a pressão absoluta. Digamos que você use um instrumento para medir a pressão do manômetro em condições atmosféricas perfeitas, e seu dispositivo mediu o ponto de pressão atmosférica para que ele registre 0% de erro. Usando a equação que você forneceu, e primeiro assumindo que usamos a pressão medida do manômetro, para calcular o erro relativo: Então e e você não obtém 0% de erro; em vez disso, é indefinido. Isso ocorre porque o erro percentual real deve estar usando os valores de pressão absoluta como este:

erro relativo=Pgumavocêge,trvocêe-Pgumavocêge,testPgumavocêge,trvocêe
Pgumavocêge,trvocêe=0 0Pgumavocêge,test=0 0
erro relativo=Pumabsoeuvocête,trvocêe-Pumabsoeuvocête,testPumabsoeuvocête,trvocêe
Agora e e você recebe 0% de erro. Esta é a aplicação adequada de erro relativo. O aplicativo original que usava pressão manométrica era mais parecido com "erro relativo do valor relativo", que é algo diferente de "erro relativo". Você precisa converter a pressão do manômetro em absoluto antes de medir o erro relativo.Pumabsoeuvocête,trvocêe=1umatmPumabsoeuvocête,test=1umatm

A solução para sua pergunta é garantir que você esteja lidando com valores absolutos ao medir o erro relativo, para que o zero não seja uma possibilidade. Na verdade, você está recebendo um erro relativo e pode usá-lo como uma incerteza ou uma métrica do seu percentual de erro real. Se você deve manter os valores relativos, deve usar o erro absoluto, porque o erro relativo (em porcentagem) mudará dependendo do seu ponto de referência.

É difícil colocar uma definição concreta em 0 ... "Zero é o número inteiro denotado 0 que, quando usado como número de contagem, significa que nenhum objeto está presente." - Wolfram MathWorld http://mathworld.wolfram.com/Zero.html

Sinta-se livre para escolher nit, mas zero significa essencialmente nada, não está lá. É por isso que não faz sentido usar a pressão manométrica ao calcular o erro relativo. A pressão manométrica, embora útil, assume que não há nada na pressão atmosférica. Sabemos que esse não é o caso, porque ele tem uma pressão absoluta de 1 atm. Assim, o erro relativo em relação a nada, simplesmente não existe, é indefinido.

Sinta-se à vontade para argumentar contra isso, basta colocar: qualquer solução rápida, como adicionar uma ao valor mais baixo, está com defeito e não é precisa. Eles ainda podem ser úteis se você estiver simplesmente tentando minimizar o erro. Se você está tentando fazer medições precisas de incerteza, não muito ...

Tim Johnsen
fonte
0

Fórmula MAPE

Localizando MAPE,

É um tópico muito discutível e muitos colaboradores de código aberto discutiram sobre o tópico acima. A abordagem mais eficiente até agora é seguida pelos desenvolvedores. Consulte este PR para saber mais.

layman_brother
fonte