Mis notas sobre las m茅tricas de error MAE vs MSE 馃殌por@sengul
11,054 lecturas

Mis notas sobre las m茅tricas de error MAE vs MSE 馃殌

2022/03/11
6 min
por @sengul 11,054 lecturas
tldt arrow
ES
Read on Terminal Reader

Demasiado Largo; Para Leer

Nos centraremos en las m茅tricas MSE y MAE, que son m茅tricas de evaluaci贸n de modelos de uso frecuente en los modelos de regresi贸n. MAE es la distancia promedio entre los datos reales y los datos pronosticados, pero no castiga grandes errores en la predicci贸n. MSE mide la diferencia cuadr谩tica promedio entre los valores estimados y el valor real. La regularizaci贸n de L1 y L2 es una t茅cnica utilizada para reducir la complejidad del modelo. Lo hace penalizando la funci贸n de p茅rdida al regularizar la funci贸n de la funci贸n.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Mis notas sobre las m茅tricas de error MAE vs MSE 馃殌
Sengul Karaderili HackerNoon profile picture

@sengul

Sengul Karaderili

Sobre @sengul
LEARN MORE ABOUT @SENGUL'S EXPERTISE AND PLACE ON THE INTERNET.
react to story with heart

Esta publicaci贸n contiene mis notas sobre las m茅tricas de error.

Contenido:

  • Resumen de regresi贸n lineal
  • MAE
  • MSE
  • Comparar MAE vs MSE
  • Bono: Regularizaci贸n L1 y L2
  • laboratorio de experimentos
  • 隆Prima! Si queremos comparar MAE y RMSE
  • Fuentes

    Nos centraremos en las m茅tricas MSE y MAE, que son m茅tricas de evaluaci贸n de modelos de uso frecuente en los modelos de regresi贸n.

    Resumen de regresi贸n lineal

    En regresi贸n lineal:

    y' es la etiqueta predicha (una salida deseada) b es el sesgo (la intersecci贸n y) w1 es el peso de la caracter铆sticax1 es una caracter铆stica (una entrada conocida)

    image

    Supuestos de Regresi贸n Lineal 馃挮

    Distribuci贸n normal

    image

    1. Distribuci贸n normal de residuos

    Normalidad de los residuos. Los residuos deben estar normalmente distribuidos .

    2. Linealidad de los residuos

    El modelo de regresi贸n es lineal en par谩metros. La media de los residuos es cero. Independencia de los residuos

    Hay b谩sicamente 2 clases de dependencias

    Los residuos se correlacionan con otra variable. La multicolinealidad es una forma elegante de decir que sus variables independientes est谩n altamente correlacionadas entre s铆.

    Los residuos se correlacionan con otros residuos (cercanos) (autocorrelaci贸n). Sin autocorrelaci贸n de residuos. Esto es aplicable especialmente para datos de series de tiempo. La autocorrelaci贸n es la correlaci贸n de una serie temporal con retrasos de s铆 misma.

    3. Igual varianza de residuos

    La homocedasticidad est谩 presente cuando el ruido de su modelo se puede describir como aleatorio y el mismo en todas las variables independientes. De nuevo, la media de los residuos es cero.

    image

    Error absoluto medio (MAE)

    MAE es el promedio de todos los errores absolutos. La distancia media absoluta entre los datos reales y los datos pronosticados, pero no castiga los grandes errores de predicci贸n.

    Pasos del MAE:

  1. Encuentre todos sus errores absolutos, xi 鈥 x.
  2. S煤malos todos.
  3. Divida por el n煤mero de errores. Por ejemplo, si tuviste 10 medidas, divide por 10.
  4. image

    Error cuadr谩tico medio (MSE)

    MSE, mide el promedio de los cuadrados de los errores, es decir, la diferencia promedio al cuadrado entre los valores estimados y el valor real.

    Siempre es no negativo, y los valores m谩s cercanos a cero son mejores.

    image

    Pasos de MSE:

    1. Calcule los residuos para cada punto de datos.
    2. Calcular el valor al cuadrado de los residuos.
    3. Calcule el promedio de los residuos del paso 2.
    4. image

      Compararlos

      MAE:

      • La idea detr谩s del error absoluto es evitar la cancelaci贸n mutua de los errores positivos y negativos.
      • Un error absoluto solo tiene valores no negativos.
      • Del mismo modo, evitar la posibilidad de cancelaciones mutuas tiene su precio: no se puede determinar la asimetr铆a (sesgo).
      • El error absoluto conserva las mismas unidades de medida que los datos bajo an谩lisis y otorga a todos los errores individuales el mismo peso (en comparaci贸n con el error cuadr谩tico).
      • Esta distancia es f谩cilmente interpretable y cuando se agrega sobre un conjunto de datos usando la media aritm茅tica tiene un significado de error promedio.
      • El uso del valor absoluto puede presentar dificultades en el c谩lculo del gradiente de los par谩metros del modelo. Esta distancia se utiliza en m茅tricas tan populares como MAE, MdAE, etc.

      MSE:

      • El error cuadr谩tico sigue la misma idea que el error absoluto: evitar valores de error negativos y cancelaci贸n mutua de errores.
      • Debido al cuadrado, se enfatizan los errores grandes y tienen un efecto relativamente mayor en el valor de la m茅trica de rendimiento. Al mismo tiempo, el efecto de errores relativamente peque帽os ser谩 a煤n menor. A veces, esta propiedad del error cuadr谩tico se denomina penalizar errores extremos o ser susceptible a valores at铆picos. Seg煤n la aplicaci贸n, esta propiedad puede considerarse positiva o negativa. Por ejemplo, enfatizar errores grandes puede ser una medida de discriminaci贸n deseable en la evaluaci贸n de modelos.
      • En caso de datos at铆picos , MSE ser谩 mucho m谩s grande en comparaci贸n con MAE. Evitar la posibilidad de cancelaciones mutuas tiene su precio: no se puede determinar la asimetr铆a (sesgo) (para MAE).
      • En MSE, el error aumenta de forma cuadr谩tica mientras que el error aumenta de forma proporcional en MAE.
      • En MSE, dado que el error se eleva al cuadrado, cualquier error de predicci贸n est谩 siendo fuertemente penalizado.

    Referencia: https://arxiv.org/pdf/1809.03006.pdf

    
    # Code Comparison
    # true: Array of true target variable
    # pred: Array of predictions
    def calculateMAE ( true, pred ):
      return np. sum (np. abs (true - pred)) def calculateMSE ( true, pred ): 
      return np. sum ((true - pred)** 2 )

    MAE y MSE con diferentes modelos

    image
    image


    Podemos mirar estos ejemplos para comparar modelos. Sin embargo, puede que no tenga sentido comparar m茅tricas en diferentes modelos en este momento:

    https://dergipark.org.tr/tr/download/article-file/764199

    https://www.kaggle.com/faressayah/linear-regression-house-price-prediction

    Bono: Regularizaci贸n L1 y L2

    Regularizaci贸n : es una t茅cnica utilizada para reducir la complejidad del modelo. Lo hace penalizando la funci贸n de p茅rdida.

    L1 o Norma Manhattan:

    Un tipo de regularizaci贸n que penaliza pesos en proporci贸n a la suma de los valores absolutos de los pesos . En los modelos que se basan en caracter铆sticas escasas, la regularizaci贸n L1 ayuda a llevar el peso de las caracter铆sticas irrelevantes o apenas relevantes a exactamente 0, lo que elimina esas caracter铆sticas del modelo. La p茅rdida L1 es menos sensible a los valores at铆picos que la p茅rdida L2.

    L2 o Norma Euclidiana:

    Un tipo de regularizaci贸n que penaliza los pesos en proporci贸n a la suma de los cuadrados de los pesos . La regularizaci贸n L2 ayuda a acercar los pesos at铆picos (aquellos con valores positivos altos o negativos bajos) a 0 pero no tanto. La regularizaci贸n L2 siempre mejora la generalizaci贸n en modelos lineales.

    • L2 y L1 penalizan los pesos de manera diferente:
    • L2 penaliza peso2.L1 penaliza |peso|.

    Laboratorio de experimentos 鈿楋笍馃И馃尅馃搳馃搲馃搱馃攳

    Veamos c贸mo funcionan las m茅tricas en datos at铆picos y no at铆picos.

     # Import part.
    import numpy as np import pandas as pd from sklearn.metrics import mean_absolute_error from sklearn.metrics import mean_squared_error import statsmodels.api as sm

    Generar茅 datos sint茅ticos en un cierto rango con numpy.

    Produje datos previos sin ejecutar un modelo, porque no quiero centrarme en la creaci贸n de modelos. Quiero ver c贸mo cambian las m茅tricas en diferentes datos.

     # First actual values.
    actual = np.random.randint(low= 50 , high= 101 , size=( 50 )) # Seconda my random pred data.
    pred = np.random.randint(low= 50 , high= 101 , size=( 50 )) print ( "Actual data (Random):" , actual) print ( "Pred data (Random):" , pred)
     Out[]: Actual data (Random): [ 53  95  63  78  88  59  96  86  52  71  78  89  77  60  97  79  71  87
      55  92  69  76  80  66  80  88  89  68  69  98 100  57  83  72  82  72
      52  78  94  76  69  59  73  70  99  97 100  63  73  94 ] Pred data (Random): [ 66  69  65  75  99 100  88  92  83  77  80  58  85  91  78  80  63 100
      55  84  64  85  67  87  79  83  59  81  76  85  96  86  87  99  91  84
      81  50  96  98  76  99  55  63  67  74  51 100  55  75 ]
     import matplotlib.pyplot as plt # create scatter plot
    plt.plot(actual, pred, 'o' ) # m = slope, b=intercept
    m, b = np.polyfit(actual, pred, 1 ) plt.plot(actual, m*actual + b) 
     Out[]:
    image

     mae = mean_absolute_error(actual, pred) print ( "MAE without outliers:" , mae) mse = mean_squared_error(actual, pred) print ( "MSE without outliers:" , mse)
     Out[]: MAE without outliers: 16.02
    MSE without outliers: 408.1

    Agregu茅 algunos valores at铆picos a los valores de pred.

     pred[[ 4 , 8 , 15 , 45 ]] = pred[[ 4 , 8 , 15 , 45 ]] + 50
    
     # create scatter plot
    plt.plot(actual, pred, 'o' ) # m = slope, b=intercept
    m, b = np.polyfit(actual, pred, 1 ) plt.plot(actual, m*actual + b) 
     Out[]:
    image

     mae = mean_absolute_error(actual, pred) print ( "MAE with outliers:" , mae) mse = mean_squared_error(actual, pred) print ( "MSE with outliers:" , mse)
     Out[]: MAE with outliers: 19.1
    MSE with outliers: 648.1

    El aumento observado en MAE fue de aproximadamente 3. Sin embargo, el RMSE aument贸 en aproximadamente 200. Esto significa que si tenemos datos at铆picos, MSE producir谩 un resultado m谩s sensible. MAE no tuvo en cuenta los valores at铆picos.

    隆Prima! Si queremos comparar MAE y RMSE

    RMSE: Representa la desviaci贸n est谩ndar muestral de las diferencias entre los valores predichos y los valores observados (llamados residuales).

    • Caso 1: valores reales = [2,4,6,8], valores previstos = [4,6,8,10]
    • MAE para el caso 1 = 2,0, RMSE para el caso 1 = 2,0
    • Caso 2: valores reales = [2,4,6,8], valores previstos = [4,6,8,12]
    • MAE para el caso 2 = 2,5, RMSE para el caso 2 = 2,65

    En el ejemplo anterior, podemos ver que RMSE penaliza la predicci贸n del 煤ltimo valor m谩s que MAE.

    image

    Este art铆culo fue publicado previamente en medium .

    Cont谩cteme si tiene preguntas o comentarios: [email protected] 馃懇鈥嶐煉

    Fuentes

HISTORIAS RELACIONADAS

L O A D I N G
. . . comments & more!
Hackernoon hq - po box 2206, edwards, colorado 81632, usa