Calculate maximal reliability of a scale
maximalRelia(object, omit.imps = c("no.conv", "no.se"))
character
vector specifying criteria for omitting
imputations from pooled results. Can include any of
c("no.conv", "no.se", "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.
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).
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
$$ \rho = \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 = \Lambda \Psi \Lambda^\prime,$$
where \(\Lambda\) is the factor loading matrix and \(\Psi\) 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
$$ \left[\bold{S}_T\right]_{ij} = \sum^{C_i - 1}_{c_i = 1} \sum^{C_j - 1}_{c_j - 1} \Phi_2\left( \tau_{x_{c_i}}, \tau_{x_{c_j}}, \left[ \Lambda \Psi \Lambda^\prime \right]_{ij} \right) - \sum^{C_i - 1}_{c_i = 1} \Phi_1(\tau_{x_{c_i}}) \sum^{C_j - 1}_{c_j - 1} \Phi_1(\tau_{x_{c_j}}),$$
where \(C_i\) and \(C_j\) represents the number of thresholds in Items \(i\) and \(j\), \(\tau_{x_{c_i}}\) represents the threshold \(c_i\) of Item \(i\), \(\tau_{x_{c_j}}\) represents the threshold \(c_i\) of Item \(j\), \( \Phi_1(\tau_{x_{c_i}})\) is the cumulative probability of \(\tau_{x_{c_i}}\) given a univariate standard normal cumulative distribution and \(\Phi_2\left( \tau_{x_{c_i}}, \tau_{x_{c_j}}, \rho \right)\) is the joint cumulative probability of \(\tau_{x_{c_i}}\) and \(\tau_{x_{c_j}}\) given a bivariate standard normal cumulative distribution with a correlation of \(\rho\)
Each element of \(\bold{S}_X\) can be calculated by
$$ \left[\bold{S}_T\right]_{ij} = \sum^{C_i - 1}_{c_i = 1} \sum^{C_j - 1}_{c_j - 1} \Phi_2\left( \tau_{V_{c_i}}, \tau_{V_{c_j}}, \rho^*_{ij} \right) - \sum^{C_i - 1}_{c_i = 1} \Phi_1(\tau_{V_{c_i}}) \sum^{C_j - 1}_{c_j - 1} \Phi_1(\tau_{V_{c_j}}),$$
where \(\rho^*_{ij}\) is a polychoric correlation between Items \(i\) and \(j\).
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.
reliability
for reliability of an unweighted
composite score
# NOT RUN {
total <- 'f =~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 '
fit <- cfa(total, data = HolzingerSwineford1939)
maximalRelia(fit)
# Extract the weight
mr <- maximalRelia(fit)
attr(mr, "weight")
# }
Run the code above in your browser using DataLab