En este ejercicio se pretende encontrar un modelo de RLM (Regresión Lineal Múltiple) a partir de los datos suministrados en la tabla B3 del libro de Montgomery, D.C., Peck, E.A., and Vining, C.G. (2001). Introduction to Linear Regression Analysis. 3rd Edition, John Wiley and Sons.
A continuación se incluyen las librerías requeridas para el análisis realizado, se cargan y presentan los datos, además de realizarse una análisis preliminar del contenido de la tabla.
library(MPV) #Librería que contiene los datos de interés
library(car) #Librería para realizar el análisis de multicolinealidad
library(MASS)#Librería selección variables
library(lmtest)#Prueba analítica de de homocedasticidad
data("table.b3")
# View(table.b3)
# ?table.b3
datos=table.b3
head(datos)
## y x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11
## 1 18.90 350 165 260 8.00 2.56 4 3 200.3 69.9 3910 1
## 2 17.00 350 170 275 8.50 2.56 4 3 199.6 72.9 3860 1
## 3 20.00 250 105 185 8.25 2.73 1 3 196.7 72.2 3510 1
## 4 18.25 351 143 255 8.00 3.00 2 3 199.9 74.0 3890 1
## 5 20.07 225 95 170 8.40 2.76 1 3 194.1 71.8 3365 0
## 6 11.20 440 215 330 8.20 2.88 4 3 184.5 69.0 4215 1
La tabla contiene observaciones sobre el rendimiento de combustible para \(32\) automóviles diferentes. Interesa hallar un modelo de RLM que permita predecir el desempeño promedio medido en millas por galón (\(y\)) en función de las características del vehículo definidas por las siguientes variables:
\(X_1\) Desplazamiento (pulgadas cúbicas)
\(X_2\) caballos de fuerza (ft-lb)
\(X_3\) Torque (ft-lb)
\(X_4\) Relación de compresión
\(X_5\) Relación del eje trasero
\(X_6\) Carburador (barriles)
\(X_7\) Número de velocidades de transmisión
\(X_8\) Longitud total (pulg)
\(X_9\) Ancho (pulg)
\(X_{10}\) Peso (libras)
\(X_{11}\) Tipo de transmisión (1=automatic, 0=manual)
Inicialmente se obtienen las medidas descriptivas de las variables continuas que hacen parte de la base de datos.
summary(datos[1:11])
## y x1 x2 x3
## Min. :11.20 Min. : 85.3 Min. : 70.0 Min. : 81.0
## 1st Qu.:16.48 1st Qu.:211.5 1st Qu.:102.8 1st Qu.:171.2
## Median :19.30 Median :318.0 Median :141.5 Median :243.0
## Mean :20.22 Mean :285.0 Mean :136.9 Mean :217.9
## 3rd Qu.:21.66 3rd Qu.:353.2 3rd Qu.:166.2 3rd Qu.:258.8
## Max. :36.50 Max. :500.0 Max. :223.0 Max. :366.0
## NA's :2
## x4 x5 x6 x7
## Min. :7.600 Min. :2.450 Min. :1.000 Min. :3.000
## 1st Qu.:8.000 1st Qu.:2.710 1st Qu.:2.000 1st Qu.:3.000
## Median :8.250 Median :3.000 Median :2.000 Median :3.000
## Mean :8.281 Mean :3.055 Mean :2.594 Mean :3.344
## 3rd Qu.:8.500 3rd Qu.:3.228 3rd Qu.:4.000 3rd Qu.:3.250
## Max. :9.000 Max. :4.300 Max. :4.000 Max. :5.000
##
## x8 x9 x10
## Min. :155.7 Min. :61.80 Min. :1905
## 1st Qu.:175.2 1st Qu.:65.40 1st Qu.:2940
## Median :195.7 Median :72.00 Median :3755
## Mean :192.0 Mean :71.28 Mean :3587
## 3rd Qu.:202.6 3rd Qu.:76.30 3rd Qu.:4215
## Max. :231.0 Max. :79.80 Max. :5430
##
De manera exploratoria, se revisan los datos y se identifica si hay datos faltantes:
sapply(datos, function(datos) sum(is.na(datos)))
## y x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11
## 0 0 0 2 0 0 0 0 0 0 0 0
Para la variable \(X_3\) Torque (ft-lb) hay dos datos faltantes, así que se procede a eliminar los datos de los dos vehículos (vehículo 23 y vehículo 25), así que el análisis se realizará con los registros de 30 automóviles.
datos = na.omit(datos)
A continuación, se presenta la tabla con coeficientes de correlación de Spearman, toda vez que la variable “\(X_{11}\): Tipo de transmisión” es de naturaleza categórica. De acuerdo con los datos, es posible que se presente multicolinealidad:
round(cor(x = datos, method = "spearman"), 4)
## y x1 x2 x3 x4 x5 x6 x7 x8
## y 1.0000 -0.8737 -0.8381 -0.8160 0.2386 0.2311 -0.5564 0.6782 -0.7634
## x1 -0.8737 1.0000 0.9573 0.9508 -0.2061 -0.4302 0.6438 -0.7285 0.8401
## x2 -0.8381 0.9573 1.0000 0.9676 -0.1816 -0.4831 0.7528 -0.7035 0.7938
## x3 -0.8160 0.9508 0.9676 1.0000 -0.1286 -0.5609 0.6742 -0.7282 0.8304
## x4 0.2386 -0.2061 -0.1816 -0.1286 1.0000 0.0872 0.1368 0.3372 -0.2765
## x5 0.2311 -0.4302 -0.4831 -0.5609 0.0872 1.0000 -0.1563 0.7259 -0.4457
## x6 -0.5564 0.6438 0.7528 0.6742 0.1368 -0.1563 1.0000 -0.2503 0.4000
## x7 0.6782 -0.7285 -0.7035 -0.7282 0.3372 0.7259 -0.2503 1.0000 -0.7180
## x8 -0.7634 0.8401 0.7938 0.8304 -0.2765 -0.4457 0.4000 -0.7180 1.0000
## x9 -0.7730 0.7757 0.7042 0.7283 -0.3081 -0.2442 0.2711 -0.6688 0.8752
## x10 -0.8507 0.9208 0.8737 0.8864 -0.2711 -0.3748 0.4983 -0.7270 0.9493
## x11 -0.6796 0.7682 0.7589 0.7679 -0.3096 -0.6645 0.3745 -0.9070 0.7104
## x9 x10 x11
## y -0.7730 -0.8507 -0.6796
## x1 0.7757 0.9208 0.7682
## x2 0.7042 0.8737 0.7589
## x3 0.7283 0.8864 0.7679
## x4 -0.3081 -0.2711 -0.3096
## x5 -0.2442 -0.3748 -0.6645
## x6 0.2711 0.4983 0.3745
## x7 -0.6688 -0.7270 -0.9070
## x8 0.8752 0.9493 0.7104
## x9 1.0000 0.8867 0.6364
## x10 0.8867 1.0000 0.7406
## x11 0.6364 0.7406 1.0000
plot(datos)
A continuación, se presenta el Análisis de Varianza (ANOVA) para determinar si un modelo saturado, incluyendo las 11 variables independientes, es significativo.
datos$x11=factor(datos$x11)
modelo = lm(y ~ ., data = datos )
anova(modelo)
## Analysis of Variance Table
##
## Response: y
## Df Sum Sq Mean Sq F value Pr(>F)
## x1 1 866.50 866.50 83.2276 3.597e-08 ***
## x2 1 5.60 5.60 0.5375 0.47291
## x3 1 3.70 3.70 0.3554 0.55851
## x4 1 15.59 15.59 1.4976 0.23682
## x5 1 2.24 2.24 0.2148 0.64858
## x6 1 9.41 9.41 0.9039 0.35433
## x7 1 6.92 6.92 0.6645 0.42564
## x8 1 0.16 0.16 0.0157 0.90157
## x9 1 33.14 33.14 3.1834 0.09126 .
## x10 1 7.98 7.98 0.7670 0.39270
## x11 1 0.46 0.46 0.0446 0.83503
## Residuals 18 187.40 10.41
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(modelo)
##
## Call:
## lm(formula = y ~ ., data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.3441 -1.6711 -0.4486 1.4906 5.2508
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 17.339838 30.355375 0.571 0.5749
## x1 -0.075588 0.056347 -1.341 0.1964
## x2 -0.069163 0.087791 -0.788 0.4411
## x3 0.115117 0.088113 1.306 0.2078
## x4 1.494737 3.101464 0.482 0.6357
## x5 5.843495 3.148438 1.856 0.0799 .
## x6 0.317583 1.288967 0.246 0.8082
## x7 -3.205390 3.109185 -1.031 0.3162
## x8 0.180811 0.130301 1.388 0.1822
## x9 -0.397945 0.323456 -1.230 0.2344
## x10 -0.005115 0.005896 -0.868 0.3971
## x111 0.638483 3.021680 0.211 0.8350
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.227 on 18 degrees of freedom
## Multiple R-squared: 0.8355, Adjusted R-squared: 0.7349
## F-statistic: 8.31 on 11 and 18 DF, p-value: 5.231e-05
qf(0.95,11,18)
## [1] 2.374156
El coeficiente de determinación es 0.8355, esto implica que el 83.55% de la variabilidad de la variable millas por galón (\(y\)) es explicado por el modelo de regresión lineal obtenido.
El coeficiente de determinación ajustado es 0.7349, esto implica que el \(73.49\%\) de la variablidad de la variable millas por galón (\(y\)) es explicado por el modelo de regresión lineal incluyendo las 11 variables independientes.
El ANOVA o prueba global busca determinar si hay relación lineal entre la variable millas por galón (\(y\)) y cada una de las variables \(11\) variables independientes, así que se construye a partir del siguiente par de hipótesis:
\[\begin{align} H_0:&=\beta_1=\beta_2=\ldots=\beta_{11}=0\\ H_a&=\beta_i \neq 0 \; \text{al menos para una} \; i \end{align}\]
El estadístico de prueba \(F\) con \(11\) grados de libertad en el numerador y \(18\) grados de libertad en el denominador es \(8.31\). Este valor debe ser comparado con un valor crítico considerando un nivel de significancia determinado \(\alpha\). Si \(\alpha=0.05\), el valor crítico sería \(F_{0.95;11;18}=2.3741\). Como la regla de decisión es rechazar la hipótesis nula si \(F>f_{1-\alpha} (k,n-k-1)\), entonces efectivamente se rechaza la hipótesis nula y por lo tanto sí hay relación lineal entre alguna o algunas de las variables independientes y la variable millas por galón (\(y\)).
Una forma alternativa es usando el valor-p de la prueba F que es \(5.231e-05\) y que se compara directamente con el nivel de significancia. Dado que el valor-p\(<0.05\), la decisión será rechazar \(H_0\), y por lo tanto el modelo es significativo.
Ahora, se estudian las pruebas individuales de cada uno de los parámetros. Para esto se revisan los resultados obtenidos con la función summary(modelo) que presentan la estimación de cada uno de los parámetros, su desviación estándar, el estadístico de prueba t y el valor p. En este caso, se analiza \(H_0:\beta_i=0\) vs \(H_a:\beta_i \neq 0\), para \(i=0,2,\ldots,11\).
A continuación, se presentan los intervalos de confianza al \(95\%\) para cada uno de los parámetros:
confint(lm(formula = y ~ ., data = datos))
## 2.5 % 97.5 %
## (Intercept) -46.43443817 81.114113759
## x1 -0.19396794 0.042791594
## x2 -0.25360373 0.115278389
## x3 -0.07000235 0.300236574
## x4 -5.02119752 8.010670778
## x5 -0.77112903 12.458118083
## x6 -2.39043536 3.025601953
## x7 -9.73754540 3.326765695
## x8 -0.09294007 0.454562918
## x9 -1.07750158 0.281611161
## x10 -0.01750293 0.007272338
## x111 -5.70983208 6.986797539
La siguiente tabla presenta el factor de inflación de la varianza (VIF), que permite identificar presencia de multicolinealidad. En este caso, hay multicolinealidad severa porque el VIF para \(6\) de las \(11\) variables es mayor que \(10\).
library(car)
vif(modelo)
## x1 x2 x3 x4 x5 x6 x7
## 119.487804 42.800811 149.234409 2.060036 7.729187 5.324730 11.761341
## x8 x9 x10 x11
## 20.917632 9.397108 85.744344 5.145052
Dado que existe multicolinealidad, que se hace evidente al estudiar las correlaciones y los factores de inflación de la varianza, el modelo debe ser ajustado identificando las variables que se deben incluir en el modelo, así que se procede a usar el método paso a paso hacia atrás, teniendo en cuenta del criterio de Akaike, obteniendo los siguientes resultados:
stepAIC(modelo)
## Start: AIC=78.96
## y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11
##
## Df Sum of Sq RSS AIC
## - x11 1 0.465 187.87 77.036
## - x6 1 0.632 188.03 77.063
## - x4 1 2.418 189.82 77.346
## - x2 1 6.462 193.86 77.979
## - x10 1 7.836 195.24 78.190
## - x7 1 11.065 198.47 78.683
## <none> 187.40 78.962
## - x9 1 15.758 203.16 79.384
## - x3 1 17.770 205.17 79.679
## - x1 1 18.736 206.14 79.820
## - x8 1 20.047 207.45 80.011
## - x5 1 35.864 223.26 82.215
##
## Step: AIC=77.04
## y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10
##
## Df Sum of Sq RSS AIC
## - x6 1 0.536 188.40 75.121
## - x4 1 2.363 190.23 75.411
## - x2 1 6.642 194.51 76.078
## - x10 1 7.985 195.85 76.285
## <none> 187.87 77.036
## - x7 1 14.124 201.99 77.211
## - x9 1 16.914 204.78 77.622
## - x3 1 17.815 205.68 77.754
## - x1 1 18.280 206.15 77.822
## - x8 1 20.301 208.17 78.114
## - x5 1 36.370 224.24 80.345
##
## Step: AIC=75.12
## y ~ x1 + x2 + x3 + x4 + x5 + x7 + x8 + x9 + x10
##
## Df Sum of Sq RSS AIC
## - x4 1 3.451 191.85 73.666
## - x2 1 6.932 195.33 74.205
## - x10 1 9.351 197.75 74.574
## <none> 188.40 75.121
## - x7 1 14.473 202.87 75.342
## - x3 1 17.802 206.20 75.830
## - x9 1 18.146 206.55 75.880
## - x1 1 18.780 207.18 75.972
## - x8 1 21.244 209.65 76.326
## - x5 1 39.332 227.73 78.809
##
## Step: AIC=73.67
## y ~ x1 + x2 + x3 + x5 + x7 + x8 + x9 + x10
##
## Df Sum of Sq RSS AIC
## - x2 1 10.780 202.63 73.306
## - x7 1 11.113 202.97 73.355
## <none> 191.85 73.666
## - x10 1 14.988 206.84 73.923
## - x1 1 16.602 208.46 74.156
## - x9 1 18.072 209.92 74.366
## - x3 1 21.314 213.17 74.826
## - x8 1 28.835 220.69 75.867
## - x5 1 40.323 232.18 77.389
##
## Step: AIC=73.31
## y ~ x1 + x3 + x5 + x7 + x8 + x9 + x10
##
## Df Sum of Sq RSS AIC
## - x7 1 10.457 213.09 72.815
## - x3 1 10.595 213.23 72.835
## - x1 1 11.998 214.63 73.032
## - x9 1 12.643 215.28 73.122
## - x10 1 13.887 216.52 73.295
## <none> 202.63 73.306
## - x8 1 27.665 230.30 75.145
## - x5 1 30.191 232.82 75.472
##
## Step: AIC=72.82
## y ~ x1 + x3 + x5 + x8 + x9 + x10
##
## Df Sum of Sq RSS AIC
## - x3 1 4.8720 217.96 71.494
## - x9 1 5.2049 218.29 71.539
## - x1 1 5.3212 218.41 71.555
## <none> 213.09 72.815
## - x10 1 18.3677 231.46 73.296
## - x5 1 23.3458 236.44 73.934
## - x8 1 26.0316 239.12 74.273
##
## Step: AIC=71.49
## y ~ x1 + x5 + x8 + x9 + x10
##
## Df Sum of Sq RSS AIC
## - x1 1 0.765 218.73 69.599
## - x9 1 5.863 223.82 70.290
## <none> 217.96 71.494
## - x10 1 20.291 238.25 72.164
## - x5 1 23.020 240.98 72.506
## - x8 1 31.634 249.59 73.559
##
## Step: AIC=69.6
## y ~ x5 + x8 + x9 + x10
##
## Df Sum of Sq RSS AIC
## - x9 1 5.097 223.82 68.290
## <none> 218.73 69.599
## - x5 1 40.404 259.13 72.684
## - x8 1 57.407 276.13 74.591
## - x10 1 135.105 353.83 82.029
##
## Step: AIC=68.29
## y ~ x5 + x8 + x10
##
## Df Sum of Sq RSS AIC
## <none> 223.82 68.290
## - x5 1 36.314 260.14 70.800
## - x8 1 52.960 276.78 72.661
## - x10 1 194.838 418.66 85.076
##
## Call:
## lm(formula = y ~ x5 + x8 + x10, data = datos)
##
## Coefficients:
## (Intercept) x5 x8 x10
## 4.590404 2.597240 0.217814 -0.009485
Se obtuvo un valor para el criterio \(AIC=68.29\) y la forma del modelo estimado es:
\(\hat{y}=\hat{\beta_0}+\hat{\beta_1}X_5+\hat{\beta_2}X_8+ \hat{\beta_3}X_{10}\)
El modelo ajustado se construye teniendo en cuenta las variables \(X_5\) Relación del eje trasero, \(X_8\) Longitud total (pulg), \(X_{10}\) Peso (libras) y \(X_{11}\) Tipo de transmisión (solamente para efectos académicos). El ANOVA se presenta a continuación:
modelo=lm(y~x5+x8+x10+x11,data=datos)
anova(modelo)
## Analysis of Variance Table
##
## Response: y
## Df Sum Sq Mean Sq F value Pr(>F)
## x5 1 458.95 458.95 51.5783 1.584e-07 ***
## x8 1 261.49 261.49 29.3867 1.259e-05 ***
## x10 1 194.84 194.84 21.8964 8.554e-05 ***
## x11 1 1.37 1.37 0.1539 0.6982
## Residuals 25 222.46 8.90
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(modelo)
##
## Call:
## lm(formula = y ~ x5 + x8 + x10 + x11, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.8129 -1.8479 -0.7886 1.9130 5.8798
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.402019 13.204812 0.182 0.85712
## x5 2.985923 1.623221 1.840 0.07775 .
## x8 0.227211 0.092440 2.458 0.02125 *
## x10 -0.009899 0.002285 -4.332 0.00021 ***
## x111 0.944230 2.407268 0.392 0.69820
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.983 on 25 degrees of freedom
## Multiple R-squared: 0.8047, Adjusted R-squared: 0.7735
## F-statistic: 25.75 on 4 and 25 DF, p-value: 1.504e-08
qf(0.95,4,25)
## [1] 2.75871
El coeficiente de determinación es \(0.8047\), esto implica que el \(80.47\%\) de la variabilidad de la variable desempeño promedio medido en millas por galón \((y)\) es explicado por el modelo de regresión lineal obtenido.
El coeficiente de determinación ajustado es \(0.7735\), esto implica que el \(77.35\%\) de la variablidad de la variable desempeño promedio en millas por galón (\(y\)) es explicado por el modelo de regresión lineal incluyendo \(4\) variables independientes.
El estadístico de prueba F con 4 grados de libertad en el numerador y 25 grados de libertad en el denominador es 25.75. Este valor debe ser comparado con un valor crítico considerando un nivel de significancia determinado \(\alpha\). Si \(\alpha=0.5\), el valor crítico sería \(F_{0.95;4;25}=2.75871\). Como la regla de decisión es rechazar la hipótesis nula si \(F>f_{1-\alpha}(k,n-k-1)\) , entonces efectivamente se rechaza la hipótesis nula y por lo tanto si hay relación lineal entre alguna o algunas de las variables independientes consideradas y la variable millas por galón (\(y\)).
El valor-p de la prueba F es 1.504e-08. Este valor se compara directamente con el nivel de significancia. Dado que el valor-p<0.05, la decisión será rechazar \(H_0\), y por lo tanto el modelo es significativo.
Es importante verificar el cumplimiento de supuestos, y el primero que se inspecciona es la presencia de multicolinealidad. A continuación, se presentan los valores de VIF.
vif(modelo)
## x5 x8 x10 x11
## 2.403781 12.317971 15.068497 3.820656
Nuevamente se presenta multicolinealidad, así que se procede a retirar la variable \(X_{10}\) del modelo debido a que es la que obtuvo un mayor valor para el VIF.
Se construye un modelo adicional sin tener en cuenta la variable \(X_{10}\), y los resultados son los siguientes:
modelo=lm(y~x5+x8+x11,data=datos)
anova(modelo)
## Analysis of Variance Table
##
## Response: y
## Df Sum Sq Mean Sq F value Pr(>F)
## x5 1 458.95 458.95 30.6414 8.227e-06 ***
## x8 1 261.49 261.49 17.4579 0.0002933 ***
## x11 1 29.23 29.23 1.9514 0.1742443
## Residuals 26 389.43 14.98
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(modelo)
##
## Call:
## lm(formula = y ~ x5 + x8 + x11, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.5763 -2.2658 -0.0339 2.1597 7.5744
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 44.27749 11.67104 3.794 0.000799 ***
## x5 1.88468 2.08000 0.906 0.373207
## x8 -0.14124 0.04697 -3.007 0.005788 **
## x111 -3.87014 2.77046 -1.397 0.174244
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.87 on 26 degrees of freedom
## Multiple R-squared: 0.6581, Adjusted R-squared: 0.6187
## F-statistic: 16.68 on 3 and 26 DF, p-value: 3.013e-06
qf(0.95,3,26)
## [1] 2.975154
vif(modelo)
## x5 x8 x11
## 2.344822 1.889539 3.006310
El coeficiente de determinación es \(0.6581\), esto implica que el \(65.81\%\) de la variabilidad de la variable desempeño promedio medido en millas por galón \((y)\) es explicado por el modelo de regresión lineal obtenido.
El coeficiente de determinación ajustado es \(0.6187\), esto implica que el \(61.87\%\) de la variablidad de la variable desempeño promedio en millas por galón (\(y\)) es explicado por el modelo de regresión lineal incluyendo \(3\) variables independientes.
El estadístico de prueba F con 3 grados de libertad en el numerador y 26 grados de libertad en el denominador es 16.68. Este valor debe ser comparado con un valor crítico considerando un nivel de significancia determinado \(\alpha\). Si \(\alpha=0.5\), el valor crítico sería \(F_{0.95;3;26}=2.97515\). Como la regla de decisión es rechazar la hipótesis nula si \(F>f_{1-\alpha}(k,n-k-1)\) , entonces efectivamente se rechaza la hipótesis nula y por lo tanto si hay relación lineal entre alguna o algunas de las variables independientes consideradas y la variable millas por galón (\(y\)).
El valor-p de la prueba F es 3.013e-06. Este valor se compara directamente con el nivel de significancia. Dado que el valor-p<0.05, la decisión será rechazar \(H_0\), y por lo tanto el modelo es significativo.
Considerando los resultados anteriores, se observan valores VIF por debajo de \(4\), así que las variables independientes ya no presentan multicolinealidad.
De manaera adicional, se verifica el cumplimiento de supuestos de normalidad, homocedasticidad e independencia, usando pruebas analíticas. En todos los casos, el \(valor-p>0.05\), por lo tanto los residuales son normales, tienen varianza constante y son independientes.
shapiro.test(modelo$residuals)# prueba analítica de normalidad
##
## Shapiro-Wilk normality test
##
## data: modelo$residuals
## W = 0.9886, p-value = 0.9821
bptest(modelo) # prueba analítica de homocedasticidad
##
## studentized Breusch-Pagan test
##
## data: modelo
## BP = 3.7821, df = 3, p-value = 0.286
dwtest(modelo) # prueba analítica de independencia
##
## Durbin-Watson test
##
## data: modelo
## DW = 1.8384, p-value = 0.3006
## alternative hypothesis: true autocorrelation is greater than 0
A partir de las pruebas de inferencia para los coeficientes del modelo anterior, donde interesa analizar \(H_0:\beta_i=0\) vs \(H_a:\beta_i\neq0\), para i=0,1,2, se observa que el valor-p de la prueba para el coeficiente de \(X_5\) es \(0.373207\), mayor que \(0.05\), por lo tanto, no se rechaza la hipótesis nula y este coeficiente toma el valor de \(0\). Así que es posible construir un modelo solamente con las variables \(X_8\) y \(X_{11}\). Este modelo estaría dado por:
modelo=lm(y~x8+x11,data=datos)
anova(modelo)
## Analysis of Variance Table
##
## Response: y
## Df Sum Sq Mean Sq F value Pr(>F)
## x8 1 645.58 645.58 43.3886 4.577e-07 ***
## x11 1 91.80 91.80 6.1697 0.0195 *
## Residuals 27 401.73 14.88
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(modelo)
##
## Call:
## lm(formula = y ~ x8 + x11, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.5346 -1.9110 0.0809 2.0075 7.8794
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 51.9635 7.9895 6.504 5.67e-07 ***
## x8 -0.1454 0.0466 -3.119 0.00428 **
## x111 -5.4121 2.1789 -2.484 0.01950 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.857 on 27 degrees of freedom
## Multiple R-squared: 0.6473, Adjusted R-squared: 0.6212
## F-statistic: 24.78 on 2 and 27 DF, p-value: 7.754e-07
qf(0.95,2,27)
## [1] 3.354131
El coeficiente de determinación es \(0.6473\), esto implica que el \(64.73\%\) de la variabilidad de la variable desempeño promedio medido en millas por galón \((y)\) es explicado por el modelo de regresión lineal obtenido.
El coeficiente de determinación ajustado es \(0.6212\), esto implica que el \(62.12\%\) de la variablidad de la variable desempeño promedio en millas por galón (\(y\)) es explicado por el modelo de regresión lineal incluyendo las variables independientes \(X_8\) (Longitud total), y \(X_{11}\) (Tipo de transmisión).
El estadístico de prueba F con 2 grados de libertad en el numerador y 27 grados de libertad en el denominador es 24.78. Este valor debe ser comparado con un valor crítico considerando un nivel de significancia determinado \(\alpha\). Si \(\alpha=0.5\), el valor crítico sería \(F_{0.95;2;27}=3.35413\). Como la regla de decisión es rechazar la hipótesis nula si \(F>f_{1-\alpha}(k,n-k-1)\) , entonces efectivamente se rechaza la hipótesis nula y por lo tanto si hay relación lineal entre alguna o algunas de las variables independientes consideradas y la variable millas por galón (\(y\)).
El valor-p de la prueba F es 7.754e-07. Este valor se compara directamente con el nivel de significancia. Dado que el valor-p<0.05, la decisión será rechazar \(H_0\), y por lo tanto el modelo es significativo.
Nuevamente se verifica la multicolinealidad:
vif(modelo)
## x8 x11
## 1.871941 1.871941
Pero en este caso se observan valores VIF por inferiores a \(2\).
Los intervalos de confianza para cada uno de los parámetros del modelo están dados por:
confint(lm(y~x8+x11,data=datos))
## 2.5 % 97.5 %
## (Intercept) 35.5704368 68.35665126
## x8 -0.2409608 -0.04973599
## x111 -9.8828585 -0.94141672
A continuación, se procede a hacer pruebas de normalidad, independencia y homocedasticidad.
Un análisis gráfico de normalidad se puede hacer a través de un diagrama cuantil-cuantil o QQ-plot, verificando que la mayoría de puntos estén cerca de la línea
qqnorm(modelo$residuals)
qqline(modelo$residuals)
Una prueba analítica para verificar normalidad es la prueba de Shapiro.
shapiro.test(modelo$residuals)
##
## Shapiro-Wilk normality test
##
## data: modelo$residuals
## W = 0.98936, p-value = 0.9875
En este caso, no se rechaza la hipótesis nula, porque el \(\text{valor-p}>0.05\) y se puede decir que los residuales siguen una distribución normal.
La prueba de independencia de los residuales se puede hacer de forma gráfica o analítica.
plot(residuals(modelo),ylab="Residuales",xlab="Tiempo",main="Residuales vs Tiempo")
abline(h=0) #Gráfico para estudiar independencia
dwtest(modelo) # prueba analítica de independencia
##
## Durbin-Watson test
##
## data: modelo
## DW = 1.8307, p-value = 0.2999
## alternative hypothesis: true autocorrelation is greater than 0
En este caso, se puede decir que los residuales son independientes porque el valor-p de la prueba es mayor que \(0.05\).
La prueba de homocedasticidad se puede hacer de forma gráfica o de forma analítica
plot(fitted(modelo),residuals(modelo),xlab="Valores ajustados",ylab="Residuales",main="Residuales vs Valores ajustados")
abline(h=0) #Gráfico para estudiar homocedasticidad
bptest(modelo) # prueba analítica de homocedasticidad
##
## studentized Breusch-Pagan test
##
## data: modelo
## BP = 6.6245, df = 2, p-value = 0.03643
Considerando los resultados de esta prueba, se encuentra que hay homocedasticidad si el nivel de significancia es \(0.01\).
El modelo estimado pedido es:
\(\hat{y}=51.9635-0.1454X_8-5.4121X_{11}\)
donde se tiene:
\(\hat{y}\) desempeño promedio en millas/galón, \(X_8\) longitud total en pulgadas y \(X_{11}\) tipo de transmisión (1=automático y 0=manual).
La siguiente es la interpretación de los coeficientes del modelo ajustado:
El desempeño base promedio medido en millas/galón de un vehículo de transmisión automática es de \(51.9635\)
El desempeño promedio medido en millas/galón de un vehículo es de \(51.9635\) si el vehículo es de transmisión automática y el motor tiene longitud cero (nula)
Por cada pulgada que aumente la longitud total del vehículo el desempeño promedio medido en millas/galón disminuye en \(0.1454\).
En caso de que la transmisión sea de tipo automático el desempeño disminuirá en \(5.4121\) millas/galón promedio con respecto a un vehículo de transmisión automática.
#comando