What is Multicollinearity?

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.

library(tidyverse)
library(corrplot)
library(mctest)
library(car)

Load data in R.

train <- read.csv('train.csv', stringsAsFactors = F, header = T) %>% select_if(is.numeric)
lm.mod <- lm(SalePrice ~., train)
summary(lm.mod)
## 
## 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.

par(mfrow=c(2,2))
plot(lm.mod)

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.

Testing for Multicollinearity.

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.

omcdiag(train[,-38], train$SalePrice )
## 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
imcdiag(train[,-38], train$SalePrice )
## 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.

vif(lm.mod)
##            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.

lm.mod <- update(lm.mod, .~. - X1stFlrSF, data = train)
vif(lm.mod)
##            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.

lm.mod <- update(lm.mod, .~. - YearBuilt, data = train)
vif(lm.mod)
##            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.

summary(lm.mod)
## 
## 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: