Curso
Has ajustado un modelo de regresión, el R² tiene buena pinta y los coeficientes encajan con la intuición. Pero una tabla de resultados impecable puede ocultar un modelo mal especificado. Hay un diagrama de dispersión que suele detectar lo que los números no muestran: el gráfico de residuos.
En este artículo verás qué son los gráficos de residuos, cómo leerlos, los patrones que merece la pena conocer y cómo crearlos tanto en Python como en R. La mayoría de principiantes se saltan por completo este paso de diagnóstico. Cuando termines de leer, tú no lo harás.
¿Qué es un gráfico de residuos?
Un residuo es la diferencia entre lo que predijo tu modelo y lo que ocurrió realmente: residuo = observado − predicho. Un gráfico de residuos pone esas diferencias a la vista. El eje x muestra los valores predichos (ajustados) o una variable explicativa; el eje y muestra los residuos. Una línea horizontal de referencia se sitúa en cero, que representa una predicción perfecta.

Dispersión aleatoria alrededor de cero: un gráfico de residuos sano. Imagen del autor.
La idea clave: si tu modelo ha capturado bien la relación, los residuos deberían parecer ruido. Dispersos de forma aleatoria alrededor de cero, sin patrones evidentes. En cuanto aparece una forma, tu modelo te está diciendo algo que no puede expresar solo con los coeficientes.
Cómo interpretar un gráfico de residuos
Busca patrones. En el mejor de los casos, no debería haber ninguno evidente. Esa es la regla. Lo interesante viene de lo que revelan la localización, la dispersión y la forma de los residuos.
Localización: ¿la dispersión está centrada en cero?
Si los residuos quedan por encima de cero en algunas regiones de los valores ajustados y por debajo en otras, el modelo está sesgado. Predice de forma sistemática por exceso o por defecto en ciertas zonas. A menudo indica que falta una variable o que existe una relación no lineal que un modelo lineal no captura.
Dispersión: ¿la varianza se mantiene más o menos constante?
Escanea de izquierda a derecha. Si la dispersión de los residuos es aproximadamente la misma en todos los valores ajustados, es buena señal. Si los puntos se abren en abanico a medida que aumentan los valores ajustados, la varianza está cambiando. Esto se llama heterocedasticidad. No estropea las estimaciones de los coeficientes, pero vuelve poco fiables los errores estándar, lo cual importa si haces pruebas de hipótesis.
Forma: ¿hay una curva o una tendencia?
Lo ideal es algo plano y sin patrón. Una forma en U o un arco señala que falta un término no lineal. Agrupaciones o bandas sugieren subgrupos que el modelo trata como uno solo. Un único punto muy alejado del resto merece ser investigado.
Patrones comunes en gráficos de residuos y qué significan
Cuatro patrones en gráficos de residuos que delatan problemas de modelo. Imagen del autor.
Dispersión aleatoria alrededor de cero
El buen resultado. Puntos distribuidos de forma más o menos uniforme por encima y por debajo de la línea cero, sin tendencia apreciable, suele indicar que el modelo está capturando razonablemente bien la relación. Se espera cierta aleatoriedad.
Patrón curvado
Un patrón curvado o en forma de arco suele significar una relación no lineal no modelizada. El modelo ajusta una línea recta a unos datos que se curvan. La solución típica es añadir un término polinómico (como x²) o aplicar una transformación al predictor. Es uno de los patrones más habituales en la práctica, especialmente al modelar precios de la vivienda o crecimiento biológico.
Forma de embudo o abanico
Residuos que se dispersan más a medida que aumentan los valores ajustados: eso es heterocedasticidad; la varianza no es constante. Es común en datos financieros, donde los errores de predicción crecen con la magnitud del resultado. Una transformación logarítmica de la variable respuesta suele ser un buen primer paso; los mínimos cuadrados ponderados son otra opción.
Grupos o conglomerados
Grupos diferenciados en el gráfico de residuos suelen indicar que los datos contienen subpoblaciones que el modelo no está teniendo en cuenta. Probablemente haya una variable categórica (región, grupo de tratamiento, tipo de producto) que debería entrar en el modelo. Si ves dos o tres bandas de puntos bien definidas, empieza por ahí.
Residuos grandes y aislados
Un único punto muy alejado del resto merece un vistazo. Puede ser un valor atípico genuino, un error de carga de datos o una observación con características inusuales. No lo elimines automáticamente. Primero entiéndelo. Mantenerlo o quitarlo depende del contexto, no de la comodidad.
Para cada uno de estos patrones, el gráfico de residuos señala un síntoma, no un diagnóstico. Te dice que algo no encaja; aún tienes que averiguar por qué.
¿Qué supuestos de regresión pueden comprobar los gráficos de residuos?
Con los patrones en mente, conviene aclarar qué supuestos de regresión un gráfico de residuos puede y no puede evaluar.
- Linealidad: Si la relación entre predictores y resultado es realmente lineal, los residuos no deberían mostrar tendencia al representarlos frente a los valores ajustados. Una curva o un arco es una señal visual directa de que la linealidad no se cumple.
- Varianza constante: El patrón en embudo es exactamente cómo se ve la heterocedasticidad. Si la dispersión aumenta con los valores ajustados, se viola la igualdad de varianzas. El gráfico de residuos frente a ajustados es probablemente la herramienta más común para detectarlo.
- Independencia: Si tus observaciones tienen un orden natural (tiempo, espacio, grupos de sujetos), puedes representar los residuos frente a ese orden para buscar patrones. Residuos con tendencia en un gráfico ordenado en el tiempo sugieren autocorrelación. Un gráfico simple de residuos frente a ajustados no siempre revela esto; a veces necesitas un gráfico específico de residuos frente a orden.
- Valores atípicos y observaciones influyentes: Residuos grandes y aislados señalan observaciones que el modelo predice mal. Para influencia específicamente, es decir, observaciones que tiran desproporcionadamente de la recta de regresión, el gráfico de residuos frente a apalancamiento (Residuals vs. Leverage) es más informativo que el gráfico básico de residuos.
Una cosa que los gráficos de residuos no pueden evaluar de forma fiable es la normalidad. Un gráfico plano de residuos frente a ajustados no confirma que los errores sigan una distribución normal. Para eso necesitas un gráfico Q-Q. Es una fuente común de confusión y conviene tenerlo claro.
Cómo crear un gráfico de residuos en Python
El flujo de trabajo estándar usa scikit-learn para ajustar el modelo y calcular los residuos, y matplotlib para visualizarlos. Aquí tienes un ejemplo completo con regresión lineal simple sobre datos de vivienda:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# Sample data: square footage predicting home price
sqft = np.array([800, 1000, 1200, 1500, 1800, 2000, 2200, 2500, 3000, 3500])
price = np.array([150, 180, 210, 260, 300, 330, 370, 420, 500, 560])
# Reshape for sklearn and fit the model
X = sqft.reshape(-1, 1)
model = LinearRegression()
model.fit(X, price)
# Generate predictions and calculate residuals
predicted = model.predict(X)
residuals = price - predicted
# Plot residuals against fitted values
plt.figure(figsize=(8, 5))
plt.scatter(predicted, residuals, color='steelblue', edgecolors='white', s=80)
plt.axhline(y=0, color='red', linestyle='--', linewidth=1.2)
plt.xlabel('Fitted Values')
plt.ylabel('Residuals')
plt.title('Residual Plot')
plt.tight_layout()
plt.show()

La línea clave es residuals = price - predicted. La llamada a axhline() añade la línea de referencia en cero; sin ella, el gráfico se lee mucho peor. Si este resultado parece más o menos sin patrón, vas por buen camino. Fíjate en que los residuos crecen a valores ajustados altos. Con solo 10 puntos es difícil asegurarlo, pero apunta a la forma de abanico de la que hablábamos antes.
Si quieres profundizar en regresión en Python, nuestro curso Introduction to Regression with statsmodels in Python recorre en detalle el ajuste de modelos, la comprobación de supuestos y la interpretación.
Cómo crear un gráfico de residuos en R
R lo pone un poco más fácil de serie. Una vez que has ajustado un modelo con lm(), la función plot() genera automáticamente un panel completo de diagnósticos, incluido el gráfico de residuos frente a ajustados.
# Same housing data in R
sqft <- c(800, 1000, 1200, 1500, 1800, 2000, 2200, 2500, 3000, 3500)
price <- c(150, 180, 210, 260, 300, 330, 370, 420, 500, 560)
# Fit the model and view diagnostics
housing_model <- lm(price ~ sqft)
plot(housing_model, which = 1) # which = 1 gives residuals vs. fitted
El argumento which = 1 muestra solo el gráfico de residuos frente a ajustados. Si lo omites, obtienes los cuatro gráficos de diagnóstico estándar: residuos vs. ajustados, Q-Q, escala-localización y residuos vs. apalancamiento. Útil cuando quieres una visión completa rápida. R también anota por índice los tres puntos más extremos, lo que te evita buscar manualmente los outliers.
Para un recorrido completo por la regresión en R, nuestro curso Introduction to Regression in R cubre desde cero la construcción de modelos y los diagnósticos.
Gráficos de residuos vs. otros gráficos de diagnóstico de regresión
El gráfico de residuos frente a ajustados es el punto de partida, no toda la película. Hay otros gráficos relacionados que responden a preguntas distintas.
Gráfico de residuos vs. gráfico Q-Q
El gráfico de residuos frente a ajustados comprueba linealidad y varianza constante. El gráfico Q-Q comprueba la normalidad, es decir, si los residuos siguen una distribución normal. Son cuestiones diferentes. Un gráfico de residuos limpio no garantiza normalidad, y un Q-Q no te dice nada sobre la varianza. En general, necesitas ambos.

Dos gráficos distintos, dos preguntas distintas sobre tu modelo. Imagen del autor.
Gráfico de residuos vs. gráfico escala-localización
El gráfico escala-localización (también llamado dispersión-localización) representa la raíz cuadrada de los residuos estandarizados absolutos frente a los valores ajustados. Está diseñado para detectar heterocedasticidad y a menudo hace que el patrón en embudo sea más fácil de ver que en el gráfico de residuos bruto, porque elimina el signo del residuo y se centra únicamente en la dispersión.
Gráfico de residuos vs. gráfico de residuos frente a apalancamiento
El apalancamiento mide lo inusuales que son los valores de los predictores de una observación, no lo mal que la predice el modelo. Un apalancamiento alto combinado con un residuo grande es una observación potencialmente influyente. El gráfico de residuos frente a apalancamiento identifica estas combinaciones y suele resaltar por nombre los puntos más problemáticos. Si te preocupa que observaciones influyentes distorsionen tu modelo, revisa este gráfico.
Qué hacer cuando un gráfico de residuos muestra un problema
Un gráfico de residuos es un diagnóstico, no una sentencia. Ver un patrón no significa que el modelo no sirva. Así se traducen los patrones habituales en próximos pasos:
- Patrón curvado: plantéate añadir un término polinómico o transformar un predictor. Una transformación logarítmica de x o un término x² suelen enderezar la relación.
- Forma de embudo: prueba una transformación logarítmica o de raíz cuadrada de la variable respuesta. Si no funciona, los mínimos cuadrados ponderados restan influencia a las observaciones más ruidosas.
- Residuos grandes y aislados: investiga la observación. Comprueba primero si hay errores de datos. Si el punto es legítimo, valora si tu modelo debe tener en cuenta aquello que lo hace inusual.
- Grupos o conglomerados: busca una variable categórica que no hayas incluido. A veces, modelos separados por subgrupo son la mejor solución.
El gráfico de residuos muestra síntomas. No te da la causa exacta, y un mismo patrón puede tener múltiples explicaciones. Úsalo como detonante para hacer mejores preguntas.
Errores comunes al leer gráficos de residuos
- Esperar un diagrama perfectamente aleatorio: Los datos reales son desordenados. Unos pocos puntos que no encajan, ligera asimetría, algo de agrupación en los extremos: es normal. La cuestión no es si el gráfico es perfectamente aleatorio; es si hay un patrón sistemático que un modelo mejor eliminaría.
- Tratar todo valor atípico como dato malo: Un residuo grande significa que el modelo predijo mal esa observación. No que la observación sea errónea. A veces el outlier es el punto más interesante del conjunto de datos. Elimínalo solo después de entender qué es.
- Suponer que un gráfico de residuos prueba la normalidad: no lo hace. Un gráfico de residuos frente a ajustados te habla de linealidad y varianza constante. La normalidad requiere un Q-Q. Estos dos diagnósticos se complementan, no se sustituyen.
- Mirar el gráfico sin considerar el contexto: Un gráfico de residuos de una serie temporal se lee de forma distinta al de un conjunto de datos transversal. Qué se considera preocupante depende de la estructura de los datos, el tamaño muestral y el uso del modelo. Un patrón que conviene corregir en un modelo de previsión quizá sea ignorable en un análisis exploratorio.
Conclusión
Ajustar un modelo, revisar el resumen, sentirse bien con el R²: aquí es donde la mayoría se detiene. El gráfico de residuos es lo que debes mirar después, y con frecuencia cuenta otra historia. Lo deseable es una dispersión aleatoria alrededor de cero. Curvas, embudos, grupos y puntos extremos e aislados sugieren que hay algo que el modelo no ha tenido en cuenta.
Ningún gráfico te da la visión completa. Combina el gráfico de residuos frente a ajustados con un Q-Q para la normalidad, un escala-localización para la varianza y un gráfico de apalancamiento si te preocupan las observaciones influyentes. Cada uno responde a una pregunta distinta.
Si quieres ir más allá, nuestro curso Intermediate Regression with statsmodels in Python cubre en profundidad la comprobación de supuestos, incluido cómo actuar cuando los diagnósticos señalan un problema. Para una base más amplia sobre los supuestos de la regresión y la evaluación de modelos, nuestro tutorial Assumptions of Linear Regression in Python es la siguiente lectura natural.
Vinod Chugani comenzó su carrera en Tokio como el jefe más joven del equipo de ventas para hedge funds de JPMorgan y más tarde batió un récord individual de ventas en Lehman Brothers, para después crear un negocio de distribución de electrónica en 30 países que superó los 100 millones de SG$ en ingresos antes de dar el salto a los datos. Graduado en Economía por Duke y antiguo alumno de NYC Data Science Academy, fue uno de los tres becados entre más de 100 solicitantes para el curso Building AI Applications de Hugo Bowne-Anderson en Maven. Hoy escribe en DataCamp, KDnuggets, Machine Learning Mastery y Statology sobre temas que van desde estadística hasta IA agentiva, y mentoriza a profesionales de datos en NYC Data Science Academy con más de 1.000 sesiones uno a uno a sus espaldas.
FAQs
¿Qué significa que un gráfico de residuos muestre un patrón curvado?
Un patrón curvado o en forma de arco suele indicar una relación no lineal entre tu predictor y el resultado que el modelo no ha capturado. Como la regresión lineal ajusta una línea recta, cualquier curvatura en la relación real aparece como una curva sistemática en los residuos. La solución habitual es añadir un término polinómico (como x²) o aplicar una transformación logarítmica o de raíz cuadrada a la variable predictora.
¿Cuántos residuos deberían parecer atípicos en un conjunto de datos normal?
En un modelo bien ajustado con errores normalmente distribuidos, aproximadamente el 5% de los residuos estandarizados caerán fuera de ±2 y menos del 0,3% fuera de ±3 solo por azar, así que se esperan algunos puntos extremos y no son automáticamente un problema. Lo que debes comprobar es si esos puntos forman un patrón, o si un único punto tiene un residuo lo bastante inusual como para sugerir un posible problema de datos que investigar.
¿Puedo usar un gráfico de residuos para comprobar todos los supuestos de regresión?
No, y es una fuente de confusión habitual. Un gráfico de residuos frente a ajustados ayuda a comprobar linealidad, varianza constante y, potencialmente, independencia si representas los residuos en orden de observación. No puede evaluar de forma fiable la normalidad; para eso necesitas un gráfico Q-Q. Para observaciones influyentes, un gráfico de residuos frente a apalancamiento es más informativo. Piensa en el gráfico de residuos como el primer diagnóstico, no el único.
¿Cuál es la diferencia entre un gráfico de residuos y un gráfico escala-localización?
Ambos evalúan la varianza, pero de forma diferente. Un gráfico de residuos muestra los residuos brutos (positivos y negativos) frente a los valores ajustados, útil para detectar patrones generales, incluidas curvas y grupos. Un gráfico escala-localización muestra la raíz cuadrada de los residuos estandarizados (todos positivos) frente a los valores ajustados, lo que lo hace mejor para aislar la heterocedasticidad. Si el embudo es sutil, el escala-localización suele facilitar verlo.
¿Debo eliminar outliers si el gráfico de residuos muestra residuos grandes y aislados?
No automáticamente. Un residuo grande significa que el modelo predijo mal esa observación, no que la observación sea incorrecta. Antes de eliminar nada, comprueba si se trata de un error de datos, un caso inusual pero legítimo o algo fuera del alcance del modelo. Quitar datos válidos para mejorar un gráfico de residuos es una forma de manipular el modelo. Si la observación es legítima, lo honesto es reconocer las limitaciones del modelo o explorar una estructura de modelo distinta.
¿Qué afecta realmente la heterocedasticidad en un gráfico de residuos?
El patrón de embudo o abanico no sesga tus estimaciones de coeficientes; el modelo sigue dando el efecto medio correcto. Lo que se rompe es la fiabilidad de los errores estándar y, por tanto, de los p-values y los intervalos de confianza. Si usas la regresión solo para predecir, puede que importe menos. Si haces pruebas de hipótesis o construyes intervalos de confianza, tendrás que transformar la variable respuesta o usar correcciones de error estándar para varianzas desiguales.
¿Los gráficos de residuos funcionan igual de bien en modelos de regresión múltiple que en regresión simple?
Sí, y quizá sean aún más importantes en regresión múltiple porque hay más formas de que el modelo falle. El enfoque estándar es representar los residuos frente a los valores ajustados para una visión general y luego frente a cada predictor por separado para comprobar si hay relaciones no lineales que el modelo esté pasando por alto. Las reglas de interpretación son las mismas: busca patrones e investiga cualquier cosa sistemática.
¿En qué se diferencian los gráficos de residuos en series temporales frente a regresión transversal?
En regresión transversal, buscas patrones espaciales (curvas, embudos, agrupaciones) en el gráfico de residuos frente a ajustados. En regresión de series temporales, además debes comprobar si los residuos están correlacionados en el tiempo, ya que la autocorrelación viola el supuesto de independencia y vuelve poco fiables los errores estándar. Representa los residuos frente al índice temporal y busca tendencias o patrones oscilantes; la estadística de Durbin-Watson también puede probar autocorrelación de primer orden. Un gráfico simple de residuos frente a ajustados no detectará esto por sí solo.

