The ECVI of Browne and Cudeck (1989) estimates how well a fitted model's implied covariance matrix would fit an independent sample of the same size from the same population. It is the single-sample estimate of the cross-validation discrepancy, so a smaller ECVI indicates a model expected to generalize better; ECVI is most useful for comparing competing models fit to the same data. A confidence interval, derived from the noncentral chi square distribution, accompanies the point estimate.
Arguments
- fit
A fitted lavaan model. Supply this, or the summary statistics below.
- chisq, df, npar, n
The model chi square, its degrees of freedom, the number of free parameters, and the total sample size. Used when
fitis not supplied, so an ECVI can be obtained from a published fit table.- conf_level
Confidence level for the interval. Defaults to 0.95.
Value
A data.frame (class dmar_tbl) with rows
ecvi, lower_limit, and upper_limit in the
value column.
Details
With \(q\) free parameters and total sample size \(N\),
\(\mathrm{ECVI} = (\chi^2 + 2q)/N\), the value the
Journal of Statistical Software reference implementation in
lavaan reports. Writing \(\hat\lambda = \chi^2 - df\) for the
estimated noncentrality, this is \((\hat\lambda + df + 2q)/N\); the
confidence interval replaces \(\hat\lambda\) by the lower and upper
noncentrality limits from conf_limits_nc_chisq, the same
inversion used for the RMSEA interval (see ci_rmsea). ECVI
differs from the AIC only by the constant factor \(N\), so the two rank
models identically; ECVI is reported because its metric (a discrepancy
per observation) and its confidence interval are interpretable on their
own.
References
Browne, M. W., & Cudeck, R. (1989). Single sample cross-validation indices for covariance structures. Multivariate Behavioral Research, 24(4), 445–455.
See also
ci_rmsea, conf_limits_nc_chisq.
Other multivariate and latent variable methods:
average_variance_extracted(),
bifactor_indices(),
cfa_1(),
cfa_2(),
cfa_k(),
ci_eigenvalue(),
common_method_marker(),
common_method_single_factor(),
dmacs(),
htmt(),
irt_grm(),
irt_information(),
measurement_alignment(),
measurement_invariance(),
procrustes_phi(),
simple_structure()
Author
Ken Kelley kkelley@nd.edu
Examples
# From a published fit table (no model object needed).
ecvi(chisq = 24.361, df = 8, npar = 13, n = 301)
#> term value
#> ecvi 0.167
#> lower_limit 0.125
#> upper_limit 0.243
#>
#> Confidence level: 95%
fit <- lavaan::cfa(
"visual =~ t1_visual_perception + t2_cubes + t4_lozenges
verbal =~ t6_paragraph_comprehension + t7_sentence + t9_word_meaning",
data = holzinger_swineford, std.lv = TRUE)
ecvi(fit)
#> term value
#> ecvi 0.167
#> lower_limit 0.125
#> upper_limit 0.243
#>
#> Confidence level: 95%