Stata's linear sem provides the Satorra–Bentler scaled chi-squared test for model goodness of fit versus the saturated model. Why do you care? The likelihood-ratio test comparing your fitted model with the saturated model is derived under the assumption that the observed variables in your model are normally distributed. If they are not, that test is not appropriate. The Satorra–Bentler scaled chi-squared test is robust to nonnormality. Because many other goodness-of-fit statistics are derived from the model using the chi-squared test, they too become robust to nonnormality.
The same adjustment that gives you the Satorra–Bentler scaled chi-squared test makes a host of other things robust to nonnormality: standard errors, p-values, and confidence intervals reported by sem and standard errors, p-values, and confidence intervals for most posthoc comparisons and tests, including joint tests, nonlinear tests, linear and nonlinear expressions of parameters, estimated marginal means and marginal effects, equation-level Wald tests, direct and indirect effects, and tests of standardized parameters.
Stata's sem already had an adjustment that makes everything in "What's more" true. It is often called the Huber or White method, or just called the linearized estimator. Whatever you call it, this estimator and the Satorra–Bentler adjustment are making your inferences robust to similar things. They are derived and computed differently, so they produce different estimates. As samples become very large, however, they converge to the same estimates.
Suppose we have six variables, dep1–dep6, that are each intended to measure different aspects of depression. The measurements of depression are continuous with scores ranging from 0 to 100. They do not follow a multivariate normal distribution. We fit a one-factor CFA model for depression.
To fit this model and request the Satorra–Bentler scaled chi-squared statistic using sem, we type
. sem (Depression -> dep1-dep6), vce(sbentler) Endogenous variables Measurement: dep1 dep2 dep3 dep4 dep5 dep6 Exogenous variables Latent: Depression Fitting target model: Iteration 0: log pseudolikelihood = -8883.5322 Iteration 1: log pseudolikelihood = -8882.5925 Iteration 2: log pseudolikelihood = -8882.576 Iteration 3: log pseudolikelihood = -8882.576 Structural equation model Number of obs = 500 Estimation method = ml Log pseudolikelihood= -8882.576 ( 1) [dep1]Depression = 1
|Coef. Std. Err. z P>|z| [95% Conf. Interval]|
|_cons||31.1175 .3406304 91.35 0.000 30.44987 31.78512|
|Depression||.5134465 .0452706 11.34 0.000 .4247177 .6021753|
|_cons||23.17739 .2970506 78.03 0.000 22.59518 23.7596|
|Depression||1.242734 .0485588 25.59 0.000 1.147561 1.337908|
|_cons||34.95304 .3448572 101.36 0.000 34.27713 35.62895|
|Depression||1.317912 .0514062 25.64 0.000 1.217158 1.418666|
|_cons||32.48394 .3546712 91.59 0.000 31.7888 33.17908|
|Depression||1.331852 .0552345 24.11 0.000 1.223595 1.44011|
|_cons||34.6336 .3791664 91.34 0.000 33.89044 35.37675|
|Depression||1.297788 .0509321 25.48 0.000 1.197963 1.397613|
|_cons||32.0842 .3508572 91.45 0.000 31.39654 32.77187|
|var(e.dep1)||24.97784 2.618343 20.33885 30.67493|
|var(e.dep2)||35.35251 4.519579 27.51692 45.41932|
|var(e.dep3)||8.502031 .5768576 7.443363 9.711274|
|var(e.dep4)||5.590374 .5799466 4.561808 6.850854|
|var(e.dep5)||13.34413 .9658573 11.57923 15.37804|
|var(e.dep6)||5.980518 .5544732 4.986791 7.172267|
|var(Depres~n)||32.92067 3.276629 27.08618 40.01195|
|LR test of model vs. saturated: chi2(9) = 15.89, Prob > chi2 = 0.0693|
|Satorra–Bentler scaled test: chi2(9) = 15.08, Prob > chi2 = 0.0889|
Here the Satorra–Bentler scaled statistic is 15.08 with a p-value of 0.0889, while the normal-theory statistic is 15.89 with a p-value of 0.0693. With a 0.05 significance level, we fail to reject the null hypothesis, indicating good fit using either the normal-theory statistic or the Satorra–Bentler scaled statistic. Clearly, for other models, the two statistics can lead us to draw different conclusions about the fit of our model.
By specifying the vce(sbentler) option, we also obtain standard errors that are robust to nonnormality. The robust standard errors are used in computing test statistics and confidence intervals for each of the parameters.
Many other goodness-of-fit statistics are a function of the model chi-squared statistic. estat gof automatically reports adjusted versions of each of these statistics as well.
. estat gof, stats(all)
|Fit statistic||Value Description|
|Likelihood ratio||Value Description|
|chi2_ms(9)||15.887 model vs. saturated|
|p > chi2||0.069|
|chi2_bs(15)||2993.029 baseline vs. saturated|
|p > chi2||0.000|
|p > chi2||0.089|
|p > chi2||0.000|
|RMSEA||0.039 Root mean squared error of approximation|
|90% CI, lower bound||0.000|
|pclose||0.680 Probability RMSEA <= 0.05|
|RMSEA_SB||0.037 Root mean squared error of approximation|
|AIC||17801.152 Akaike's information criterion|
|BIC||17877.015 Bayesian information criterion|
|CFI||0.998 Comparative fit index|
|TLI||0.996 Tucker-Lewis index|
|CFI_SB||0.998 Comparative fit index|
|TLI_SB||0.997 Tucker-Lewis index|
|Size of residuals|
|SRMR||0.011 Standardized root mean squared residual|
|CD||0.969 Coefficient of determination|
In this case, the RMSEA, CFI, and TLI goodness-of-fit statistics that were computed using the Satorra–Bentler scaled chi-squared statistic are similar to those based on the normal-theory statistic. Based on the goodness-of-fit statistics reported here, our model appears to fit well.
Read more in Stata Structural Equation Modeling Reference Manual.