16 votos

¿Cómo calcular el error relativo cuando el valor verdadero es cero?

¿Cómo calculo el error relativo cuando el valor verdadero es cero?

Digamos que tengo $ x_ {verdadero} = 0 $ y $ x_ {prueba} $. Si defino el error relativo como:

$ \text {error relativo} = \frac {x_ {verdadero} -x_ {prueba}} {x_ {verdadero}} $

Luego, el error relativo siempre es indefinido. Si en cambio uso la definición:

$ \text {error relativo} = \frac {x_ {verdadero} -x_ {prueba}} {x_ {prueba}} $

Entonces, el error relativo siempre es del 100%. Ambos métodos parecen inútiles. ¿Hay otra alternativa?

1 votos

Necesitas un máximo para eso...

1 votos

Pregunta simple e interesante, de hecho. ¿Podrías decir en qué contexto te enfrentas a esta situación? Dependiendo de tu respuesta, hay posibles alternativas.

1 votos

@ClaudeLeibovici: Estoy trabajando en un problema de estimación de parámetros. Conozco el valor real del parámetro ($x_{true}$), y tengo datos de simulación a partir de los cuales infiero una estimación del parámetro ($x_{test}$). Quiero cuantificar el error, y parece que para mi caso particular el error relativo es más significativo que el error absoluto.

7voto

marcodv Puntos 56

Si esto se basa en algún tipo de situación del mundo real, entonces debería haber múltiples mediciones $x_{test}$, es decir, una distribución. Entonces tendrá una desviación estándar, o al menos cuantiles, y puedes definir la distancia desde la media de $x_{test}$ a $x_{true}$ en términos de estos. Por ejemplo, $(\mu_{test} - x_{true}) / \sigma_{test}$ te dará una especie de 'error relativizado'. También puedes aplicar pruebas estadísticas estándar para determinar la significancia, por ejemplo, el test t.

7voto

Claude Leibovici Puntos 54392

Antes que nada, permítanme precisar que no soy un estadístico, sino un físico muy preocupado por problemas numéricos en particular en el área de ajuste de datos a modelos.

Entonces, primero considera que tienes puntos de datos $[X(i),Y(i)]$ y que quieres ajustar un modelo como $$Y =a+b X+c X^2$$ Entre tus puntos de datos, tienes uno para el cual $Y(i)=0$. Si sabes que, para un valor específico y definido de $X=x$, tu modelo debe devolver $Y=0$, debes incluir esta condición y reescribir tu modelo como $$Y=b (X-x)+c (X-x)^2$$ Al hacer el análisis a posteriori, no debes considerar el punto de datos $[x,0]$ ya que, por construcción, ha sido excluido del conjunto de datos por la restricción (incluso puedes eliminar el punto de datos del conjunto de datos; esto no cambiará tus resultados en absoluto).

El otro problema es más general. Cuando tus $Y(i)$ son casi del mismo orden de magnitud, los errores que definen la función objetivo (digamos la suma de cuadrados) no son muy importantes. Pero, si los $Y(i)$ cubren un rango muy grande, minimizar la suma de cuadrados de los residuos da un peso increíble a los valores más altos y los valores pequeños de $Y$ tienen muy poco peso; típicamente, los valores bajos están bastante mal representados por el modelo.

Si deseas que todos los puntos de datos se representen con la misma calidad de ajuste, se requiere una regresión ponderada. Por mi parte, lo que suelo hacer es minimizar sistemáticamente la suma de los cuadrados de los errores relativos y, aquí, llegamos a tu pregunta específica: ¿qué hacer si, para un punto de datos, $Y=0$ ? Me he enfrentado a esta situación en un modelo para el cual no había una restricción evidente y decidí, hace mucho tiempo, definir el error relativo como $$\Delta =2 \frac{{Y_{cal}}-{Y_{exp}}}{{Y_{cal}}+{Y_{exp}}}$$ Si el error absoluto es pequeño, esto no hace ninguna diferencia; si el error absoluto es grande, esto limita el error a un tamaño manejable.

Espero y deseo que estas notas sean de alguna ayuda para ti. No dudes en publicar si deseas continuar esta discusión.

0 votos

En mi caso, esto traslada el problema a donde Y_cal + Y_exp está cerca de cero. (Sin embargo, en mi caso estoy tratando de aproximar una señal que es esencialmente una onda sobre otra señal, que resulta ser no negativa en todas partes, y podría normalizar por la magnitud de esa señal. Por lo tanto, el denominador en tu última fórmula es una especie de peso, y yo podría usar un peso diferente.)

0 votos

En realidad, si usamos max(|Y_cal|, |Y_exp|) como denominador, podríamos evitar los problemas.

0 votos

Voy a retirar eso. Eso tampoco ayuda, porque esto limita el error a estar en el rango [0,2], y donde sea que Y_cal, Y_exp sea cero, el error normalizado de esta manera será 1, en otras palabras "muy grande". (Intente trazarlo para dos líneas, con un ligero desplazamiento relativo entre sí, cruzando cero). Consulta mi respuesta a continuación para una solución.

2voto

Mark Puntos 111

Permítanme compartir un enfoque que tiene sentido usar en algunos casos.

En mi caso, la señal sigue aproximadamente la ley del cuadrado inverso en magnitud, pero también se sitúa por encima y por debajo de cero, cruzando cero en varios puntos. Estoy interesado en el error relativo (es decir, lejos, donde la señal es de microvoltios, necesito precisión hasta el nanovoltio, pero cerca de la fuente, donde la señal es de unos pocos voltios, necesito precisión de milivoltios y me gustaría ignorar desviaciones en el rango de nanovoltios; por lo que usar error absoluto no tiene sentido).

Pero, si simplemente divido, ya sea por la señal real, la aproximación, o varias combinaciones de ambas, el error relativo se dispara hacia el infinito cerca de las cruces por cero.

La solución es ponderar el error absoluto por el inverso de una señal de referencia, que tiene propiedades de caída similares a las señales de interés, y es positiva en todas partes. En la fórmula para el error relativo, la propia señal real se utiliza para eso, pero no tiene por qué ser así para producir el comportamiento que esperas del error relativo.

De hecho, la señal de normalización podría estar equivocada por un factor multiplicativo (por ejemplo, si tu espacio es anisotrópico, pero sigues usando 1/r^2 como denominador), y la ratio seguiría funcionando bien como error relativo. Pensar en términos de una escala logarítmica ayuda un poco, porque el error relativo se convierte en una resta, en lugar de una división.


EDICIÓN

Para citar un artículo(1) con más de 600 citas reportadas por Google Scholar, de una autoridad en estos asuntos numéricos:

$\epsilon = (f_2 - f_1) / f_1\;\;\;$ (7)

[...]

$E_1$ puede, por supuesto, expresarse como un porcentaje, y al igual que cualquier indicador de error relativo se volverá insignificante cuando $f_1$ [...] sea cero o pequeño en relación a $(f_2 - f_1)$, en cuyo caso el denominador de la Ec. (7) debe ser reemplazado por algún valor de normalización adecuado para el problema en cuestión [...]

(Cabe destacar que $E_1$ se define como un múltiplo de $\epsilon$ en el artículo, pero estos detalles son irrelevantes en el contexto actual.)

Considero que esto es un indicador fuerte de que hasta al menos 1994, no existía un mejor análogo de error relativo para señales que cruzan cero, que la idea que se está proponiendo aquí, es decir, dividir por una señal de normalización (a la que llamo la señal de "escala" arriba).

(1) PJ Roache, "Perspective: a method for uniform reporting of grid refinement studies" - Journal of Fluids Engineering, 1994

0voto

Angel Auñón Puntos 1

He obtenido los mejores resultados aplicando el Error Porcentual Absoluto Medio Simétrico (SMAPE) en su tercera definición:

$$ SMAPE (\%)= \frac{\sum_{i=1}^n{\vert x_{true,i} - x_{test,i}\rvert}}{\sum_{i=1}^n{( x_{true,i} + x_{test,i})}}\cdot 100 $$

0 votos

Esto es exactamente lo que propuso @ClaudeLeibovici en su respuesta (aceptada) y en un comentario bajo la pregunta.

-1voto

Sorin Puntos 1

¿Qué tal $$ \frac{|x_\text{true}-x_\text{test}|}{\mu_\text{true}} $$ Esto daría un error relativo porcentual de los datos predichos con respecto a la media de los datos reales.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X