Multicollinearity is the case where one of the assumption of Linear models are violated. This concept is where there is high correlation between two or more independent variables. Problems may arise due to the fact that this issue causes problems such as undermining the statistical significance of an independent variable hence producing unreliable results.
Variance inflation factor (VIF) detects multicollinearity in regression analysis. There is a rule of thumb for interpreting the variance inflation factor:
For this process, the packages to be used are car
which contains the VIF function and mctest
for identifying multicollinearity.
Dataset can be found on Kaggle.com. It is about predicting house prices (House Prices: Advanced Regression Techniques competition
) https://www.kaggle.com/c/house-prices-advanced-regression-techniques.
Load data in R.
##
## Call:
## lm(formula = SalePrice ~ ., data = train)
##
## Residuals:
## Min 1Q Median 3Q Max
## -442182 -16955 -2824 15125 318183
##
## Coefficients: (2 not defined because of singularities)
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -3.351e+05 1.701e+06 -0.197 0.843909
## Id -1.205e+00 2.658e+00 -0.453 0.650332
## MSSubClass -2.001e+02 3.451e+01 -5.797 8.84e-09 ***
## LotFrontage -1.160e+02 6.126e+01 -1.894 0.058503 .
## LotArea 5.422e-01 1.575e-01 3.442 0.000599 ***
## OverallQual 1.866e+04 1.482e+03 12.592 < 2e-16 ***
## OverallCond 5.239e+03 1.368e+03 3.830 0.000135 ***
## YearBuilt 3.164e+02 8.766e+01 3.610 0.000321 ***
## YearRemodAdd 1.194e+02 8.668e+01 1.378 0.168607
## MasVnrArea 3.141e+01 7.022e+00 4.473 8.54e-06 ***
## BsmtFinSF1 1.736e+01 5.838e+00 2.973 0.003014 **
## BsmtFinSF2 8.342e+00 8.766e+00 0.952 0.341532
## BsmtUnfSF 5.005e+00 5.277e+00 0.948 0.343173
## TotalBsmtSF NA NA NA NA
## X1stFlrSF 4.597e+01 7.360e+00 6.246 6.02e-10 ***
## X2ndFlrSF 4.663e+01 6.102e+00 7.641 4.72e-14 ***
## LowQualFinSF 3.341e+01 2.794e+01 1.196 0.232009
## GrLivArea NA NA NA NA
## BsmtFullBath 9.043e+03 3.198e+03 2.828 0.004776 **
## BsmtHalfBath 2.465e+03 5.073e+03 0.486 0.627135
## FullBath 5.433e+03 3.531e+03 1.539 0.124182
## HalfBath -1.098e+03 3.321e+03 -0.331 0.740945
## BedroomAbvGr -1.022e+04 2.155e+03 -4.742 2.40e-06 ***
## KitchenAbvGr -2.202e+04 6.710e+03 -3.282 0.001063 **
## TotRmsAbvGrd 5.464e+03 1.487e+03 3.674 0.000251 ***
## Fireplaces 4.372e+03 2.189e+03 1.998 0.046020 *
## GarageYrBlt -4.728e+01 9.106e+01 -0.519 0.603742
## GarageCars 1.685e+04 3.491e+03 4.827 1.58e-06 ***
## GarageArea 6.274e+00 1.213e+01 0.517 0.605002
## WoodDeckSF 2.144e+01 1.002e+01 2.139 0.032662 *
## OpenPorchSF -2.252e+00 1.949e+01 -0.116 0.907998
## EnclosedPorch 7.295e+00 2.062e+01 0.354 0.723590
## X3SsnPorch 3.349e+01 3.758e+01 0.891 0.373163
## ScreenPorch 5.805e+01 2.041e+01 2.844 0.004532 **
## PoolArea -6.052e+01 2.990e+01 -2.024 0.043204 *
## MiscVal -3.761e+00 6.960e+00 -0.540 0.589016
## MoSold -2.217e+02 4.229e+02 -0.524 0.600188
## YrSold -2.474e+02 8.458e+02 -0.293 0.769917
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 36800 on 1085 degrees of freedom
## (339 observations deleted due to missingness)
## Multiple R-squared: 0.8096, Adjusted R-squared: 0.8034
## F-statistic: 131.8 on 35 and 1085 DF, p-value: < 2.2e-16
We have two variables (TotalBsmntSF
and GrLivArea
) that show NA so they will be removed from the model.
lm.mod <- update(lm.mod, .~. -TotalBsmtSF + GrLivArea, data = train)
lm.mod <- update(lm.mod, .~. -GrLivArea, data = train)
summary(lm.mod)
##
## Call:
## lm(formula = SalePrice ~ Id + MSSubClass + LotFrontage + LotArea +
## OverallQual + OverallCond + YearBuilt + YearRemodAdd + MasVnrArea +
## BsmtFinSF1 + BsmtFinSF2 + BsmtUnfSF + X1stFlrSF + X2ndFlrSF +
## LowQualFinSF + BsmtFullBath + BsmtHalfBath + FullBath + HalfBath +
## BedroomAbvGr + KitchenAbvGr + TotRmsAbvGrd + Fireplaces +
## GarageYrBlt + GarageCars + GarageArea + WoodDeckSF + OpenPorchSF +
## EnclosedPorch + X3SsnPorch + ScreenPorch + PoolArea + MiscVal +
## MoSold + YrSold, data = train)
##
## Residuals:
## Min 1Q Median 3Q Max
## -442182 -16955 -2824 15125 318183
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -3.351e+05 1.701e+06 -0.197 0.843909
## Id -1.205e+00 2.658e+00 -0.453 0.650332
## MSSubClass -2.001e+02 3.451e+01 -5.797 8.84e-09 ***
## LotFrontage -1.160e+02 6.126e+01 -1.894 0.058503 .
## LotArea 5.422e-01 1.575e-01 3.442 0.000599 ***
## OverallQual 1.866e+04 1.482e+03 12.592 < 2e-16 ***
## OverallCond 5.239e+03 1.368e+03 3.830 0.000135 ***
## YearBuilt 3.164e+02 8.766e+01 3.610 0.000321 ***
## YearRemodAdd 1.194e+02 8.668e+01 1.378 0.168607
## MasVnrArea 3.141e+01 7.022e+00 4.473 8.54e-06 ***
## BsmtFinSF1 1.736e+01 5.838e+00 2.973 0.003014 **
## BsmtFinSF2 8.342e+00 8.766e+00 0.952 0.341532
## BsmtUnfSF 5.005e+00 5.277e+00 0.948 0.343173
## X1stFlrSF 4.597e+01 7.360e+00 6.246 6.02e-10 ***
## X2ndFlrSF 4.663e+01 6.102e+00 7.641 4.72e-14 ***
## LowQualFinSF 3.341e+01 2.794e+01 1.196 0.232009
## BsmtFullBath 9.043e+03 3.198e+03 2.828 0.004776 **
## BsmtHalfBath 2.465e+03 5.073e+03 0.486 0.627135
## FullBath 5.433e+03 3.531e+03 1.539 0.124182
## HalfBath -1.098e+03 3.321e+03 -0.331 0.740945
## BedroomAbvGr -1.022e+04 2.155e+03 -4.742 2.40e-06 ***
## KitchenAbvGr -2.202e+04 6.710e+03 -3.282 0.001063 **
## TotRmsAbvGrd 5.464e+03 1.487e+03 3.674 0.000251 ***
## Fireplaces 4.372e+03 2.189e+03 1.998 0.046020 *
## GarageYrBlt -4.728e+01 9.106e+01 -0.519 0.603742
## GarageCars 1.685e+04 3.491e+03 4.827 1.58e-06 ***
## GarageArea 6.274e+00 1.213e+01 0.517 0.605002
## WoodDeckSF 2.144e+01 1.002e+01 2.139 0.032662 *
## OpenPorchSF -2.252e+00 1.949e+01 -0.116 0.907998
## EnclosedPorch 7.295e+00 2.062e+01 0.354 0.723590
## X3SsnPorch 3.349e+01 3.758e+01 0.891 0.373163
## ScreenPorch 5.805e+01 2.041e+01 2.844 0.004532 **
## PoolArea -6.052e+01 2.990e+01 -2.024 0.043204 *
## MiscVal -3.761e+00 6.960e+00 -0.540 0.589016
## MoSold -2.217e+02 4.229e+02 -0.524 0.600188
## YrSold -2.474e+02 8.458e+02 -0.293 0.769917
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 36800 on 1085 degrees of freedom
## (339 observations deleted due to missingness)
## Multiple R-squared: 0.8096, Adjusted R-squared: 0.8034
## F-statistic: 131.8 on 35 and 1085 DF, p-value: < 2.2e-16
Clearly removing those two variables did not affect the model.
The residuals have a curved pattern which shows a small degree of non-linearity. This could be because we did not normalize our data. If you look at the second plot you’ll see that there are about three to four extreme values or outliers far above and below the line or far from the model which means that the model did not capture those data points. If we delete them or transform data, the model could improve.
The mctest
package in R provides the Farrar-Glauber test and other relevant tests for multicollinearity. There are two functions: omcdiag
and imcdiag
to be used which will provide the overall and individual diagnostic checking for multicollinearity respectively.
## Warning in summary.lm(lm(x[, i] ~ x[, -i])): essentially perfect fit:
## summary may be unreliable
## Warning in summary.lm(lm(x[, i] ~ x[, -i])): essentially perfect fit:
## summary may be unreliable
## Warning in summary.lm(lm(x[, i] ~ x[, -i])): essentially perfect fit:
## summary may be unreliable
## Warning in summary.lm(lm(x[, i] ~ x[, -i])): essentially perfect fit:
## summary may be unreliable
## Warning in summary.lm(lm(x[, i] ~ x[, -i])): essentially perfect fit:
## summary may be unreliable
## Warning in summary.lm(lm(x[, i] ~ x[, -i])): essentially perfect fit:
## summary may be unreliable
##
## Call:
## omcdiag(x = train[, -38], y = train$SalePrice)
##
##
## Overall Multicollinearity Diagnostics
##
## MC Results detection
## Determinant |X'X|: 0.000000e+00 1
## Farrar Chi-Square: 8.954042e+04 1
## Red Indicator: 2.121000e-01 0
## Sum of Lambda Inverse: 1.140176e+15 1
## Theil's Method: -9.508600e+00 0
## Condition Number: 1.695775e+08 1
##
## 1 --> COLLINEARITY is detected by the test
## 0 --> COLLINEARITY is not detected by the test
## Warning in summary.lm(lm(x[, i] ~ x[, -i])): essentially perfect fit:
## summary may be unreliable
## Warning in summary.lm(lm(x[, i] ~ x[, -i])): essentially perfect fit:
## summary may be unreliable
## Warning in summary.lm(lm(x[, i] ~ x[, -i])): essentially perfect fit:
## summary may be unreliable
## Warning in summary.lm(lm(x[, i] ~ x[, -i])): essentially perfect fit:
## summary may be unreliable
## Warning in summary.lm(lm(x[, i] ~ x[, -i])): essentially perfect fit:
## summary may be unreliable
## Warning in summary.lm(lm(x[, i] ~ x[, -i])): essentially perfect fit:
## summary may be unreliable
##
## Call:
## imcdiag(x = train[, -38], y = train$SalePrice)
##
##
## All Individual Multicollinearity Diagnostics Result
##
## VIF TOL Wi Fi Leamer CVIF Klein IND1
## Id 1.0347 0.9665 1.0444 1.0753 0.9831 -0.0434 0 0.0303
## MSSubClass 1.7188 0.5818 21.6436 22.2825 0.7628 -0.0720 0 0.0182
## LotFrontage 1.8279 0.5471 24.9285 25.6644 0.7396 -0.0766 0 0.0171
## LotArea 1.3563 0.7373 10.7282 11.0449 0.8587 -0.0568 0 0.0231
## OverallQual 3.4615 0.2889 74.1183 76.3063 0.5375 -0.1451 0 0.0090
## OverallCond 1.7657 0.5663 23.0574 23.7381 0.7526 -0.0740 0 0.0177
## YearBuilt 6.0949 0.1641 153.4116 157.9404 0.4051 -0.2554 1 0.0051
## YearRemodAdd 2.7472 0.3640 52.6089 54.1620 0.6033 -0.1151 0 0.0114
## MasVnrArea 1.4644 0.6829 13.9843 14.3971 0.8264 -0.0614 0 0.0214
## BsmtFinSF1 Inf 0.0000 Inf Inf 0.0000 -Inf 1 0.0000
## BsmtFinSF2 Inf 0.0000 Inf Inf 0.0000 -Inf 1 0.0000
## BsmtUnfSF Inf 0.0000 Inf Inf 0.0000 -Inf 1 0.0000
## TotalBsmtSF Inf 0.0000 Inf Inf 0.0000 -Inf 1 0.0000
## X1stFlrSF Inf 0.0000 Inf Inf 0.0000 -Inf 1 0.0000
## X2ndFlrSF Inf 0.0000 Inf Inf 0.0000 -Inf 1 0.0000
## LowQualFinSF Inf 0.0000 Inf Inf 0.0000 -Inf 1 0.0000
## GrLivArea Inf 0.0000 Inf Inf 0.0000 -Inf 1 0.0000
## BsmtFullBath 2.2199 0.4505 36.7329 37.8173 0.6712 -0.0930 0 0.0141
## BsmtHalfBath 1.1511 0.8687 4.5496 4.6839 0.9321 -0.0482 0 0.0272
## FullBath 3.1207 0.3204 63.8559 65.7409 0.5661 -0.1308 0 0.0100
## HalfBath 2.2693 0.4407 38.2210 39.3493 0.6638 -0.0951 0 0.0138
## BedroomAbvGr 2.2887 0.4369 38.8037 39.9492 0.6610 -0.0959 0 0.0137
## KitchenAbvGr 1.5939 0.6274 17.8844 18.4124 0.7921 -0.0668 0 0.0196
## TotRmsAbvGrd 4.6318 0.2159 109.3582 112.5865 0.4646 -0.1941 0 0.0068
## Fireplaces 1.5852 0.6309 17.6197 18.1399 0.7943 -0.0664 0 0.0198
## GarageYrBlt 4.5727 0.2187 107.5787 110.7544 0.4676 -0.1916 0 0.0068
## GarageCars 4.3140 0.2318 99.7884 102.7341 0.4815 -0.1808 0 0.0073
## GarageArea 4.4486 0.2248 103.8401 106.9055 0.4741 -0.1864 0 0.0070
## WoodDeckSF 1.2342 0.8103 7.0511 7.2592 0.9001 -0.0517 0 0.0254
## OpenPorchSF 1.3019 0.7681 9.0914 9.3598 0.8764 -0.0546 0 0.0240
## EnclosedPorch 1.3207 0.7572 9.6576 9.9427 0.8701 -0.0553 0 0.0237
## X3SsnPorch 1.0355 0.9657 1.0699 1.1015 0.9827 -0.0434 0 0.0302
## ScreenPorch 1.1507 0.8691 4.5366 4.6706 0.9322 -0.0482 0 0.0272
## PoolArea 1.1960 0.8361 5.9021 6.0763 0.9144 -0.0501 0 0.0262
## MiscVal 1.1008 0.9084 3.0362 3.1258 0.9531 -0.0461 0 0.0284
## MoSold 1.0684 0.9360 2.0583 2.1191 0.9675 -0.0448 0 0.0293
## YrSold 1.0545 0.9483 1.6416 1.6901 0.9738 -0.0442 0 0.0297
## IND2
## Id 0.0632
## MSSubClass 0.7880
## LotFrontage 0.8535
## LotArea 0.4950
## OverallQual 1.3400
## OverallCond 0.8172
## YearBuilt 1.5752
## YearRemodAdd 1.1984
## MasVnrArea 0.5976
## BsmtFinSF1 1.8843
## BsmtFinSF2 1.8843
## BsmtUnfSF 1.8843
## TotalBsmtSF 1.8843
## X1stFlrSF 1.8843
## X2ndFlrSF 1.8843
## LowQualFinSF 1.8843
## GrLivArea 1.8843
## BsmtFullBath 1.0355
## BsmtHalfBath 0.2473
## FullBath 1.2805
## HalfBath 1.0540
## BedroomAbvGr 1.0610
## KitchenAbvGr 0.7022
## TotRmsAbvGrd 1.4775
## Fireplaces 0.6956
## GarageYrBlt 1.4723
## GarageCars 1.4476
## GarageArea 1.4608
## WoodDeckSF 0.3575
## OpenPorchSF 0.4370
## EnclosedPorch 0.4576
## X3SsnPorch 0.0647
## ScreenPorch 0.2467
## PoolArea 0.3088
## MiscVal 0.1726
## MoSold 0.1206
## YrSold 0.0974
##
## 1 --> COLLINEARITY is detected by the test
## 0 --> COLLINEARITY is not detected by the test
##
## Id , LotFrontage , YearRemodAdd , BsmtFinSF2 , BsmtUnfSF , X2ndFlrSF , GrLivArea , BsmtFullBath , BsmtHalfBath , TotRmsAbvGrd , GarageYrBlt , GarageArea , WoodDeckSF , OpenPorchSF , ScreenPorch , PoolArea , MiscVal , coefficient(s) are non-significant may be due to multicollinearity
##
## R-square of y on all x: 0.8096
##
## * use method argument to check which regressors may be the reason of collinearity
## ===================================
Using the VIF function to see the score for each variable.
## Id MSSubClass LotFrontage LotArea OverallQual
## 1.034686 1.718790 1.827885 1.356288 3.461493
## OverallCond YearBuilt YearRemodAdd MasVnrArea BsmtFinSF1
## 1.765745 6.094850 2.747160 1.464423 6.183437
## BsmtFinSF2 BsmtUnfSF X1stFlrSF X2ndFlrSF LowQualFinSF
## 1.583181 4.669248 6.681045 5.922808 1.116702
## BsmtFullBath BsmtHalfBath FullBath HalfBath BedroomAbvGr
## 2.219913 1.151092 3.120675 2.269333 2.288685
## KitchenAbvGr TotRmsAbvGrd Fireplaces GarageYrBlt GarageCars
## 1.593948 4.631822 1.585157 4.572723 4.314005
## GarageArea WoodDeckSF OpenPorchSF EnclosedPorch X3SsnPorch
## 4.448564 1.234169 1.301930 1.320733 1.035532
## ScreenPorch PoolArea MiscVal MoSold YrSold
## 1.150664 1.196011 1.100833 1.068357 1.054518
The trick is to remove the variables that has the highest VIF score one at a time.
Starting with X1stFlrSF
which has a vif score of 6.681045
.
## Id MSSubClass LotFrontage LotArea OverallQual
## 1.034332 1.718032 1.795039 1.351822 3.412902
## OverallCond YearBuilt YearRemodAdd MasVnrArea BsmtFinSF1
## 1.750472 5.904938 2.696257 1.450988 4.218842
## BsmtFinSF2 BsmtUnfSF X2ndFlrSF LowQualFinSF BsmtFullBath
## 1.392874 3.361692 4.353312 1.115106 2.211301
## BsmtHalfBath FullBath HalfBath BedroomAbvGr KitchenAbvGr
## 1.151019 2.995916 2.268837 2.288143 1.578721
## TotRmsAbvGrd Fireplaces GarageYrBlt GarageCars GarageArea
## 3.915623 1.514563 4.562183 4.312740 4.405673
## WoodDeckSF OpenPorchSF EnclosedPorch X3SsnPorch ScreenPorch
## 1.221139 1.299607 1.320732 1.034630 1.149466
## PoolArea MiscVal MoSold YrSold
## 1.191138 1.098190 1.068188 1.054498
Next is YearBuilt
with 5.904938
.
## Id MSSubClass LotFrontage LotArea OverallQual
## 1.034021 1.718012 1.784016 1.347076 3.266898
## OverallCond YearRemodAdd MasVnrArea BsmtFinSF1 BsmtFinSF2
## 1.499656 2.537599 1.433041 4.217678 1.392644
## BsmtUnfSF X2ndFlrSF LowQualFinSF BsmtFullBath BsmtHalfBath
## 3.357433 4.119394 1.071197 2.195187 1.147832
## FullBath HalfBath BedroomAbvGr KitchenAbvGr TotRmsAbvGrd
## 2.816952 2.098079 2.262267 1.566883 3.830271
## Fireplaces GarageYrBlt GarageCars GarageArea WoodDeckSF
## 1.514404 3.380603 4.300546 4.333820 1.220643
## OpenPorchSF EnclosedPorch X3SsnPorch ScreenPorch PoolArea
## 1.298790 1.217827 1.033846 1.145123 1.190484
## MiscVal MoSold YrSold
## 1.098175 1.066538 1.053290
Model is now free of Multicollinearity.
##
## Call:
## lm(formula = SalePrice ~ Id + MSSubClass + LotFrontage + LotArea +
## OverallQual + OverallCond + YearRemodAdd + MasVnrArea + BsmtFinSF1 +
## BsmtFinSF2 + BsmtUnfSF + X2ndFlrSF + LowQualFinSF + BsmtFullBath +
## BsmtHalfBath + FullBath + HalfBath + BedroomAbvGr + KitchenAbvGr +
## TotRmsAbvGrd + Fireplaces + GarageYrBlt + GarageCars + GarageArea +
## WoodDeckSF + OpenPorchSF + EnclosedPorch + X3SsnPorch + ScreenPorch +
## PoolArea + MiscVal + MoSold + YrSold, data = train)
##
## Residuals:
## Min 1Q Median 3Q Max
## -435090 -17719 -3110 15751 340539
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -4.684e+04 1.732e+06 -0.027 0.978433
## Id -1.015e+00 2.710e+00 -0.375 0.707972
## MSSubClass -1.958e+02 3.519e+01 -5.565 3.29e-08 ***
## LotFrontage -5.261e+01 6.172e+01 -0.852 0.394176
## LotArea 5.750e-01 1.601e-01 3.591 0.000344 ***
## OverallQual 2.053e+04 1.468e+03 13.985 < 2e-16 ***
## OverallCond 3.132e+03 1.286e+03 2.436 0.015003 *
## YearRemodAdd 2.462e+02 8.496e+01 2.897 0.003837 **
## MasVnrArea 3.759e+01 7.084e+00 5.306 1.36e-07 ***
## BsmtFinSF1 3.811e+01 4.917e+00 7.752 2.08e-14 ***
## BsmtFinSF2 2.706e+01 8.385e+00 3.227 0.001289 **
## BsmtUnfSF 2.204e+01 4.564e+00 4.830 1.56e-06 ***
## X2ndFlrSF 2.392e+01 5.190e+00 4.608 4.54e-06 ***
## LowQualFinSF 1.270e+01 2.790e+01 0.455 0.649048
## BsmtFullBath 8.493e+03 3.243e+03 2.619 0.008953 **
## BsmtHalfBath 2.893e+03 5.166e+03 0.560 0.575638
## FullBath 1.200e+04 3.421e+03 3.506 0.000473 ***
## HalfBath 1.529e+03 3.257e+03 0.469 0.638859
## BedroomAbvGr -9.428e+03 2.185e+03 -4.315 1.74e-05 ***
## KitchenAbvGr -1.940e+04 6.785e+03 -2.859 0.004325 **
## TotRmsAbvGrd 8.603e+03 1.379e+03 6.237 6.36e-10 ***
## Fireplaces 7.201e+03 2.182e+03 3.301 0.000996 ***
## GarageYrBlt 4.331e+01 7.985e+01 0.542 0.587665
## GarageCars 1.695e+04 3.554e+03 4.769 2.11e-06 ***
## GarageArea 9.787e+00 1.221e+01 0.802 0.422874
## WoodDeckSF 2.736e+01 1.017e+01 2.691 0.007222 **
## OpenPorchSF 1.645e+00 1.985e+01 0.083 0.933972
## EnclosedPorch -7.428e+00 2.019e+01 -0.368 0.713079
## X3SsnPorch 3.778e+01 3.830e+01 0.986 0.324126
## ScreenPorch 5.897e+01 2.076e+01 2.840 0.004593 **
## PoolArea -4.682e+01 3.042e+01 -1.539 0.124107
## MiscVal -5.957e+00 7.090e+00 -0.840 0.400923
## MoSold -2.308e+02 4.309e+02 -0.536 0.592305
## YrSold -2.971e+02 8.621e+02 -0.345 0.730435
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 37530 on 1087 degrees of freedom
## (339 observations deleted due to missingness)
## Multiple R-squared: 0.8016, Adjusted R-squared: 0.7955
## F-statistic: 133.1 on 33 and 1087 DF, p-value: < 2.2e-16
The model still remains significant and definitely did improve seeing that the F-statistic increased and standard error decreased.
Sources: