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)
## function (mod, ...) 
## {
##     UseMethod("vif")
## }
## <bytecode: 0x0000029373962268>
## <environment: namespace:car>
1.4.2. VIF con mctest
library(mctest)
mc.plot(modelo, type = "vif")