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) Supuestos de Regresión Lineal 💫 Distribución normal 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. 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: Encuentre todos sus errores absolutos, xi – x. Súmalos todos. Divida por el número de errores. Por ejemplo, si tuviste 10 medidas, divide por 10. 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. Pasos de MSE: Calcule los residuos para cada punto de datos. Calcular el valor al cuadrado de los residuos. Calcule el promedio de los residuos del paso 2. 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 , 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 (sesgo) (para MAE). atípicos asimetría 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 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 : es una técnica utilizada para reducir la complejidad del modelo. Lo hace penalizando la función de pérdida. Regularización L1 o Norma Manhattan: Un tipo de regularización que penaliza pesos en proporción a la . 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. suma de los valores absolutos de los pesos L2 o Norma Euclidiana: Un tipo de regularización que penaliza los pesos en proporción a la . 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. suma de los cuadrados de los pesos 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 ] plt.plot(actual, m*actual + b) import matplotlib.pyplot as plt # create scatter plot plt.plot(actual, pred, 'o' ) # m = slope, b=intercept m, b = np.polyfit(actual, pred, 1 ) Out[]: mse = mean_squared_error(actual, pred) mae = mean_absolute_error(actual, pred) print ( "MAE without outliers:" , mae) 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 plt.plot(actual, m*actual + b) # create scatter plot plt.plot(actual, pred, 'o' ) # m = slope, b=intercept m, b = np.polyfit(actual, pred, 1 ) Out[]: mse = mean_squared_error(actual, pred) mae = mean_absolute_error(actual, pred) print ( "MAE with outliers:" , mae) 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 Representa la desviación estándar muestral de las diferencias entre los valores predichos y los valores observados (llamados residuales). RMSE: 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. Este artículo fue publicado previamente en . medium Contácteme si tiene preguntas o comentarios: sengulkaraderili@gmail.com 👩💻 Fuentes https://towardsdatascience.com/when-your-regression-models-errors-contain-two-peaks-13d835686ca https://www.dataquest.io/blog/understanding-regression-error-metrics/ estadísticashowto: https://www.statisticshowto.com/absolute-error/ estadísticashowto: https://www.statisticshowto.com/probability-and-statistics/statistics-definitions/mean-squared-error/ MLCC: https://developers.google.com/machine-learning/crash-course/descending-into-ml/linear-regression https://www.youtube.com/watch?v=KzHJXdFJSIQ Elegir la métrica correcta: https://medium.com/usf-msds/choosing-the-right-metric-for-machine-learning-models-part-1-a99d7d7414e4 https://arxiv.org/pdf/1809.03006.pdf Intercambio de pila: https://stats.stackexchange.com/questions/48267/mean-absolute-error-or-root-mean-squared-error Makine Öğrenmesi Algoritmaları ile Hava Kirliliği Tahmini Üzerine Karşılaştırmalı Bir Değerlendirme: https://dergipark.org.tr/tr/download/article-file/764199 LR múltiple: https://www.reneshbedre.com/blog/multiple-linear-regression.html MLCC: https://developers.google.com/machine-learning/glossary#L2_regularization http://r-statistics.co/Supuestos-de-Regresión-Lineal.html https://www.hackdeploy.com/supuestos-de-regresión-lineal-con-python/