En muchas situaciones prácticas existen varias variables independientes que se cree que influyen o están relacionadas con una variable de respuesta \(Y\), y por lo tanto, será necesario tomar en cuenta si se quiere predecir o entender mejor el comportamiento de \(Y\). Por ejemplo, para explicar o predecir el consumo de electricidad en una casa habitación tal vez sea necesario considerar el tipo de residencia, el número de personas que la habitan, la temperatura promedio de la zona , etcétera(Pulido & Vara Salazar, 2012).
Sea \(x_1,x_2,...,x_k\) variables independientes o regresoras, y sea \(Y\) una variable de respuesta, entonces el el modelo de regresión lineal múltiple con k variables independientes es el polinomio de primer orden:
\[Y=\beta_0+{\beta_1}x_1+{\beta_2}x_2+{\dotsi}+{\beta_k}x_k+{\varepsilon}\] Donde los \(\beta_j\) son los parámetros del modelo que se conocen como coeficientes de regresión y \(\varepsilon\) es el error aleatorio, con media cero, \(E(\varepsilon)=0\) y \(V(\varepsilon)=\sigma^2\). Si en la ecuación \(k=1\), estamos en un caso de regresión lineal simple y el modelo es una línea recta; si \(k=2\), tal ecuación representa un plano. En general, de acuerdo al número de variables regresoras, representa un hiperplano en el espacio k-dimensional.
Las hipótesis sobre los parámetros de del modelo son equivalentes a las realizadas para regresión lineal simple, pero ahora son más necesarias porque en regresión múltiple exiten un mayor número de parámetros en el modelo y es necesario evaluar su verdadera contribución a la explicación de la respuesta. Para el caso de la RLM también se requiere validar la suposición de que los errores se distribuyen de forma normal, son independientes, con media igual a cero y varianza constante.
Para validar la verdadera contribución de cada uno de los coeficientes de regresión es necesario probar las hipótesis para cada uno de los coeficientes asociados a las variables regresoras:
\[H_0: {\beta_j}=0\] \[H_1:{\beta_j}{\neq}0\]
En lo general,los coeficientes de regresión siguen una distribución t-Student, entonces, el estadístico de prueba para el coeficiente j-ésimo del modelo de RLM está dado por la siguiente expresión:
\[t_0=\frac{\widehat{\beta}_j}{\sqrt{CM_E{C_{{j+1},{j+1}}}}}\]
Donde \(CM_E\) es el cuadrado medio del error y \(C_{{j+1},{j+1}}\) es el elemento de la diagonal de la matriz \((X'X)^{-1}\) correspondiente al parámetro \({\widehat{\beta}_j}\). Se rechaza \(H_0\) si \(|t_0|>t_{({\frac{\alpha}{2}},n-k-1)}\).
Al igual que la RLS, es posible construir intervalos de confianza y
predicción en RLM.
En lo general, se puede estimar al coeficiente j-ésimo del
modelo mediante la siguiente expresión:
\[{\widehat{\beta}_j}-{t_{(\frac{\alpha}{2},n-k-1)}{\sqrt{CM_E{C_{{j+1},{j+1}}}}}}{\leq}{\beta_j}{\leq}{\widehat{\beta}_j}+{t_{(\frac{\alpha}{2},n-k-1)}{\sqrt{CM_E{C_{{j+1},{j+1}}}}}}={1-\alpha}\] De la misma manera, el intervalo de confianza para la respuesta media está dado por:
\[{y_0}-{t_{(\frac{\alpha}{2},n-k-1)}}{\sqrt{CM_E(1+{x'}_0(X'X)^{-1}x_0)}}{\leq}~E(y_0)~{\leq}{y_0}+{t_{(\frac{\alpha}{2},n-k-1)}}{\sqrt{CM_E(1+{x'}_0(X'X)^{-1}x_0)}}\] ## Calidad de ajuste del modelo
A diferencia del modelo RLS, donde el coeficiente de correlación
lineal \(r\) es una valor único, en el
caso de modelo RLM, no se puede hablar de un valor único, si no de una
matriz \(r=r_{ij}\) compuesta por las
comparaciones de la variable de respuesta contra las variables
independientes y también las comparaciones entre las variables
independientes, así es que, es posible definir si existe relación lineal
entre las variables independientes.
Dado lo anterior, es posible eliminar los términos que estan
correlacionados realizando un analisis de Regresión por
pasos.
El que un modelo sea significativo no necesariamente implica que sea bueno en términos de que explique un buen porcentaje de variación de los datos. Por ello es necesario tener mediciones adicionales de la calidad de ajuste del modelo, como las gráficas de residuales y el coeficiente de determinación. El coeficiente de determinación se calcula mediante la siguiente expresión:
\[r^2=\frac{SC_R}{SC_T}\]
Al ser un modelo generalizado para de la RLS, la RLM también utiliza la como prueba de hipótesis para validar la significación de la regresión a la tabla ANOVA, misma que tiene la siguiente estructura:
| Fuente de variación | Suma de cuadrados | Grados de libertad | Cuadrado Medio | \(F_0\) | Valor-p |
|---|---|---|---|---|---|
| Regresión | \(SC_R={\widehat{\beta}'X'y}-{\frac{(\sum_{i=1}^{n}{y_i})^2}{n}}\) | \(k\) | \(CM_R\) | \(\frac{CM_R}{CM_E}\) | \(Pr(F>F_0)\) |
| Error | \(SC_E=y'y-{\widehat{\beta}}'X'y\) | \(n-k-1\) | \(CM_E\) | ||
| Total | \(S_{yy}=y'y-\frac{(\sum_{i=1}^{n}y_i)^2}{n}\) | \(n-1\) |
Para ejemplificar la implementación del modelo RLM, se usará como ejemplo el ejercicio 22 de la página 337 del libro de Análisis y Diseño de Experimentos de Humberto Gutiérrez Pulido (Pulido & Vara Salazar, 2012):
Se realizó un experimento par estudiar el sabor del queso panela en función de la cantidad de cuajo y la sal. La variable de respuesta observada es el valor promedio reportado por un grupo de cinco panelistas que probaron todos los quesos y lo calificaron en una escala organoléptica. Los datos obtenidos se muestran a continuación:
| Sal | Cuajo | Sabor |
|---|---|---|
| 6 | 0.3 | 5.67 |
| 5.5 | 0.387 | 7.44 |
| 4.5 | 0.387 | 7.33 |
| 4 | 0.3 | 6.33 |
| 4.5 | 0.213 | 7.11 |
| 5.5 | 0.213 | 7.22 |
| 5 | 0.3 | 6.33 |
| 5 | 0.3 | 6.66 |
Para resolver el ejemplo, de la misma manera que en la RLS, seguiremos la siguiente metodología:
| Sal | Cuajo | Sabor |
|---|---|---|
| 6.0 | 0.300 | 5.67 |
| 5.5 | 0.387 | 7.44 |
| 4.5 | 0.387 | 7.33 |
| 4.0 | 0.300 | 6.33 |
| 4.5 | 0.213 | 7.11 |
| 5.5 | 0.213 | 7.22 |
| 5.0 | 0.300 | 6.33 |
| 5.0 | 0.300 | 6.66 |
modelo=lm(Sabor~Sal+Cuajo,data = df)
summary(modelo)
##
## Call:
## lm(formula = Sabor ~ Sal + Cuajo, data = df)
##
## Residuals:
## 1 2 3 4 5 6 7 8
## -0.9079 0.6604 0.3671 -0.6146 0.3671 0.6604 -0.4312 -0.1012
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.2986 2.4098 3.029 0.0291 *
## Sal -0.1833 0.4115 -0.446 0.6746
## Cuajo 1.2644 4.0963 0.309 0.7700
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7127 on 5 degrees of freedom
## Multiple R-squared: 0.05549, Adjusted R-squared: -0.3223
## F-statistic: 0.1469 on 2 and 5 DF, p-value: 0.867
coeficientes=confint(modelo)
print(coeficientes)
## 2.5 % 97.5 %
## (Intercept) 1.104057 13.4931561
## Sal -1.241142 0.8744758
## Cuajo -9.265397 11.7941327
mcorr=ggpairs(df,columns = 1:3)
mcorr
anova=aov(modelo)
summary(anova)
## Df Sum Sq Mean Sq F value Pr(>F)
## Sal 1 0.1008 0.1008 0.198 0.675
## Cuajo 1 0.0484 0.0484 0.095 0.770
## Residuals 5 2.5401 0.5080
df=df%>%mutate(Residual=rstudent(modelo),Ajustes=modelo$fitted.values)
df
| Sal | Cuajo | Sabor | Residual | Ajustes |
|---|---|---|---|---|
| 6.0 | 0.300 | 5.67 | -2.4450263 | 6.577917 |
| 5.5 | 0.387 | 7.44 | 1.3625439 | 6.779583 |
| 4.5 | 0.387 | 7.33 | 0.6590056 | 6.962917 |
| 4.0 | 0.300 | 6.33 | -1.2303052 | 6.944583 |
| 4.5 | 0.213 | 7.11 | 0.6590056 | 6.742917 |
| 5.5 | 0.213 | 7.22 | 1.3625439 | 6.559583 |
| 5.0 | 0.300 | 6.33 | -0.6043790 | 6.761250 |
| 5.0 | 0.300 | 6.66 | -0.1361455 | 6.761250 |
qq_res=ggplot(data = df, aes(sample = Residual)) +
stat_qq(shape="+",size=5) +
stat_qq_line() +
ggtitle("Gráfica de Probabilidad Normal de los Residuales") +
xlab("Cuantiles Teóricos") +
ylab("Residuales Studentizados")+
theme_minimal()
qq_res
shapiro=shapiro.test(df$Residual)
print(shapiro)
##
## Shapiro-Wilk normality test
##
## data: df$Residual
## W = 0.92386, p-value = 0.4619
res_aj=ggplot(data=df,aes(x=Ajustes,y=Residual))+
geom_point()+
geom_hline(aes(yintercept=mean(Residual),color="red"))+
stat_smooth(method = "loess",color="#57BBA9",fill="#A6CC7E",formula='y~x',level = 0.95)+
theme_minimal()+
theme(legend.position = "none")
res_aj
bartlett=bartlett.test(list(df$Ajustes,df$Residual))
print(bartlett)
##
## Bartlett test of homogeneity of variances
##
## data: list(df$Ajustes, df$Residual)
## Bartlett's K-squared = 19.997, df = 1, p-value = 7.758e-06
library(quantreg)
modelo.cuantil=rq(Sabor~(Sal+Cuajo),data = df,tau = 0.5)
## Warning in rq.fit.br(x, y, tau = tau, ...): Solution may be nonunique
summary(modelo.cuantil)
## Warning in rq.fit.br(x, y, tau = tau, ci = TRUE, ...): Solution may be
## nonunique
##
## Call: rq(formula = Sabor ~ (Sal + Cuajo), tau = 0.5, data = df)
##
## tau: [1] 0.5
##
## Coefficients:
## coefficients lower bd upper bd
## (Intercept) 2.889310e+00 -1.797693e+308 1.797693e+308
## Sal 3.300000e-01 -1.075810e+00 9.967100e-01
## Cuajo 7.068970e+00 -1.797693e+308 1.797693e+308
prediccion=function(x,y){
z=modelo.cuantil$coefficients[[1]]+modelo.cuantil$coefficients[[2]]*x+modelo.cuantil$coefficients[[3]]*y
return(z)
}
x=c(3.5,4,7)
y=c(.6,.5,.4)
prediccion=data.frame("Sal"=x,"Cuajo"=y,"Prediccion"=prediccion(x=x,y=y))
prediccion
| Sal | Cuajo | Prediccion |
|---|---|---|
| 3.5 | 0.6 | 8.285690 |
| 4.0 | 0.5 | 7.743793 |
| 7.0 | 0.4 | 8.026897 |