lavTestScore.mi {semTools} | R Documentation |
Score Test for Multiple Imputations
Description
Score test (or "Lagrange multiplier" test) for lavaan models fitted to multiple imputed data sets. Statistics for releasing one or more fixed or constrained parameters in model can be calculated by pooling the gradient and information matrices pooled across imputed data sets in a method proposed by Mansolf, Jorgensen, & Enders (2020)—analogous to the "D1" Wald test proposed by Li, Meng, Raghunathan, & Rubin's (1991)—or by pooling the complete-data score-test statistics across imputed data sets (i.e., "D2"; Li et al., 1991).
Usage
lavTestScore.mi(object, add = NULL, release = NULL, test = c("D2", "D1"),
scale.W = !asymptotic, omit.imps = c("no.conv", "no.se"),
asymptotic = is.null(add), univariate = TRUE, cumulative = FALSE,
epc = FALSE, standardized = epc, cov.std = epc, verbose = FALSE,
warn = TRUE, information = "expected")
Arguments
object |
An object of class |
add |
Either a |
release |
Vector of |
test |
|
scale.W |
|
omit.imps |
|
asymptotic |
|
univariate |
|
cumulative |
|
epc |
|
standardized |
If |
cov.std |
|
verbose |
|
warn |
|
information |
|
Value
A list containing at least one data.frame
:
$test
: The total score test, with columns for the score test statistic (X2
), its degrees of freedom (df
), its p value under the\chi^2
distribution (p.value
), and ifasymptotic=FALSE
, the average relative invrease in variance (ARIV) used to calculate the denominator df is also returned as a missing-data diagnostic, along with the fraction missing information (FMI = ARIV / (1 + ARIV)).$uni
: Optional (ifunivariate=TRUE
). Each 1-df score test, equivalent to modification indices. Also includes EPCs ifepc=TRUE
, and RIV and FMI ifasymptotic=FALSE
.$cumulative
: Optional (ifcumulative=TRUE
). Cumulative score tests, with ARIV and FMI ifasymptotic=FALSE
.$epc
: Optional (ifepc=TRUE
). Parameter estimates, expected parameter changes, and expected parameter values if ALL the tested constraints were freed.
See lavTestScore
for details.
Author(s)
Terrence D. Jorgensen (University of Amsterdam; TJorgensen314@gmail.com)
Adapted from lavaan source code, written by Yves Rosseel (Ghent University; Yves.Rosseel@UGent.be)
test = "D1"
method proposed by
Maxwell Mansolf (University of California, Los Angeles;
mamansolf@gmail.com)
References
Bentler, P. M., & Chou, C.-P. (1992). Some new covariance structure model improvement statistics. Sociological Methods & Research, 21(2), 259–282. doi:10.1177/0049124192021002006
Enders, C. K. (2010). Applied missing data analysis. New York, NY: Guilford.
Li, K.-H., Meng, X.-L., Raghunathan, T. E., & Rubin, D. B. (1991). Significance levels from repeated p-values with multiply-imputed data. Statistica Sinica, 1(1), 65–92. Retrieved from https://www.jstor.org/stable/24303994
Mansolf, M., Jorgensen, T. D., & Enders, C. K. (2020). A multiple imputation score test for model modification in structural equation models. Psychological Methods, 25(4), 393–411. doi:10.1037/met0000243
See Also
Examples
## Not run:
## impose missing data for example
HSMiss <- HolzingerSwineford1939[ , c(paste("x", 1:9, sep = ""),
"ageyr","agemo","school")]
set.seed(12345)
HSMiss$x5 <- ifelse(HSMiss$x5 <= quantile(HSMiss$x5, .3), NA, HSMiss$x5)
age <- HSMiss$ageyr + HSMiss$agemo/12
HSMiss$x9 <- ifelse(age <= quantile(age, .3), NA, HSMiss$x9)
## impute missing data
library(Amelia)
set.seed(12345)
HS.amelia <- amelia(HSMiss, m = 20, noms = "school", p2s = FALSE)
imps <- HS.amelia$imputations
## specify CFA model from lavaan's ?cfa help page
HS.model <- '
speed =~ c(L1, L1)*x7 + c(L1, L1)*x8 + c(L1, L1)*x9
'
out <- cfa.mi(HS.model, data = imps, group = "school", std.lv = TRUE)
## Mode 1: Score test for releasing equality constraints
## default test: Li et al.'s (1991) "D2" method
lavTestScore.mi(out, cumulative = TRUE)
## Li et al.'s (1991) "D1" method
lavTestScore.mi(out, test = "D1")
## Mode 2: Score test for adding currently fixed-to-zero parameters
lavTestScore.mi(out, add = 'x7 ~~ x8 + x9')
## End(Not run)