¿Cómo validar tu modelo de regresión?

¿Cómo validar tu modelo de regresión?

ago´17 Rosana Ferrero 15 comentarios

¿Te has preguntado alguna vez si el modelo de regresión que has ajustado es apropiado para tus datos? 

Hoy te traigo las principales claves para evaluar tu modelo de regresión, solo necesitarás definir los residuos del modelo y evaluar sus gráficos.

¿Qué son los residuos?

Los residuos (o errores) son la diferencia entre los valores observados y los valores que predice el modelo:

Residuos = Valores observados – Valores que predice el modelo 
e = y - ?

Por ejemplo, para el modelo de regresión lineal simple (i.e. una variable explicativa o predictor, de la forma y(x)=ax+b) tenemos el siguiente gráfico:

En adelante seguiremos trabajando con el modelo de regresión lineal que si recuerdas asume tres cuestiones importantes: que la relación es de tipo lineal, que los residuos siguen una distribución normal y que la varianza de dichos residuos es constante.

ÚLTIMAS PLAZAS EN MASTERS

Máster Data Science

CONVOCATORIA ABIERTA I Logra la máxima precisión y rigor en tus proyectos de Ciencia de Datos.

Ver convocatorias 2022

MAster en MAchine learning

CONVOCATORIA ABIERTA | Automatiza procesos y crea tus propios algoritmos de Machine Learning.

Ver convocatorias 2022

¿Qué son los gráficos de residuos?

Como mencioné en el post anterior (aquí) debes evaluar mediante gráficos los supuestos del modelo y si el ajuste es adecuado.

Cuando trabajas con un modelo de regresión lineal simple (i.e. una única variable explicativa) solo necesitas un gráfico de dispersión con las variables originales.

Sin embargo, cuando quieres ajustar un modelo de regresión múltiple (i.e. múltiples variables explicativas) es más sencillo que evalúes el ajuste del modelo mediante los gráficos de residuos.


GRÁFICOS DE RESIDUOS PARA ENTENDER Y MEJORAR TU REGRESIÓN

Voy a referirme tan solo a los 2 gráficos diagnósticos principales que se suelen realizar con los residuos del modelo:

  1. el gráfico de los residuales en función de los valores ajustados por el modelo (Residuals vs. Fitted) y
  2. el gráfico cuantil-cuantil (Normal Q-Q) permite comparar la distribución de los residuos con la distribución normal teórica.

Todo lo que necesitas saber sobre la interpretación de los residuos

  • Residuos vs. Valores predichos por el modelo

Este tipo de gráficos te permite evaluar 3 cuestiones principalmente:

  • Si has utilizado el tipo de relación adecuada (e.g. si el modelo debería ser no lineal en lugar de lineal). Si el tipo de modelo que utilizaste no es el adecuado encontrarás sesgos -bias- o tendencias en los residuos.
  • Si la varianza es constante o por el contrario tienes problemas de dispersión irregular. Uno de los supuestos del modelo de regresión lineal es que la varianza de los residuos es constante, es decir, que los residuos se distribuyen al azar alrededor del valor cero.
  • Si existen datos extremos (outliers) que puedan perturbar e invalidar tu modelo. Este tipo de datos se aparta del comportamiento del resto de residuos, tendrán un valor muy distinto al cero.

¿Quieres conocer los patrones que puedes encontrar en este gráfico?

a continuación te resumo los principales patrones y su interpretación, luego te enseñaré cómo solucionar cada tipo de problema.

Tendencias. Cuando los residuos se separan del cero de manera sistemática (no aleatoria), tanto si aumentan como si disminuyen para valores de predicciones mayores, el patrón nos sugiere que la función de regresión no es lineal. A este patrón se le suele llamar tendencia, sesgo o "bias" en inglés.

Dispersión irregular. Si observas un patrón de dispersión no aleatorio de los residuos, la variabilidad de los residuos es mayor para ciertos valores predichos por el modelo, esto indica que no se cumple el supuesto de varianza constante en los errores del modelo. Puedes observar alguno de los siguientes casos:

  • un patrón de "abanico". Es decir, los residuos son cercanos a 0 para valores de x pequeños y están más extendidos para valores de x grandes.
  • un patrón de "canalización". Es decir, los residuos se separan para valores de x pequeños pero se cercan a 0 para valores de x grandes.
  • un patrón más complejo.

Datos extremos (Outliers)Ocurre cuando uno o más residuos se apartan del patrón aleatorio del resto. Incluso, podemos observar que si eliminamos el/los outlier el patrón de los residuos cambia.

Ejemplos de patrones:

  • Un modelo válido implica encontrar un patrón de residuos al azar, es decir, que no haya sesgos en los residuos (tendencias) ni una dispersión (varianza) no constante ni valores que desvíen el comportamiento observado (outliers); esto ocurre solamente en la figura "a".
  • Las figuras "b" y "c" tienen problemas de tendencia, lo cual podría indicar que la relación entre las variables estudiadas no es la indicada o que existe correlación en los residuales (e.g. si se trata de una serie temporal).
  • Las figuras "d", "e" y "f" tienen problemas de dispersión irregular. En todos los casos la varianza de los residuos aumenta con los valores ajustados, esto indica que la variabilidad de los errores aumenta al aumentar su media.

Entonces, ¿cómo puedes mejorar el modelo?

  • Si encuentras problemas de tendencia podrías necesitar términos de mayor orden (cuadrática o cúbica) o nuevas variables explicativas, o incluir términos de interacción entre las variables explicativas. Agrega los términos y reajusta el modelo.
  • Si encuentras problemas de dispersión irregular utiliza pruebas de igualdad de varianza (complementarias a los análisis gráficos), considera utilizar transformaciones de las variables o modelar la heterogeneidad encontrada con modelos generalizados (GLM) o modelos mixtos (MM).
  • Si encuentras posibles valores extremos (outliers)o puntos de influencia verifica que no sean errores de medición y considera realizar análisis robustos.
  • Gráfico Q-Q Normal

El modelo de regresión lineal también supone que los residuos siguen una distribución normal. 

Recuerda que el gráfico cuantil-cuantil (Normal Q-Q) te permite comparar la distribución de los residuos con la distribución normal teórica.

Por lo tanto, si los residuos tienen una distribución normal deberías observar que siguen aproximadamente la línea recta diagonal en el gráfico Q-Q normal, en caso contrario los residuos se van a apartar de la diagonal.

Ejemplos de patrones:

  • Si los residuos presentan una distribución normal debes obtener un gráfico similar al "a".
  • Sin embargo, curvas de tipo "S" indican colas largas en la distribución de los residuales (como en el ejemplo "d"),
  • una forma de "S" invertida indica colas cortas (como en el caso "e"),
  • líneas hacia arriba o abajo indican asimetrías (mira los casos "b" o "c"), y
  • si tienes puntos que se apartan de la línea es un indicio de que tienes datos extremos (outliers).

Entonces, ¿cómo puedes mejorar el modelo?

Investiga con otros gráficos si la falta de normalidad se puede deber a algo más, realiza pruebas estadísticas de normalidad, realiza transformaciones de las variables involucradas, o utiliza modelos más complejos que consideren la falta de normalidad (GLM).

Y si aún tenemos algunos problemas con los residuos, ¿cómo seguir?

Tú decides. Si luego de seguir todas las recomendaciones que te he mencionado sigues detectando problemas (menores) en los patrones de los residuos, debes decidir qué tan preciso necesitas que sea tu modelo. Ya lo dijo G. Box, todos los modelos son erróneos, y yo te recuerdo que generalmente un modelo decente es mejor que ningún modelo.

"Essentially, all models are wrong, but some are useful" 

por George Box

Espero que este post te haya dado una perspectiva diferente sobre cómo diagnosticar tu modelo. 

15 comentarios

¹ Todos los campos son obligatorios.
² Tu correo electrónico no será publicado.

  • Interesante explicación y muy didáctica. Como recomendación se puede hablar un poco sobre las pruebas de hipótesis pertinentes a la regresión

    Responder

    Rei 30 de marzo de 2019, 17:07

    • Muchas gracias por tu comentario Rei,
      sí, próximamente publicaré un post sobre pruebas de hipótesis en modelos de regresión ;).
      Saludos

      Responder

      Rosana Ferrero 1 de abril de 2019, 09:40

  • Si al realizar el modelo de regresión, el valor de los resíduos es igual a la variable independiente X, se podría asumir que no hay correlación entre las variables?

    Responder

    Sergio 13 de agosto de 2020, 23:56

    • Hola Sergio, creo que eso no podría ocurrir, me da la impresión de que algo estás haciendo mal. Te pongo un pequeño ejemplo:
      > y<-1:10 > x<-rep(1,10) > resid(lm(y~x))
      1 2 3 4 5 6 7 8 9 10
      -4.5 -3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5 4.5
      Aquí ves que los residuos no son como «x».
      Revisa los pasos que has realizado, a menudo se nos escapa alguna errata.
      Saludos

      Responder

      Rosana Ferrero 14 de agosto de 2020, 09:31

  • Buenos días,
    Para mis conocimientos que son básicos, cuando utilizas una regresión para buscar un modelo de predicción de una variable dependiente, cuantas más observaciones o datos tengas, mejor será el modelo. Ahora bien, ahora me están diciendo lo contrario y me sorprende. Mi pregunta es:
    ¿Existen modelos de regresión en los que no se utilizan todas las observaciones o datos disponibles, sino un subconjunto de las mismas? Se trataría utilizar el mismo número de observaciones para diferentes tramos de la gráfica y así obtener un modelo de predicción mejor. ¿Es esto cierto? Muchas gracias

    Responder

    Arantxa 6 de octubre de 2020, 22:10

    • Hola Arantxa,
      creo que te refieres a la validación cruzada, puedes realizarla sobre cualquier modelo de regresión. En esta se dividen los datos en 2 subconjuntos, uno de entrenamiento y otro de prueba (aproximadamente 80% y 20% de los datos, respectivamente). Con el conjunto de entrenamiento ajustas el modelo y con el de prueba evalúas el desempeño del modelo. Existen tipos de validación cruzada más complejos, pero te menciono esta que es la más simple para que te hagas una idea.
      Cuando tienes un gran número de observaciones (big data), es probable que cada coeficiente del modelo de regresión resulte estadísticamente significativo. Deberás evaluar qué predictores son realmente importantes, en contraste con los estadísticamente significativos, también con validación cruzada.
      Saludos

      Responder

      Rosana Ferrero 7 de octubre de 2020, 09:40

  • Hola,

    ¿El R^2 no sirve también para evaluar la bondad del modelo? Un R^2 muy bajo (0.2 por ejemplo) en el conjunto de entrenamiento, ya me está diciendo que descarte el modelo, no? (underfitting).

    Gracias

    Responder

    Omar 27 de abril de 2021, 14:48

    • Hola Omar,
      El coeficiente de determinación R2
      es una medida relativa de qué tan bien se ajusta el
      modelo a los datos.
      Representa el porcentaje de información en los datos que puede ser explicado
      por el modelo. Dicho de otro modo, es la cantidad de variación en la variable respuesta
      que es explicada por el modelo en relación con la variación total.
      Varía de 0 a 1, y se puede expresar como un porcentaje si lo multiplicamos por 100. En
      general, cuanto mayor sea el R2
      , mejor se ajustará el modelo a nuestros datos.

      Sin embargo, debes tener ciertas precauciones con su valor:
      Precauciones sobre el coeficiente R2
      .
      A menudo me preguntan cuál debe ser el valor deseable del R2
      , o a partir de qué valor del R2 podemos decir
      que explicamos o predecimos adecuadamente la variable respuesta a partir de nuestro modelo. Pues bien,
      esto no es tan fácil como desearíamos. Veamos las limitaciones del estadístico R2
      :
      1. El valor del R2 depende de cuánta variabilidad está presente en los datos.
      Existen áreas de estudio, como la biología y la psicología, donde las respuestas son más difíciles de
      estimar y predecir que, por ejemplo, los procesos físicos debido a que solemos tener mediciones menos precisas
      y mayor ruido en el proceso estudiado. En estos campos, podemos obtener valores del R2
      inferiores al 50% sin
      que esto implique que nuestro modelo sea malo. Tendrás que utilizar tu conocimiento del campo estudiado
      para determinar si un R2 bajo es problemático. Compara además el valor del R2
      estimado en tu estudio con
      otros estudios similares, y ten en cuenta que su valor puede verse muy afectado por un solo punto de los
      datos (o unos pocos), como veremos más adelante.
      2. El valor del R2 no nos dice si un modelo de regresión lineal es adecuado.
      El coeficiente R2 mide la fuerza de una relación lineal. El valor R2 = 0 sugiere que no hay una
      relación lineal entre X e Y , sin embargo, la relación entre ellas puede seguir una relación no lineal perfecta
      (e.g. curvilínea). Antes de realizar un análisis de regresión lineal, debes realizar un diagrama de dispersión
      para evaluar si existe una tendencia en la relación de las variables.
      Los gráficos son esenciales para interpretar correctamente el valor del R2
      . Por ejemplo, en
      el conjunto de datos de Anscombe hemos visto cuatro casos con el mismo valor de R2 pero con relaciones
      muy distintas, y solo en uno de ellos tenía sentido ajustar un modelo de regresión lineal.
      Además, un valor alto del R2
      sugiere que considerar el predictor en cuestión para modelar la respuesta,
      es mejor que no hacerlo. Sin embargo, no nos dice si aún podríamos conseguir un modelo mejor. Podemos
      obtener un valor del R2 bajo para un buen modelo, o un valor del R2 alto para un modelo que
      no se ajusta a los datos. Debemos ser cautos con los procedimientos automáticos para crear modelos de
      regresión, popularizados en los últimos años a través del Big Data.
      3. El valor de R2 no afecta la interpretación de variables significativas.
      Para determinar si la relación es significativa y cuantificarla, el valor del R2
      es irrelevante. Un R2 bajo
      no niega un predictor significativo ni cambia el significado de un coeficiente. Y un R2 alto no implica que
      la pendiente sea significativa. Para verificar si el modelo es adecuado debemos evaluar la significación y
      diagnóstico del modelo, como veremos en próximas secciones.
      4. El valor de R2 no nos dice si nuestras predicciones serán precisas.
      No nos indica si las predicciones del modelo están sesgadas ni si las predicciones son lo suficientemente
      precisas para tus necesidades. Nuevamente, para ello, debemos realizar el diagnóstico del modelo a partir de
      los gráficos de residuos. Pero también debemos considerar nuestros requisitos para el ancho del intervalo
      de predicción. Es decir, qué tanto queremos afinar nuestras predicciones. Por ejemplo, podemos considerar
      con qué precisión necesita predecir nuestro cliente el número de ventas, en lugar de qué valor de R2 necesita.
      Veremos más adelante cómo calcular y representar los intervalos de predicción.
      En definitiva, el valor R2
      es una medida de resumen útil de la fuerza de la asociación entre X e Y , pero
      no debe utilizarse de manera aislada. Debemos tener cuidado con la interpretación del R2 y evaluarlo
      junto con los gráficos de residuos (diagnóstico), el resto de estadísticos del modelo (significación y coeficientes)
      y el conocimiento del campo de estudio para completar la imagen.
      Preguntarnos sobre qué tan alto debe ser el R2
      en el análisis de regresión, es incorrecto. El R2 debe ser
      igual al porcentaje de la variación de la variable de respuesta que se explica por un modelo lineal, ni más ni
      menos.
      No necesitamos un valor en particular del R2 para obtener una interpretación válida de
      nuestro modelo.
      En su lugar, debes preguntarte: ¿El modelo es lógico? ¿se ajusta a la teoría? ¿Los datos que tengo
      son confiables? ¿Cómo interpreto los p-valores y los coeficientes de la regresión? ¿El diagnóstico gráfico del
      modelo se ve bien? ¿cumple con los supuestos (requisitos)?

      Saludos

      Responder

      Rosana Ferrero 3 de mayo de 2021, 13:53

  • Genial

    Responder

    VL Barradas 24 de enero de 2022, 17:53

    • Muchas gracias! Si lo deseas puedes suscribirte al blog para acceder a las últimas novedades. Saludos

      Responder

      Rosana Ferrero 25 de enero de 2022, 08:45

  • Buenas, podrías explicarme lo que son las colas y qué implica que sean cortas al mostrarme una gráfica de S invertida?
    Un saludo y muchas gracias. Buen contenido.

    Responder

    Julio 19 de abril de 2022, 11:12

    • Hola Julio,
      te debo un post al respecto, no podía explicarlo todo en un único post y asumí cierto conocimiento sobre distribuciones.
      Pero mira, he encontrado este material que es muy interesante, sencillo de comprender porque es bastante experimental: https://seankross.com/2016/02/29/A-Q-Q-Plot-Dissection-Kit.html
      Si necesitas cualquier otra aclaración no dudes en escribirme.
      Un saludo

      Responder

      Rosana Ferrero 19 de abril de 2022, 12:03

  • Muchas gracias por la explicación, ahora todo lo veo con mayor claridad, una consulta, tendrás alguna página de videos en You tube para seguirte?

    Responder

    Sandra 9 de noviembre de 2022, 22:28

  • Hola:
    Muy útil la información que publican.
    Necesito profundizar en regresión logística binaria y múltiple en SPSS.
    ¿Podrían darme algún link?
    Gracias

    Responder

    IDANIA 14 de agosto de 2023, 01:31

Te llamamos

Introduce los siguientes datos y nos pondremos en contacto contigo para atender tus dudas sin compromiso.

Te llamamos

Muchas gracias por solicitar información.
Te contactaremos lo antes posible.

Diseño web: Albin Soft.