Standardize model coefficients by Standard Deviation or Partial Standard Deviation.

`std.coef(x, partial.sd, ...)`partial.sd(x)

# Deprecated:
beta.weights(model)

x, model

a fitted model object.

partial.sd

logical, if set to `TRUE`

, model coefficients are
multiplied by partial SD, otherwise they are multiplied by the
ratio of the standard deviations of the independent variable and dependent
variable.

…

additional arguments passed to `coefTable`

, e.g.
`dispersion`

.

A matrix with at least two columns for standardized coefficient estimate and its standard error. Optionally, third column holds degrees of freedom associated with the coefficients.

Standardizing model coefficients has the same effect as centring and scaling the input variables. “Classical” standardized coefficients are calculated as \(\beta<U+1D62>* = \beta<U+1D62> (s<U+2093><U+1D62> / S<U+1D67>) \) , where \(\beta\) is the unstandardized coefficient, \(s<U+2093><U+1D62>\) is the standard deviation of associated depenent variable \(X<U+1D62>\) and \(S<U+1D67>\) is SD of the response variable.

If the variables are intercorrelated, the standard deviation of
\(X<U+1D62>\)
used in computing the standardized coefficients
\(\beta<U+1D62>*\) should be
replaced by a partial standard deviation of
\(X<U+1D62>\) which is adjusted for
the multiple correlation of
\(X<U+1D62>\) with the other \(X\) variables
included in the regression equation. The partial standard deviation is
calculated as
\(s*<U+2093><U+1D62> = s<U+2093><U+1D62> <U+221A>(VIF<U+2093><U+1D62><U+207B><U+00B9>) <U+221A>((n-1)/(n-p))
\),
where `VIF` is the variance inflation factor,
`n` is the number of observations and `p` number of predictors in
the model. Coefficient is then transformed as
\(\beta<U+1D62>* = \beta<U+1D62> s*<U+2093><U+1D62>
\).

Cade, B.S. (2015) Model averaging and muddled multimodel inferences.
*Ecology* 96, 2370-2382.

Afifi A., May S., Clark V.A. (2011) *Practical Multivariate Analysis*,
Fifth Edition. CRC Press.

Bring, J. (1994). How to standardize regression coefficients. *The American
Statistician* 48, 209-213.

`partial.sd`

can be used with `stdize`

.

`coef`

or `coeffs`

and `coefTable`

for
unstandardized coefficients.

# NOT RUN { # Fit model to original data: fm <- lm(y ~ x1 + x2 + x3 + x4, data = GPA) # Partial SD for the default formula: y ~ x1 + x2 + x3 + x4 psd <- partial.sd(lm(data = GPA))[-1] # remove first element for intercept # Standardize data: zGPA <- stdize(GPA, scale = c(NA, psd), center = TRUE) # Note: first element of 'scale' is set to NA to ignore the first column 'y' # Coefficients of a model fitted to standardized data: zapsmall(coefTable(stdizeFit(fm, data = zGPA))) # Standardized coefficients of a model fitted to original data: zapsmall(std.coef(fm, partial = TRUE)) # Standardizing nonlinear models: fam <- Gamma("inverse") fmg <- glm(log(y) ~ x1 + x2 + x3 + x4, data = GPA, family = fam) psdg <- partial.sd(fmg) zGPA <- stdize(GPA, scale = c(NA, psdg[-1]), center = FALSE) fmgz <- glm(log(y) ~ z.x1 + z.x2 + z.x3 + z.x4, zGPA, family = fam) # Coefficients using standardized data: coef(fmgz) # (intercept is unchanged because the variables haven't been # centred) # Standardized coefficients: coef(fmg) * psdg # }

Run the code above in your browser using DataCamp Workspace