Solved – Calculating the standard errors of the standardized regression coefficients from an article

confidence intervaleffect-sizemultiple regressionregression coefficientsstandard error

For a systematic review I want to calculate a confidence interval around the standardized regression coefficients for a multiple linear regression model, e.g. using the following effect size calculator: https://www.danielsoper.com/statcalc/calculator.aspx?id=26

One of the articles reports the unstandardized regression coefficients with their standard errors and also the standardized regression coefficients, but not their standard errors.

Is there any way, without having access to the original data, to obtain the standard errors that belong to the standardized regression coefficients? Sample size, R-Squared, the number of predictors are all given.

Best Answer

Let $\beta$ denote the unstandardized coefficient and $\beta^\star$ the standardized coefficient. The relationship between the standardized and unstandardized coefficient is as follows $$ \beta^\star = \beta\cdot\frac{s_x}{s_y} $$

where $s_x$ and $s_y$ denote the standard deviation of the respective predictor and the dependent variable, respectively. This assumes that both $x$ and $y$ have been standardized before the regression. The crucial thing is this: This relationship also holds for the standard error and confidence limits (see my answer here). Because you have both $\beta$ and $\beta^\star$, you can calculate the conversion factor $\frac{s_x}{s_y}$ and apply it to the standard error. Hence, to calculate the standard error for the standardized coefficient apply the following conversion $$ \mathrm{SE}^\star = \mathrm{SE}\cdot\frac{\beta^\star}{\beta} $$

If the confidence limits for the unstandardized coefficient are given, you can apply this conversion directly to the limits to get the CI for the standardized coefficient.

Here is a quick example in R to check:

# Models
mod_unstand <- lm(Infant.Mortality~Fertility + Agriculture, data = swiss)
mod_fully_stand <- lm(scale(Infant.Mortality)~scale(Fertility) + scale(Agriculture), data = swiss)

# Save coefficients and standard errors
beta <- coef(mod_unstand)[2]
se_beta <- summary(mod_unstand)$coefficients[2, 2]

beta_star <- coef(mod_fully_stand)[2]
se_beta_star <- summary(mod_fully_stand)$coefficients[2, 2]

# Apply the conversion formula and compare it to the 
# standard error for thestandardized coefficient

se_beta*(beta_star/beta) # Conversion
se_beta_star # Directly from the regression

scale(Fertility) 
       0.1420434
[1] 0.1420434