maximalRelia: Calculate maximal reliability

View source: R/reliability.R

maximalReliaR Documentation

Calculate maximal reliability


Calculate maximal reliability of a scale


maximalRelia(object, omit.imps = c("no.conv", ""))



A lavaan or lavaan.mi object, expected to contain only exogenous common factors (i.e., a CFA model).


character vector specifying criteria for omitting imputations from pooled results. Can include any of c("no.conv", "", "no.npd"), the first 2 of which are the default setting, which excludes any imputations that did not converge or for which standard errors could not be computed. The last option ("no.npd") would exclude any imputations which yielded a nonpositive definite covariance matrix for observed or latent variables, which would include any "improper solutions" such as Heywood cases. NPD solutions are not excluded by default because they are likely to occur due to sampling error, especially in small samples. However, gross model misspecification could also cause NPD solutions, users can compare pooled results with and without this setting as a sensitivity analysis to see whether some imputations warrant further investigation.


Given that a composite score (W) is a weighted sum of item scores:

W = \bold{w}^\prime \bold{x} ,

where \bold{x} is a k \times 1 vector of the scores of each item, \bold{w} is a k \times 1 weight vector of each item, and k represents the number of items. Then, maximal reliability is obtained by finding \bold{w} such that reliability attains its maximum (Li, 1997; Raykov, 2012). Note that the reliability can be obtained by

ρ = \frac{\bold{w}^\prime \bold{S}_T \bold{w}}{\bold{w}^\prime \bold{S}_X \bold{w}}

where \bold{S}_T is the covariance matrix explained by true scores and \bold{S}_X is the observed covariance matrix. Numerical method is used to find \bold{w} in this function.

For continuous items, \bold{S}_T can be calculated by

\bold{S}_T = Λ Ψ Λ^\prime,

where Λ is the factor loading matrix and Ψ is the covariance matrix among factors. \bold{S}_X is directly obtained by covariance among items.

For categorical items, Green and Yang's (2009) method is used for calculating \bold{S}_T and \bold{S}_X. The element i and j of \bold{S}_T can be calculated by

≤ft[\bold{S}_T\right]_{ij} = ∑^{C_i - 1}_{c_i = 1} ∑^{C_j - 1}_{c_j - 1} Φ_2≤ft( τ_{x_{c_i}}, τ_{x_{c_j}}, ≤ft[ Λ Ψ Λ^\prime \right]_{ij} \right) - ∑^{C_i - 1}_{c_i = 1} Φ_1(τ_{x_{c_i}}) ∑^{C_j - 1}_{c_j - 1} Φ_1(τ_{x_{c_j}}),

where C_i and C_j represents the number of thresholds in Items i and j, τ_{x_{c_i}} represents the threshold c_i of Item i, τ_{x_{c_j}} represents the threshold c_i of Item j, Φ_1(τ_{x_{c_i}}) is the cumulative probability of τ_{x_{c_i}} given a univariate standard normal cumulative distribution and Φ_2≤ft( τ_{x_{c_i}}, τ_{x_{c_j}}, ρ \right) is the joint cumulative probability of τ_{x_{c_i}} and τ_{x_{c_j}} given a bivariate standard normal cumulative distribution with a correlation of ρ

Each element of \bold{S}_X can be calculated by

≤ft[\bold{S}_T\right]_{ij} = ∑^{C_i - 1}_{c_i = 1} ∑^{C_j - 1}_{c_j - 1} Φ_2≤ft( τ_{V_{c_i}}, τ_{V_{c_j}}, ρ^*_{ij} \right) - ∑^{C_i - 1}_{c_i = 1} Φ_1(τ_{V_{c_i}}) ∑^{C_j - 1}_{c_j - 1} Φ_1(τ_{V_{c_j}}),

where ρ^*_{ij} is a polychoric correlation between Items i and j.


Maximal reliability values of each group. The maximal-reliability weights are also provided. Users may extracted the weighted by the attr function (see example below).


Sunthud Pornprasertmanit (


Li, H. (1997). A unifying expression for the maximal reliability of a linear composite. Psychometrika, 62(2), 245–249. doi: 10.1007/BF02295278

Raykov, T. (2012). Scale construction and development using structural equation modeling. In R. H. Hoyle (Ed.), Handbook of structural equation modeling (pp. 472–494). New York, NY: Guilford.

See Also

reliability for reliability of an unweighted composite score


total <- 'f =~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 '
fit <- cfa(total, data = HolzingerSwineford1939)

# Extract the weight
mr <- maximalRelia(fit)
attr(mr, "weight")

semTools documentation built on May 10, 2022, 9:05 a.m.