mtcarsdata(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 <- 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
mctestlibrary(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.
olsrrlibrary(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.
Las hipótesis de la prueba de Farrar-Glaubar son:
Regla de decisión:
psychlibrary(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.
carlibrary(car)
vif_car <- vif(modelo)
print(vif)
## function (mod, ...)
## {
## UseMethod("vif")
## }
## <bytecode: 0x0000029373962268>
## <environment: namespace:car>
mctestlibrary(mctest)
mc.plot(modelo, type = "vif")