• Saltar a la navegación principal
  • Saltar al contenido principal
Logo Codificando Bits

Codificando Bits

  • Academia
    • Rutas
    • Cursos
    • Proyectos
    • Tutoriales
  • Acceder
  • Suscribirse

Métricas de Regresión en Machine Learning: evaluación de modelos mredictivos

En este artículo veremos en detalle qué son las métricas de regresión, un concepto fundamental cuando estamos construyendo modelos de Machine Learning.

Entenderemos qué son, por qué resultan necesarias para evaluar nuestro modelo y cuáles son las principales métricas de regresión que podemos usar para cuantificar el desempeño de nuestros modelos predictivos.

Clasificación vs. Regresión

La regresión es una de las tareas fundamentales del Machine Learning que consiste en construir modelos cuyo objetivo es predecir cantidades numéricas. Por ejemplo, si realizamos pronósticos sobre Series de Tiempo, estaremos frente a una tarea de regresión.

Cuando construimos este tipo de modelos, resulta vital poder medir de alguna manera el desempeño de dicho modelo, es decir, determinar qué tan buenas son las predicciones que está generando.

Y para entender a fondo las métricas de regresión, es importante comenzar diferenciando entre las dos tareas más comunes que encontraremos en el desarrollo de modelos de Machine Learning: la clasificación y la regresión.

Supongamos un ejemplo muy sencillo: digamos que tenemos una base de datos de clientes de una entidad bancaria y supongamos que por cada cliente hemos recolectado tres datos: la edad, el nivel de ingresos y el nivel de egresos.

En una tarea de clasificación el objetivo es, por ejemplo, determinar si a un cliente se le otorga un préstamo. Es decir, la idea es que el modelo prediga si dicho cliente pagará a tiempo o no pagará a tiempo.

Así que el objetivo de la clasificación es predecir la categoría del dato:

En una tarea de clasificación el objetivo es que el modelo de Machine Learning prediga la categoría a la que pertenece el dato
En una tarea de clasificación el objetivo es que el modelo de Machine Learning prediga la categoría a la que pertenece el dato

Pero ahora supongamos que tenemos la misma base de datos y los mismos datos de entrada al modelo (edad, nivel de ingresos y nivel de egresos).

En una tarea de regresión el objetivo sería predecir, por ejemplo, el monto del préstamo. Es decir, cuánto dinero se le va a otorgar a la persona. Ese monto es una cantidad numérica continua que puede ser 25.300, 121.200, etc:

En una tarea de regresión el objetivo es que el modelo de Machine Learning prediga un valor numérico continuo
En una tarea de regresión el objetivo es que el modelo de Machine Learning prediga un valor numérico continuo

En conclusión, en una tarea de regresión queremos entrenar un modelo que sea capaz de predecir cantidades numéricas.

¿Qué es y por qué usar una métrica de regresión?

Teniendo claro qué es la regresión, cabe preguntarse: ¿qué tan buenas serán las predicciones que genera el modelo?

Entendamos esto con un ejemplo gráfico basado en el pronóstico de una Serie de Tiempo. Supongamos que hemos recolectado valores de temperatura durante un periodo de 24 horas y tenemos un modelo de regresión que debe ser capaz de predecir algunas horas a futuro, por ejemplo de la hora 25 a la 30.

A esos valores numéricos que predice el modelo vamos a llamarlos $\hat{y}$ (y gorro). Estas predicciones corresponden a la curva de color rojo en la figura de abajo:

Una métrica de regresión permite cuantificar la diferencia existente entre la predicción hecha por el modelo (curva de color rojo a la derecha) y el valor real (curva de color verde)
Una métrica de regresión permite cuantificar la diferencia existente entre la predicción hecha por el modelo (curva de color rojo a la derecha) y el valor real (curva de color verde)

Por otro lado, para saber si esas predicciones son buenas o malas, necesitamos un valor de referencia, que es la temperatura real observada y que corresponde a la curva de color verde en la figura anterior.

Al superponer y comparar ambas curvas (la roja de las predicciones y la verde de los valores reales), veremos que no son idénticas, lo que indica un cierto grado de error. La idea es cuantificar numéricamente esa diferencia. Y precisamente, una métrica de regresión nos permite cuantificar esa diferencia entre la predicción y el valor de referencia.

Principales métricas de regresión en Machine Learning

En Machine Learning, existen esencialmente cuatro métricas principales que podemos usar para problemas de regresión:

  1. Error Cuadrático Medio (MSE)
  2. Raíz Cuadrada del Error Cuadrático Medio (RMSE)
  3. Error Absoluto Medio (MAE)
  4. Error Porcentual Absoluto Medio (MAPE)

A continuación, analizaremos cada una de estas métricas, su formulación matemática, un ejemplo de cálculo así como sus ventajas y desventajas.

1. Error Cuadrático Medio (MSE)

El Error Cuadrático Medio (o Mean Squared Error, MSE por sus siglas en inglés) es una de las métricas más comúnmente usadas.

Su cálculo consiste en tomar la diferencia entre cada dato de referencia (valor conocido) y la predicción, elevar dicha diferencia al cuadrado, sumar todos los resultados y dividir entre el número total de datos:

$$MSE = \frac{\sum_{i=1}^{N} (y_i – \hat{y}_i)^2}{N} $$

donde en la ecuación anterior:

  • $N$ es el número total de datos
  • $y_i$ y $\hat{y_i}$ son cada uno de los $N$ valores reales y predichos respectivamente
  • Y las diferencias se elevan al cuadrado $(y_i – \hat{y_i})^2$ para evitar que al hacer la sumatoria se cancelen diferencias positivas con negativas dando la impresión errónea de que el MSE es más bajo de lo que parece. Al elevar las diferencias al cuadrado, garantizamos que todas sumen un error positivo.

Ejemplo de cálculo del MSE

Supongamos que hemos creado un modelo capaz de predecir el valor de temperatura para las próximas 6 horas. En la figura de abajo vemos esta predicción (en rojo) así como los valores reales de temperatura (en verde):

Ejemplo de una predicción sobre una Serie de Tiempo (en rojo) y los valores reales de temperatura (en verde) en una tarea de regresión
Ejemplo de una predicción sobre una Serie de Tiempo (en rojo) y los valores reales de temperatura (en verde) en una tarea de regresión

En este caso tenemos 6 datos, por lo que dividiremos entre $N = 6$. Así que el cálculo del MSE se haría de la siguiente forma:

  • Primero calculamos las diferencias cuadráticas entre pares de observaciones y predicciones. Por ejemplo, para la hora 1 la observación (valor real) sería 17 °C, mientras que la predicción correspondiente sería 16°C. Así que la diferencia cuadrática sería $(17-16)^2 = 1$. Y seguimos la misma lógica para las demás diferencias
  • Luego sumamos estas diferencias cuadráticas y dividimos el resultado entre el número total de datos (6)

Este sería el cálculo completo:

$$MSE = \frac{(17-16)^2 + (15-17)^2 + (16-20)^2 + (21-19)^2 + (18-15)^2 + (17-18)^2}{6}$$

Tras realizar el cálculo obtenemos un MSE de 5.83 $(°C)^2$.

Características, ventajas y desventajas del MSE

  • El valor ideal del MSE es 0. Es decir, si todas las predicciones son idénticas a los valores observados, tendríamos un modelo perfecto con un MSE de exactamente 0.
  • Desventaja (unidades al cuadrado): dado que elevamos los valores al cuadrado, las unidades del MSE resultante también lo estarán (por ejemplo, grados centígrados al cuadrado). Esto dificulta la interpretación directa; al ver 5.83 $(°C)^2$, no resulta fácil deducir de inmediato qué tan alto o bajo es ese error.
  • Desventaja (sensibilidad a outliers): Si el modelo hace una predicción muy errada (un valor extremo o outlier), el error se disparará. Supongamos que en la hora 5 el modelo predice 2 °C en lugar del valor real de 18 °C. Esa diferencia tan grande se magnifica al elevarse al cuadrado. Con este simple fallo atípico, el error pasaría de 5.83 a 47 $(°C)^2$., con lo cual podemos ver que el MSE es extremadamente sensible a valores extremos.
  • Ventaja: Gracias a su definición matemática, es ideal para algoritmos de optimización basados en el Gradiente Descendente, que es uno de los métodos más usados al momento de entrenar Redes Neuronales.

2. Raíz Cuadrada del Error Cuadrático Medio (RMSE)

El RMSE (Root Mean Squared Error) resuelve el problema de la interpretación de las unidades del MSE aplicando una raíz cuadrada al resultado final:

$$RMSE = \sqrt{ \frac{\sum_{i=1}^{N} (y_i – \hat{y}_i)^2}{N} }$$

Ejemplo de cálculo del RMSE

El cálculo del RMSE sigue exactamente el mismo proceso que vimos hace un momento para el MSE, con la única diferencia de que debemos obtener la raíz cuadrada a partir del resultado obtenido con el MSE.

Así, si en el ejemplo anterior obtuvimos un MSE de 5.83 $(°C)^2$, el RMSE tendría un valor de:

$$RMSE = \sqrt{MSE} = \sqrt{5.83} = 2.41 °C$$

Características, ventajas y desventajas del RMSE

  • Al igual que el MSE, el RMSE ideal es también cero. Así, un modelo que genera predicciones perfectas arrojaría un RMSE igual a cero.
  • Ventaja (interpretabilidad): a diferencia del MSE, las unidades del RMSE corresponden a las unidades de la variable original (en nuestro ejemplo grados centígrados). Esto permite interpretar de forma más sencilla que un error promedio de 2.41 °C es relativamente pequeño, considerando que el rango de temperaturas se mueve entre 15 y 21 °C para el ejemplo anterior.
  • Desventaja (sensibilidad a outliers): En este caso el RMSE conserva la misma debilidad del MSE. Si introducimos el valor atípico en la hora 5, el RMSE pasará de 2.41 °C a 6.85 °C. Es decir, un valor extremo en tan sólo un dato hace que en casi se triplique el RMSE.

3. Error Absoluto Medio (MAE)

El Error Absoluto Medio (Mean Absolute Error) reduce el problema del impacto excesivo de los valores extremos que vimos en los casos del MSE y el RMSE.

Así que, en lugar de calcular diferencias cuadráticas, calcula el valor absoluto de la diferencia entre el valor real y la predicción:

MAE=∑i=1N|yi−yi^|NMAE = \frac{\sum_{i=1}^N|y_i-\hat{y_i}|}{N}

El uso de este valor absoluto evita que errores positivos y negativos se anulen, pero sin la necesidad de amplificarlos elevándolos a ninguna potencia (como sí ocurre con el MSE y el RMSE). Y esto es precisamente lo que reduce el efecto de los valores extremos en esta métrica.

Ejemplo de cálculo del MAE

Si volvemos al ejemplo de las 6 horas de temperatura predichas y calculamos los valores absolutos de las diferencias individuales, tendremos:

  • Hora 1: $|17 – 16| = 1$
  • Hora 2: $|15 – 17| = 2$
  • Hora 3: $|16 – 20| = 4$
  • Hora 4: $|21 – 19| = 2$
  • Hora 5: $|18 – 15| = 3$
  • Hora 6: $|17 – 18| = 1$

Y si sumamos estas diferencias absolutas y luego las dividimos entre 6, obtendremos un MAE de 2.17 °C.

Características, ventajas y desventajas del MAE

  • Al igual que ocurre con el MSE y el RMSE, un MAE ideal tiene un valor igual a 0 (debido a que se siguen calculando diferencias entre pares observación-predicción)
  • Ventaja (interpretación): el MAE, al igual que el RMSE, conserva las mismas unidades de la variable original (en nuestro ejemplo temperatura), lo que hace que esta métrica sea fácil de interpretar.
  • Ventaja (robustez frente a outliers): al no elevar las diferencias al cuadrado, si se presenta el valor atípico de la hora 5 (predicción muy alejada), habrá un incremento en el error, pero será mucho menos brusco que en el caso del MSE o el RMSE. En este caso, con la presencia de dicho outlier, el MAE pasaría de 2.17 °C a 4.33 °C. Sigue siendo un incremento, pero es menos significativo en comparación al cambio que vimos en el RMSE (pasando de 2.41°C a 6.85 °C) por el RMSE.
  • Desventaja: debido a que usa el valor absoluto, no resulta adecuado matemáticamente cuando queremos entrenar modelos y optimizar hiperparámetros usando algoritmos basados en el Gradiente Descendente.

4. Error Porcentual Absoluto Medio (MAPE)

El Error Porcentual Absoluto Medio (Mean Absolute Percentage Error) introduce una ventaja interesante frente a las demás métricas al hacer que el error sea independiente de la escala.

Para lograrlo, toma la diferencia absoluta entre el valor real y la predicción y divide el resultado entre el valor de referencia. Y el resultado se multiplica por 100%:

MAPE=1N∑i=1N|yi−yi^|yi⋅100%MAPE = \frac{1}{N} \sum_{i=1}^N\frac{|y_i-\hat{y_i}|}{y_i}\cdot100\%

Al dividir cada error absoluto individual ($|y_i – \hat{y_i}|$) entre la observación ($y_i$) estamos calculando una proporción que mide qué tanto se aleja la predicción de la observación con respecto al valor real. Y al multiplicar esta proporción por 100% lo que estamos es midiendo qué tanto se alejan porcentualmente las predicciones de los valores reales.

Ejemplo de cálculo del MAPE

Volviendo al ejemplo que hemos venido analizando, si ahora calculamos los errores relativos individuales tendremos:

  • Hora 1: $|17 – 16|/17 = 1/17$
  • Hora 2: $|15 – 17|/15 = 2/15$
  • Hora 3: $|16 – 20|/16 = 4/16$
  • Hora 4: $|21 – 19|/21 = 2/21$
  • Hora 5: $|18 – 15|/18 = 3/18$
  • Hora 6: $|17 – 18|/17 = 1/17$

Y si sumamos estos errores relativos individuales, dividimos el resultado entre 6 y luego lo multiplicamos por 100%, tendremos un MAPE del 12.7%. Esto quiere decir que, en promedio, las predicciones se alejan un 12.7% de los valores reales.

Características, ventajas y desventajas del MAPE

  • Un modelo ideal (que genera predicciones idénticas a los valores reales) tendría un MAPE exactamente de 0%.
  • Ventaja (independencia de la escala): es sumamente útil cuando la variable cambia de magnitud por el contexto. En el caso de la temperatura, nos permite evaluar la calidad del modelo independientemente de si estamos en invierno (prediciendo valores pequeños entre 0 y 5 grados) o en verano (prediciendo valores grandes entre 25 y 35 grados).
  • Ventaja (fácil interpretación): un error en formato de porcentaje es extremadamente fácil de interpretar. Un valor cercano a 0% nos dice que las predicciones son excelentes, mientras que un error del 50% revela inmediatamente que las predicciones se alejan considerablemente de los valores reales.
  • Robustez moderada a outliers: al igual que el MAE, el MAPE es más robusto que las métricas cuadráticas frente a valores atípicos (pues también usa el valor absoluto para calcular diferencias individuales). De nuevo, en el caso del outlier en la hora 5, el error se incrementa de 12.7% a 24.8%, lo cual es un cambio moderado en comparación con las alteraciones que vimos en los ejemplos anteriores para el MSE y el RMSE.

Conclusión

Acabamos de entender claramente qué es la regresión y cómo podemos cuantificar el desempeño de un modelo al evaluar qué tan precisas son sus predicciones. Como vimos, las cuatro principales métricas de regresión (MSE, RMSE, MAE y MAPE) tienen características distintas y en la práctica ninguna es absolutamente mejor que la otra.

La decisión sobre cuál métrica utilizar recaerá en últimas sobre las particularidades de nuestros datos y el diseño del algoritmo que estemos implementando en Machine Learning. De hecho, en la práctica se sugiere no usar una sino al menos dos métricas para evaluar el desempeño del modelo que estemos evaluando.

Si te interesa, en el curso de Regresión Lineal, disponible acá en la Academia Online, vemos de forma práctica cómo evaluar y cómo interpretar estas métricas para un modelo de regresión usando la librería Scikit-Learn de Python. Y en los diferentes cursos de la especialización en Series de Tiempo vemos cómo aplicar estas métricas para evaluar el desempeño de diferentes modelos de pronósticos sobre series temporales.

© Codificando Bits, LLC | Blog | Contacto | Servicios | Acerca de | Políticas

¿Has olvidado la contraseña?
¿Has perdido tu contraseña? Por favor, introduce tu nombre de usuario o dirección de correo electrónico. Recibirás por correo electrónico un enlace para crear una nueva contraseña.
body::-webkit-scrollbar { width: 7px; } body::-webkit-scrollbar-track { border-radius: 10px; background: #f0f0f0; } body::-webkit-scrollbar-thumb { border-radius: 50px; background: #dfdbdb }