Además de la excelente respuesta de @ mkt, pensé en proporcionar un ejemplo específico para que lo veas y puedas desarrollar algo de intuición.
Generar datos por ejemplo
Para este ejemplo, generé algunos datos usando R de la siguiente manera:
set.seed(124)
n <- 200
x1 <- rnorm(n, mean=0, sd=0.2)
x2 <- rnorm(n, mean=0, sd=0.5)
eps <- rnorm(n, mean=0, sd=1)
y = 1 + 10*x1 + 0.4*x2 + 0.8*x2^2 + eps
Como puede ver en lo anterior, los datos provienen del modelo y=β0+β1∗x1+β2∗x2+β3∗x22+ϵ, dónde ϵ es un término de error aleatorio normalmente distribuido con media 0 y varianza desconocida σ2. Además,β0=1, β1=10, β2=0.4 y β3=0.8, mientras σ=1.
Visualice los datos generados a través de Coplots
Dados los datos simulados sobre la variable de resultado y y las variables predictoras x1 y x2, podemos visualizar estos datos usando coplots :
library(lattice)
coplot(y ~ x1 | x2,
number = 4, rows = 1,
panel = panel.smooth)
coplot(y ~ x2 | x1,
number = 4, rows = 1,
panel = panel.smooth)
Los coplots resultantes se muestran a continuación.
La primera gráfica muestra gráficos de dispersión de y versus x1 cuando x2 pertenece a cuatro rangos diferentes de valores observados (que se superponen) y mejora cada uno de estos gráficos de dispersión con un ajuste suave, posiblemente no lineal, cuya forma se estima a partir de los datos.
La segunda gráfica muestra gráficos de dispersión de y versus x2 cuando x1 pertenece a cuatro rangos diferentes de valores observados (que se superponen) y mejora cada uno de estos gráficos de dispersión con un ajuste suave.
La primera trama sugiere que es razonable suponer que x1 tiene un efecto lineal sobre y cuando se controla x2 y que este efecto no depende de x2.
La segunda trama sugiere que es razonable suponer que x2 tiene un efecto cuadrático en y cuando se controla x1 y que este efecto no depende de x1.
Ajustar un modelo correctamente especificado
Los coplots sugieren ajustar el siguiente modelo a los datos, lo que permite un efecto lineal de x1 y un efecto cuadrático de x2:
m <- lm(y ~ x1 + x2 + I(x2^2))
Construir componentes más gráficos residuales para el modelo especificado correctamente
Una vez que el modelo especificado correctamente se ajusta a los datos, podemos examinar las gráficas de componentes más residuos para cada predictor incluido en el modelo:
library(car)
crPlots(m)
Estos gráficos de componentes más residuales se muestran a continuación y sugieren que el modelo se especificó correctamente ya que no muestran evidencia de no linealidad, etc. De hecho, en cada uno de estos gráficos, no existe una discrepancia obvia entre la línea azul punteada que sugiera un efecto lineal de el predictor correspondiente y la línea magenta sólida que sugiere un efecto no lineal de ese predictor en el modelo.
Ajustar un modelo especificado incorrectamente
Juguemos al abogado del diablo y digamos que nuestro modelo lm () fue de hecho incorrectamente especificado (es decir, mal especificado), en el sentido de que omitió el término cuadrático I (x2 ^ 2):
m.mis <- lm(y ~ x1 + x2)
Construir componentes más gráficos residuales para el modelo especificado incorrectamente
Si construyéramos gráficas de componentes más residuos para el modelo mal especificado, veríamos inmediatamente una sugerencia de no linealidad del efecto de x2 en el modelo mal especificado:
crPlots(m.mis)
En otras palabras, como se ve a continuación, el modelo mal especificado no pudo capturar el efecto cuadrático de x2 y este efecto se muestra en el gráfico de componente más residual correspondiente al predictor x2 en el modelo mal especificado.
La especificación errónea del efecto de x2 en el modelo m.mis también sería evidente al examinar las gráficas de los residuos asociados con este modelo contra cada uno de los predictores x1 y x2:
par(mfrow=c(1,2))
plot(residuals(m.mis) ~ x1, pch=20, col="darkred")
abline(h=0, lty=2, col="blue", lwd=2)
plot(residuals(m.mis) ~ x2, pch=20, col="darkred")
abline(h=0, lty=2, col="blue", lwd=2)
Como se ve a continuación, la gráfica de los residuos asociados con m.mis versus x2 exhibe un patrón cuadrático claro, lo que sugiere que el modelo m.mis no logró capturar este patrón sistemático.
Aumentar el modelo especificado incorrectamente
Para especificar correctamente el modelo m.mis, necesitaríamos aumentarlo para que también incluya el término I (x2 ^ 2):
m <- lm(y ~ x1 + x2 + I(x2^2))
Aquí están las gráficas de los residuos versus x1 y x2 para este modelo correctamente especificado:
par(mfrow=c(1,2))
plot(residuals(m) ~ x1, pch=20, col="darkred")
abline(h=0, lty=2, col="blue", lwd=2)
plot(residuals(m) ~ x2, pch=20, col="darkred")
abline(h=0, lty=2, col="blue", lwd=2)
Observe que el patrón cuadrático visto anteriormente en la gráfica de residuos versus x2 para el modelo mal especificado m.mis ahora ha desaparecido de la gráfica de residuos versus x2 para el modelo m correctamente especificado.
Tenga en cuenta que el eje vertical de todas las gráficas de residuos versus x1 y x2 que se muestran aquí debe etiquetarse como "Residual". Por alguna razón, R Studio corta esa etiqueta.