La regresión lineal múltiple es una extensión de la regresión lineal simple que permite modelar la relación entre una variable dependiente \(Y\) y múltiples variables independientes \(X_1, X_2, \dots, X_k\).
Este modelo surge cuando se desea explicar una respuesta utilizando más de un predictor, ya que muchos fenómenos del mundo real están influenciados por múltiples factores simultáneamente.
Se utiliza para:
La forma general del modelo de regresión lineal múltiple es:
\[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k + \varepsilon \]
Donde:
Los supuestos del modelo clásico Gauss-Markov son condiciones necesarias para que los estimadores obtenidos por Mínimos Cuadrados Ordinarios (OLS) sean:
Es decir, bajo estos supuestos, los coeficientes estimados por OLS son los mejores estimadores lineales insesgados (BLUE: Best Linear Unbiased Estimators).
Linealidad en los parámetros
El modelo debe ser lineal respecto a los coeficientes: \[
Y = \beta_0 + \beta_1 X_1 + \cdots + \beta_k X_k + \varepsilon
\]
Esperanza del error igual a cero
Esto significa que los errores (residuos) tienen media cero. En términos prácticos, el modelo no tiene sesgo sistemático al predecir.
Cuando decimos que un modelo no tiene sesgo sistemático, nos referimos a que en promedio, las predicciones del modelo no se desvían del valor real.
\[ \mathbb{E}[\varepsilon_i] = 0 \]
Es decir, si repites muchas veces el modelo con diferentes muestras (o en teoría, infinitas veces), los errores se compensan entre sí: no tienden a ser siempre positivos o siempre negativos.
En regresión múltiple:
Dos o más variables explicativas no deben estar perfectamente
correlacionadas.
Esto permite que los coeficientes de cada predictor sean identificables y únicos.
*No aplica a regresión simple, ya que solo hay una \(X\).
Solo es relevante en regresión múltiple**.
La varianza de los errores debe ser constante a lo largo de todas las observaciones. Si este supuesto se viola, ocurre heterocedasticidad, y aunque los coeficientes siguen siendo insesgados, ya no son eficientes (no son BLUE).
Los errores no deben estar correlacionados entre sí. Este supuesto es clave en análisis de series temporales, donde los valores están ordenados en el tiempo.
Bajo estos cinco supuestos, los estimadores obtenidos por OLS son:
BLUE (Best Linear Unbiased Estimators):
Los mejores (mínima varianza), lineales e insesgados estimadores disponibles.
¿Qué tan buenos son los estimadores que obtenemos al usar regresión lineal por mínimos cuadrados (OLS)?
BLUE (Best Linear Unbiased Estimators):
- Best: tienen la mínima varianza posible
- Linear: son funciones lineales de los datos
- Unbiased: no están sistemáticamente desviados del valor real
Este teorema es válido tanto en regresión simple como en múltiple. Sin embargo, el supuesto de no multicolinealidad solo es relevante en el contexto múltiple, donde hay más de un predictor.
# mtcars viene incluido en R
data(mtcars)
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
La data mtcars (Motor Trend Car Road Tests) es un conjunto de datos clásico en R que contiene información sobre el rendimiento y características técnicas de 32 automóviles evaluados por la revista Motor Trend en 1974.
mtcarsEl conjunto de datos mtcars contiene información técnica
y de rendimiento de 32 automóviles. A continuación, se presenta la
descripción de cada variable:
| Variable | Significado | Tipo |
|---|---|---|
mpg |
Millas por galón (eficiencia de combustible) | Continua |
cyl |
Número de cilindros | Entera |
disp |
Cilindrada (en pulgadas cúbicas) | Continua |
hp |
Caballos de fuerza | Continua |
drat |
Relación del eje trasero (rear axle ratio) | Continua |
wt |
Peso del vehículo (en 1000 libras) | Continua |
qsec |
Tiempo en recorrer 1/4 de milla (en segundos) | Continua |
vs |
Tipo de motor (0 = V-shaped, 1 = en línea) | Binaria |
am |
Tipo de transmisión (0 = automática, 1 = manual) | Binaria |
gear |
Número de marchas (velocidades) | Entera |
carb |
Número de carburadores | Entera |
Queremos predecir el consumo (mpg) a partir de tres
variables:
wt: peso del vehiculohp: caballos de fuerzadisp: cilindradamodelo <- lm(mpg ~ wt + hp + disp, data = mtcars)
summary(modelo)
##
## Call:
## lm(formula = mpg ~ wt + hp + disp, data = mtcars)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.891 -1.640 -0.172 1.061 5.861
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 37.105505 2.110815 17.579 < 2e-16 ***
## wt -3.800891 1.066191 -3.565 0.00133 **
## hp -0.031157 0.011436 -2.724 0.01097 *
## disp -0.000937 0.010350 -0.091 0.92851
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.639 on 28 degrees of freedom
## Multiple R-squared: 0.8268, Adjusted R-squared: 0.8083
## F-statistic: 44.57 on 3 and 28 DF, p-value: 8.65e-11
coeficientes <- summary(modelo)$coefficients
coeficientes
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 37.1055052690 2.11081525 17.57875558 1.161936e-16
## wt -3.8008905826 1.06619064 -3.56492586 1.330991e-03
## hp -0.0311565508 0.01143579 -2.72447633 1.097103e-02
## disp -0.0009370091 0.01034974 -0.09053451 9.285070e-01
Interpretacion:
mpg cuando wt, hp y
disp son cero. No es interpretable en la practica, pero
sirve para definir la recta del modelo.mpg disminuye en promedio 3.8 unidades,
manteniendo hp y disp constantes. Este
coeficiente es estadisticamente significativo
(p = 0.00133).p = 0.01097).mpg (p = 0.92851), por lo
que podria eliminarse del modelo sin afectar mucho el ajuste.cat("mpg =", round(coef(modelo)[1], 2), "+",
round(coef(modelo)[2], 2), "* wt +",
round(coef(modelo)[3], 2), "* hp +",
round(coef(modelo)[4], 5), "* disp")
## mpg = 37.11 + -3.8 * wt + -0.03 * hp + -0.00094 * disp
plot(modelo$fitted.values, modelo$residuals,
main = "Residuos vs Valores Ajustados",
xlab = "Valores Ajustados", ylab = "Residuos", pch = 19, col = "darkgreen")
abline(h = 0, col = "blue", lty = 2)
Interpretacion: La dispersion de los puntos alrededor de la linea 0 sugiere que no hay patrones sistematicos en los residuos, lo cual es deseable.
hist(modelo$residuals, col = "lightblue", main = "Histograma de residuos")
qqnorm(modelo$residuals)
qqline(modelo$residuals, col = "red")
Interpretacion: Si los residuos siguen una distribucion normal, el histograma tendra forma de campana y los puntos del QQ plot estaran alineados con la linea roja.
library(lmtest)
## Cargando paquete requerido: zoo
##
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
bptest(modelo)
##
## studentized Breusch-Pagan test
##
## data: modelo
## BP = 0.9459, df = 3, p-value = 0.8143
dwtest(modelo)
##
## Durbin-Watson test
##
## data: modelo
## DW = 1.3673, p-value = 0.01612
## alternative hypothesis: true autocorrelation is greater than 0
Interpretacion: - Breusch-Pagan
(homocedasticidad): Si p > 0.05, no hay
evidencia de heterocedasticidad. - Durbin-Watson
(autocorrelacion): Si el estadistico esta cerca de 2 y
p > 0.05, los errores son independientes.
Puede afectar la estabilidad de los coeficientes. Si dos o más variables independientes están muy correlacionadas entre sí, los estimadores pueden volverse inestables. Se evalúa con el VIF (Variance Inflation Factor).
install.packages(“car”) # Solo la primera vez library(car) vif(modelo)
VIF ≈ 1: No hay colinealidad.
VIF entre 1 y 5: Moderada colinealidad (aceptable).
VIF > 10: Colinealidad alta. Puede ser preocupante.
vif_manual <- function(modelo) {
X <- model.matrix(modelo)[, -1]
sapply(1:ncol(X), function(i) {
rsq <- summary(lm(X[, i] ~ X[, -i]))$r.squared
1 / (1 - rsq)
})
}
vif_manual(modelo)
## [1] 4.844618 2.736633 7.324517
Interpretacion: Valores de VIF mayores a 5 indican colinealidad moderada; mayores a 10 indican colinealidad severa. Si los valores son bajos, no hay problema de multicolinealidad.
El modelo muestra que wt y hp tienen
efectos negativos y significativos sobre mpg, mientras que
disp no aporta valor estadistico. Los diagnosticos sugieren
que los supuestos del modelo lineal se cumplen adecuadamente.