Context
To make the coefficients of regression coefficients comparable, one usually rescales by the standard deviation (see case 3 below). This means that the different regression coefficients can be compared in terms of their effect size (e.g. when the coefficient for x1
is 2 and that of x2
is 4, the effect of x2
is twice as large as that of x1
). This is not possible when x2
and x1
are otherwise measured on different scales, e.g. one having values ranging from 1 to 10 and the other from 1 to 20.
Question
But when I rescale the coefficient by two times the standard deviation (see case 2), I am not entirely sure how to interpret the coefficients. Does this mean that the unit of the new coefficient in case 2 is two times the standard deviation? This would mean that moving one unit in the explanatory variable x_resc_two_times_sd
corresponds to a two times standard deviation, e.g. in case 2, this would be 5.6292
. Or do I have to multiply this effect by four because the standard deviation is 0.5?
## setting up artificial regression data
# number of points to sample
n_points <- 1000
# x-values
x <- runif(n_points, min = 0, max = 5)
# y-values with some random noise
y <- 2*x+6 + rnorm(n_points, mean = 6, sd = 2)
# quickly look at this
plot(x, y)
## Case 1: not rescaled
sd(x)
summary(lm(y ~ x))
## Case 2: rescaled by two times the sd
two_sd_func <- function(x){(x)/(2*sd(x, na.rm = T))} # function to rescale by 2*sd
x_resc_two_times_sd <- two_sd_func(x)
sd(x_resc_two_times_sd)
summary(lm(y ~ x_resc_two_times_sd))
## Case 3: rescaled by one times the sd
one_sd_func <- function(x){(x)/(sd(x, na.rm = T))} # function to rescale by sd
x_resc_one_times_sd <- one_sd_func(x)
sd(x_resc_one_times_sd)
summary(lm(y ~ x_resc_one_times_sd))
Output
Case 1:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 12.14274 0.12856 94.45 <2e-16 ***
x 1.93071 0.04319 44.70 <2e-16 ***
Case 2:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 12.1427 0.1286 94.45 <2e-16 ***
x_resc_two_times_sd 5.6292 0.1259 44.70 <2e-16 ***
Case 3:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 12.14274 0.12856 94.45 <2e-16 ***
x_resc_one_times_sd 2.81461 0.06297 44.70 <2e-16 ***