Section B.9 Rescaling Input Variables to Assist Interpretation
The interpretation of regression coefficients is sensitive to the scale of measurement of the predictors. This means one cannot compare the magnitude of the coefficients to compare the relevance of variables. Let’s look at the more recent model: how can we tell what predictors have a stronger effect?
summary(fit_4)
## ## Call: ## lm(formula = HR90 ~ RD90 + SOUTH_f + DV90 + MA90 + PS90, data = ncovr) ## ## Residuals: ## Min 1Q Median 3Q Max ## -15.74 -2.59 -0.68 1.71 69.18 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 4.2035 0.9847 4.27 2e-05 *** ## RD90 3.1992 0.1117 28.65 <2e-16 *** ## SOUTH_f1 2.5998 0.2156 12.06 <2e-16 *** ## DV90 0.4759 0.0531 8.97 <2e-16 *** ## MA90 -0.0761 0.0274 -2.77 0.0056 ** ## PS90 1.2645 0.1005 12.59 <2e-16 *** ## --- ## Signif. codes: ## 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 5.04 on 3079 degrees of freedom ## Multiple R-squared: 0.426, Adjusted R-squared: 0.425 ## F-statistic: 457 on 5 and 3079 DF, p-value: <2e-16
We just cannot. One way of dealing with this is by rescaling the input variables. A common method involves subtracting the mean and dividing by the standard deviation of each numerical input. The coefficients in these models is the expected difference in the response variable, comparing units that differ by one standard deviation in the predictor while adjusting for other predictors in the model.
Instead, [282] has proposed dividing each numeric variable by two times its standard deviation, so that the generic comparison is with inputs equal to plus/minus one standard deviation. As Gelman explains, the resulting coefficients are then comparable to untransformed binary predictors. The implementation of this approach in the
arm package subtracts the mean of each binary input while it subtracts the mean and divides by two standard deviations for every numeric input.
The way we would obtain these rescaled inputs uses the
standardize() function of the arm package, which takes as an argument the name of the stored fit model.
arm::standardize(fit_4)
## ## Call: ## lm(formula = HR90 ~ z.RD90 + c.SOUTH_f + z.DV90 + z.MA90 + z.PS90, ## data = ncovr) ## ## Coefficients: ## (Intercept) z.RD90 c.SOUTH_f z.DV90 ## 6.183 6.398 2.600 1.650 ## z.MA90 z.PS90 ## -0.548 2.529
Notice the main change affects the numerical predictors. The unstandardised coefficients are influenced by the degree of variability in your predictors, which means that typically they will be larger for your binary inputs. With unstandardised coefficients you are comparing complete change in one variable (whether one is a Southern county or not) with one-unit changes in your numerical variable, which may not amount to much change. So, by putting in a comparable scale, you avoid this problem.
Standardising in the way described here will help you to make fairer comparisons. These standardised coefficients are comparable in a way that the unstandardised coefficients are not. We can now see what inputs have a comparatively stronger effect. It is very important to realise, though, that one should not compare standardised coefficients across different models.
