Cargar Dataset mtcars

data(mtcars)
head(mtcars, n = 10)
##                    mpg cyl  disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
## Duster 360        14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
## Merc 240D         24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
## Merc 230          22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
## Merc 280          19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4

Modelo de Regresión Lineal Múltiple

modelo <- lm(mpg ~ disp + hp + wt + qsec, data = mtcars)
summary(modelo)
## 
## Call:
## lm(formula = mpg ~ disp + hp + wt + qsec, data = mtcars)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.8664 -1.5819 -0.3788  1.1712  5.6468 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)   
## (Intercept) 27.329638   8.639032   3.164  0.00383 **
## disp         0.002666   0.010738   0.248  0.80576   
## hp          -0.018666   0.015613  -1.196  0.24227   
## wt          -4.609123   1.265851  -3.641  0.00113 **
## qsec         0.544160   0.466493   1.166  0.25362   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.622 on 27 degrees of freedom
## Multiple R-squared:  0.8351, Adjusted R-squared:  0.8107 
## F-statistic: 34.19 on 4 and 27 DF,  p-value: 0.0000000003311

1. Diagnóstico de Colinealidad

1.1. Índice de Condición

1.1.1. Índice de Condición con mctest
library(mctest)
mctest(mod = modelo)
## 
## Call:
## omcdiag(mod = mod, Inter = TRUE, detr = detr, red = red, conf = conf, 
##     theil = theil, cn = cn)
## 
## 
## Overall Multicollinearity Diagnostics
## 
##                        MC Results detection
## Determinant |X'X|:         0.0247         0
## Farrar Chi-Square:       106.7504         1
## Red Indicator:             0.6542         1
## Sum of Lambda Inverse:    23.2023         1
## Theil's Method:            0.7121         1
## Condition Number:         57.4805         1
## 
## 1 --> COLLINEARITY is detected by the test 
## 0 --> COLLINEARITY is not detected by the test

Como se observa, el Indice de Condición es de 57.4805 (\(κ(x)=57.4805\)), como \(κ(x)>30\) se considera que la colinealidad es severa.

1.1.2. Índice de Condición con olsrr
library(olsrr)
ols_coll_diag(modelo)
## Tolerance and Variance Inflation Factor
## ---------------------------------------
##   Variables Tolerance      VIF
## 1      disp 0.1252279 7.985439
## 2        hp 0.1935450 5.166758
## 3        wt 0.1445726 6.916942
## 4      qsec 0.3191708 3.133119
## 
## 
## Eigenvalue and Condition Index
## ------------------------------
##    Eigenvalue Condition Index   intercept        disp          hp           wt
## 1 4.721487187        1.000000 0.000123237 0.001132468 0.001413094 0.0005253393
## 2 0.216562203        4.669260 0.002617424 0.036811051 0.027751289 0.0002096014
## 3 0.050416837        9.677242 0.001656551 0.120881424 0.392366164 0.0377028008
## 4 0.010104757       21.616057 0.025805998 0.777260487 0.059594623 0.7017528428
## 5 0.001429017       57.480524 0.969796790 0.063914571 0.518874831 0.2598094157
##           qsec
## 1 0.0001277169
## 2 0.0046789491
## 3 0.0001952599
## 4 0.0024577686
## 5 0.9925403056

El resultado es convergente con el dado por el test de mctest, ya que el Índice de Condición es de 57.4805, lo que indica, nuevamente, una colinealidad severa.

1.3. Prueba de Farrar-Glaubar

Las hipótesis de la prueba de Farrar-Glaubar son:

  • \(H_0=R\thicksim I\): La matriz de correlación corresponde a una matriz identidad.
  • \(H_1=R\not\thicksim I\) : La matriz de correlación no corresponde a una matriz identidad.

Regla de decisión:

  • Rechazar \(H_0\) si \(\chi^2_{FG}\geq \text{V.C.}\), o
  • Rechazar \(H_0\) si \(p\geq \alpha\).
1.3.1. Prueba de Farrar-Glaubar con psych
library(psych)
Mat_X <- model.matrix(modelo)
fg_test <- cortest.bartlett(Mat_X[, -1])
fg_test
## $chisq
## [1] 106.7504
## 
## $p.value
## [1] 0.000000000000000000009757936
## 
## $df
## [1] 6

Como se observa, \(p = 0.000000000000000000009757936\), se rechaza \(H_0\), hay colinealidad entre las variables regresoras.

1.4. Factor de Inflación de la Varianza (VIF)

1.4.1. VIF con car
library(car)
vif_car <- vif(modelo)
print(vif_car)
##     disp       hp       wt     qsec 
## 7.985439 5.166758 6.916942 3.133119
1.4.2. VIF con mctest
library(mctest)
mc.plot(modelo, type = "vif", vif = 5)

##### 1.4.3. VIF con performance

library(performance)
vif_performance <- check_collinearity(modelo)
print(vif_performance)
## # Check for Multicollinearity
## 
## Low Correlation
## 
##  Term  VIF    VIF 95% CI adj. VIF Tolerance Tolerance 95% CI
##  qsec 3.13 [2.10,  5.15]     1.77      0.32     [0.19, 0.48]
## 
## Moderate Correlation
## 
##  Term  VIF    VIF 95% CI adj. VIF Tolerance Tolerance 95% CI
##  disp 7.99 [4.92, 13.44]     2.83      0.13     [0.07, 0.20]
##    hp 5.17 [3.28,  8.62]     2.27      0.19     [0.12, 0.30]
##    wt 6.92 [4.30, 11.61]     2.63      0.14     [0.09, 0.23]
plot(vif_performance)

1.5. Conclusiones

  • Se observa que el VIF de las variables disp y wtsuperan el umbral de 5, lo que indica que estas dos variable comparten demasiada información.
  • La variable hp esta justo por encima del límite aceptable, lo que también sugiere que podría estar contribuyendo a la colinealidad del modelo.
  • La única variable que se mantiene dentro de un rango aceptable de colinealidad es qsec.
  • Estos resultados refuerza la conclusión obtenida a través del Índice de Condición, que indica que el modelo presenta una colinealidad severa y además, ambos resultados son convergentes con el resultado de la prueba de Farrar-Glaubar, hay colinealidad entre las variables regresoras.

Preguntas de reflexión:

1. Si el valor de VIF es mayor a 5 o 10, ¿Qué implica esto para la interpretación de los coeficientes?
Respuesta: Implica, si es mayor a 5, que los coeficientes son poco precisos, se debe ser cauteloso al momento de interpretar estos coeficientes. Si es mayor que 10, esto implica que los resultados son poco fiables y su interpretación es para nada precisa.

2. ¿Existe alguna variable en este modelo que parezca estas “robándole” significancia a las demás?
Respuesta: Existe una relación entre el desplazamiento disp y el peso wt. El desplazamiento es inversamente proporcional al peso del vehículo.

2. Pruebas de Normalidad

2.1. Prueba de Normalidad Jarque-Bera

Prueba de Normalidad Jarque-Bera utilizando la librería tseries.

library(tseries)
jb_test <- jarque.bera.test(modelo$residuals)
jb_test
## 
##  Jarque Bera Test
## 
## data:  modelo$residuals
## X-squared = 3.316, df = 2, p-value = 0.1905

La regla de decisión para esta prueba es la siguiente: Rechazar \(H_0\) si \(p\leq\alpha\).
Como \(p=0.019\leq\alpha=0.05\), se rechaza \(H_0\). Los residuos NO siguen una distribución normal.

2.2. Prueba de Normalidad Kolgomorov-Smirnov

Prueba de normalidad utilizando la librería nortest.

library(nortest)
ks_test <- lillie.test(modelo$residuals)
ks_test
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  modelo$residuals
## D = 0.11524, p-value = 0.3446

La regla de decisión para esta prueba es la siguiente: Rechazar \(H_0\) si \(p\leq\alpha\).
En este caso, como \(p=0.3446\geq\alpha=0.05\), no se rechaza \(H_0\). Los residuos siguen una distribución normal.

2.3. Prueba de Shapiro-Wilk

Prueba de normalidad utilizando la librería stats, cargada por defecto al iniciar RStudio.

sw_test <- shapiro.test(modelo$residuals)
sw_test
## 
##  Shapiro-Wilk normality test
## 
## data:  modelo$residuals
## W = 0.93661, p-value = 0.06004

La regla de decisión para esta prueba es la siguiente: Rechazar \(H_0\) si \(p\leq\alpha\).
En este caso, como \(p=0.0634\geq\alpha=0.05\), se rechaza \(H_0\). Los residuos siguen una distribución normal.
Se presenta una contradicción con la prueba de Jarque-Bera, pero el resultado es convergente con la prueba de Kolgomorov-Smirnov.

2.4. Conclusiones

Las pruebas presentan resultados divergentes si se asume una significancia del 5 % (\(\alpha=0.05\)). Pero se preferirá reconocer el resultado de la prueba de Shapiro-Wilk por el tamaño de la muestra (32 observaciones).

3. Conclusiones Generales del Modelo