Bayesian BSEM Structural invariance PreviousNext
Mplus Discussion > Structural Equation Modeling >
 S.Arunachalam posted on Friday, April 05, 2013 - 1:46 pm
Respected Prof. Muthen, I am trying to use BSEM to test multigroup (3 groups) invariance - measurement & structural.
1.) I am using Muthén & Asparouhov(2013). BSEM measurement invariance analysis, as the reference to conduct Measurement invariance.However I am not sure how to proceed with structural invariance within BSEM. Kindly guide me on the article for conducting structural invariance in BSEM framework.
2.) I found the following two articles while trying to conduct structural invariance. These articles elaborate on "testing informative hypoheses"; is it the same as testing structural invariance? Also these article refer to R-script? Is it necessary to use the script always for conducting structural invariance?
Rens van de Schoot, Marjolein Verhoeven & Herbert Hoijtink (2012): Bayesian evaluation of informative hypotheses in SEM using Mplus: A black bear story, European Journal of Developmental Psychology
Van de Schoot, R., Hoijtink, H., Hallquist, M. N., & Boelen, P.A. (2012). Bayesian Evaluation of inequality-constrained Hypotheses in SEM Models using Mplus. Structural Equation Modeling, 19, 593-609

My apologies for an elaborate question. Basically, I am slightly confused with the steps to be taken to conduct structural invariance in a BSEM setup. Please guide me on the steps, & Mplus scripts with examples. Thanking you so very much in advance.
 Bengt O. Muthen posted on Saturday, April 06, 2013 - 12:31 pm
Please see the analysis of the Science model at the end of our rejoinder to the comments on

Muthén, B. & Asparouhov, T. (2012). Bayesian SEM: A more flexible representation of substantive theory. Psychological Methods, 17, 313-335.

If you send me an email I can send you the scripts for the Science model analyses in the rejoinder.

This is not the same as the de Schoot et al articles.
 S.Arunachalam posted on Saturday, April 06, 2013 - 12:54 pm
Dear Prof. Muthen

Thank you very much.

 Bengt O. Muthen posted on Saturday, April 06, 2013 - 1:26 pm
Regarding testing invariance hypotheses across groups using multiple-group BSEM in line with

Muthen & Asparouhov (2013). BSEM measurement invariance analysis. Web note 17.

you would proceed just like with approximate invariance hypotheses for measurement parameters. So for a particular structural parameter you impose equality with zero-mean, small-variance priors and look to see where you find significant differences across groups. You can use Model Constraint to create a new parameter which is the difference between a structural parameter and its average across groups. This is done automatically and printed in the output for measurement parameters, but you can do it also for structural parameters. I don't have any scripts for doing this.
 S.Arunachalam posted on Saturday, April 06, 2013 - 2:22 pm
Thank you Prof. Muthen. I will try as per your suggestions.
 Tait Medina posted on Thursday, January 23, 2014 - 11:44 am
I am trying to think through the difference between the following two approaches to detecting measurement non-invariance when indicator variables are continuous:

(1) using an ML approach to multiple-group analysis where all measurement parameters are constrained to be invariant across groups and modification indices are used to determine which parameters should be freely estimated.

(2) using a BSEM approach to detecting invariant and non-invariant items as described in Web Note 17.

I am wondering if you know of any work that compares these two approaches and if the same parameters are found to be invariant/non-invariant?

Thank you.
 Bengt O. Muthen posted on Thursday, January 23, 2014 - 1:23 pm
There is hardly any work on this to date. One related article is

van de Schoot, R., Tummers, L., Lugtig, P., Kluytmans, A., Hox, J. & Muthén, B. (2013). Choosing between Scylla and Charybdis? A comparison of scalar, partial and the novel possibility of approximate measurement invariance. Frontiers in Psychology, 4, 1-15. doi: 10.3389/fpsyg.2013.00770.

which is on our website.

Two other approaches suitable for working with many groups are discussed in this paper on our website:

Muthén and Asparouhov (2013). New methods for the study of measurement invariance with many groups. Mplus scripts are available here.
 Tait Medina posted on Thursday, January 23, 2014 - 2:24 pm
Thank you.
 Tait Medina posted on Thursday, April 03, 2014 - 12:31 pm
I am conducting a Bayesian multiple group model with approximate measurement invariance using 2 groups (for now). I am having difficulty understanding how the second column (headed Std. Dev.) is obtained. The first column appears to represent the average of the estimates across the groups, and the last columns the group-specific deviations from the average which are starred if they are more than 2 times the std. dev (using .01 as the prior variance). But, how is the standard deviation obtained?


Average Std. Dev. Deviations from the Mean

LAM1_1 LAM2_1
1 0.935 0.027 -0.006 0.006

LAM1_2 LAM2_2
2 0.938 0.026 -0.013 0.013

LAM1_3 LAM2_3
3 1.000 0.031 -0.030 0.030
 Tihomir Asparouhov posted on Thursday, April 03, 2014 - 4:48 pm
The standard deviation reported in this output is the standard deviation for the average parameter. After the model is estimated and the posterior distribution for every parameter is estimated we compute the posterior distribution for the average parameter. From there we get the standard deviation. The significance is also evaluated in Bayes terms. For each group specific parameter we compute the posterior distribution for the difference between the average parameter and the group specific parameter and if 0 is not between the 2.5% and the 97.5% quantiles of that posterior distribution we conclude that the difference is significant.
 Tait Medina posted on Monday, April 21, 2014 - 6:42 pm
I have a question about using a BSEM approach to detect non-invariance (as described in Web Note 17) of thresholds and loadings when outcome variables are dichotomous. Are the scale factors fixed at one in all groups? If yes, how might this assumption of equivalent scale factors (or residual variances) impact non-invariance detection/testing of thresholds and loadings? In "traditional" multiple group testing with categorical outcomes (Web Note 4, for example), one approach is to constrain thresholds and loadings to be invariant across groups, fix scale factors (or residual variances) at one in one group and estimate in the remaining groups, and then use modification indices to relax thresholds and loadings in tandem until a model that is as well-fitting as the configural model is obtained. Both the BSEM and Alignment approaches to non-invariance detection/testing with categorical outcomes seem to assume that the scale factors are invariant. Is this correct? If yes, is there a way to evaluate the validity of this assumption? Also, if BSEM is used for the purposes of non-invariance detection, do you recommend relaxing the invariance constraints on thresholds and loadings in tandem? Thank you.
 Linda K. Muthen posted on Tuesday, April 22, 2014 - 10:08 am
The steps in testing for measurement invariance are the same for most estimators. The Version 7.1 Language Addendum which is on the website with the user's guide describes the models to use in various situations.
 Yoonjeong Kang posted on Saturday, April 26, 2014 - 12:53 pm
I am conducting a Bayesian multiple group model. When I saw TECH8 output, I found that there are"improper prior" associated with many parameters under "Simulated prior distributions."

Could you please tell me what these messages mean?

Simulated prior distributions

Parameter Prior Mean Prior Variance Prior Std. Dev.

Parameter 1 Improper Prior
Parameter 2 Improper Prior
Parameter 3 Improper Prior
Parameter 4 Improper Prior
Parameter 5 Improper Prior
Parameter 6 Improper Prior
Parameter 7 Improper Prior
Parameter 8 Improper Prior
Parameter 9 Improper Prior
 Linda K. Muthen posted on Saturday, April 26, 2014 - 4:15 pm
Please send the output and your license number to
 deana desa posted on Friday, August 08, 2014 - 2:02 am
In Table 7 of Multiple-Group Factor Analysis Alignment paper, there are two indices called Fit Function Contribution and R-square. Is there any way to see these two indices and its values in the Mplus output?
 Bengt O. Muthen posted on Friday, August 08, 2014 - 1:51 pm
That should be available in Mplus Version 7.2, using the Align option in the Output command.
 deana desa posted on Tuesday, August 12, 2014 - 4:25 am
If I have an output like the following, I can see where to find the values for the Fit Function Contribution index, but it is unclear for me to calculate R-square:


So, is v0 an estimated value from the configural model for each group (am I wrong here?), are v and Lambda computed from the following output or other part of the output? It is said in the paper, that these are the averages. But are the averages from the following output or from the set of "invariant groups"? Could you explain more on this, I think I miss something here.

Item Parameters In The Alignment Optimization Metric

Loadings: Variables (Rows) by Groups (Columns)
0.681 1.312 ....
Fit Function Contribution By Variable

Intercepts: Variables (Rows) by Groups (Columns)
-0.415 0.139 ....
Fit Function Contribution By Variable

Factor Means
0.113 -0.284 ...
Factor Variances
0.879 1.032 ...
 Bengt O. Muthen posted on Tuesday, August 12, 2014 - 2:45 pm
These R-square values are also given in the Version 7.2 output when requesting the Align option in the Output command.
 Andreas Stenling posted on Wednesday, May 27, 2015 - 1:40 am

I am trying to estimate a BSEM model with approximate invariance on structural parameters. When I estimate my model with approximate invariance on the structural parameters, with a zero mean and small variance prior (.005 or .001), the structural parameters become more equal across the two groups compared to the same model when these structural parameters are estimated without approximate invariance (freely estimated in the two groups).

For example, in the model without approximate invariance, the two parameters are .274 and .276 in group 1 and .373 and .483 in group 2. When I impose approximate invariance on these parameters (prior variance = .005), the two parameters are .313 and .396 in group 1 and .327 and .418 in group 2. Hence, they become more equal when imposing approximate invariance. I thought the priors in this case refer to the difference between the parameters, how come that affects the strength of the parameters?

 Andreas Stenling posted on Wednesday, May 27, 2015 - 2:46 am
Hi again,

You can ignore my previous question about approximate MI, sorry, should have thought it through one more time before posting it.

 Andreas Stenling posted on Wednesday, May 27, 2015 - 5:20 am

1. Can testing for differences in structural parameters between groups be done with the MODEL CONSTRAINT command when using Bayesian SEM?

2. If so, would the setup look like the one below where a1-a2 are parameter labels for parameters in group 1 and 2?

diff = a1 - a2;

3. Would this be a Bayesian approach to perform approximately what the MODEL TEST command and the Wald chi-square test of parameter equalities does when ML estimation is employed?

 Linda K. Muthen posted on Wednesday, May 27, 2015 - 9:06 am
1. Yes.
2. Yes.
3. Yes, if each parameter is tested separately.
 Andreas Stenling posted on Friday, May 29, 2015 - 7:18 am
Ok, thanks!

1. Can you recommend any litterature that describes what type of analysis is being conducted when the MODEL CONSTRAINT command is used in BSEM to examine differences in structural parameters?

2. When I try to estimate differences in structural parameters between two groups in a BSEM using the MODEL CONSTRAINT command, the parameters tested change considerably (they decrease) compared to when I estimate the same model without the MODEL CONSTRAINT command and the parameter labels. Do you have any idea why that might be?

My model is a multigroup BSEM with zero mean, small-variance priors for cross-loadings and residual correlations in the measurement part within each group. Below is the structural part of my model and the MODEL CONSTRAINT setup. Is there something wrong with the setup?

!Measurement part not shown

!Structural part
AM ON AS(a1);
INT ON AM(b1);

!Measurement part not shown

!Structural part
AM ON AS(a2);
INT ON AM(b2);

NEW(diff1 diff2);
diff1 = a1 - a2;
diff2 = b1 - b2;

 Tihomir Asparouhov posted on Friday, May 29, 2015 - 8:42 am
This is not possible. The diff parameters are computed after the model estimation is completed. The diff parameter distribution is obtained from the estimated model parameter distribution. Try to perform this for a very simple model in an attempt to figure out where the coding problem is. If that doesn't work send you input and data to
 deana desa posted on Sunday, May 31, 2015 - 4:05 pm

I'm running an alignment analysis with Mplus 7.3. In the output command I wrote

May I know where in the align output section to find/get R-square measure for intercepts and loadings?
 deana desa posted on Sunday, May 31, 2015 - 4:31 pm

Is R-square/Explained variance/Invariance index in the align output section is R-square derived in Eqs. 13-14 Webnote18?
 Tihomir Asparouhov posted on Monday, June 01, 2015 - 11:44 am
 deana desa posted on Monday, June 01, 2015 - 2:28 pm

If one would like to apply BSEM to test for invariance between groups, for example language groups LG, and also another grouping variable, say different test cycles TC.

1. If classes is c(11); knownclass is c(LG), can I add TC as another grouping variable? Could you advise.

2. I thought I need to do another recoding and redefine classes and knownclass, but is this an appropriate way?

3. Can TC be inserted as covariate instead? Is there a way or example code that one could test for such direct effects as covariates (e.g. MIMIC analysis) with BSEM?
 Tihomir Asparouhov posted on Monday, June 01, 2015 - 2:56 pm
1 & 2. With alignment there is no another way to add covariates. You will have to redefine the knownclass.

3. With BSEM (without alignment) you can add covariates, see (maybe page 48 is closest to what you want)
 deana desa posted on Tuesday, June 02, 2015 - 1:29 am

I am running an invariance analysis (#groups = 38) with BSEM approach such that MODEL = ALLFREE; ESTIMATOR = BAYES; ...,

1.priors are defined for all intercepts (no priors defined for loadings).

2. priors are given to both intercepts and loadings.

However, this resulted to "Improper Prior" for intercepts in case 1 and thetas in case 2. (PPP in both cases are 0.000).

Could you advise what this means or why this happens?
 Tihomir Asparouhov posted on Tuesday, June 02, 2015 - 11:41 am
Please send your Mplus runs and data (if possible) to
 deana desa posted on Thursday, June 11, 2015 - 7:02 am
Hello Mplus,

I am running BSEM. This is what I found from From MODEL=ALLFREE:

95%CI for the Difference Between the Observed and the Replicated Chi-Square Values (1259.638,1558.687) and PPP=0. PSR close to 1.

Then, two follow-up from the above model with residual correlations are added in the modeling and the associated priors are specified that is IW distributed (priors for diff. in lambdas and tau are the same). This is what I found:

1. when d=1500-->95%CI diff in Observed and the Replicated Chi-Square (61.244, 339.394), PPP=.004, PSR at 10000th iteration is 1.147.

2. when d=1000-->95%CI diff in Observed and the Replicated Chi-Square (-24.500 ,249.989), PPP=.057, PSR at 10000th iteration is 1.187.

3. when d=750-->95%CI diff in Observed and the Replicated Chi-Square (-66.752,206.599), PPP=.142, PSR at 10000th iteration is 1.08.

4. when d=550-->95%CI diff in Observed and the Replicated Chi-Square (-89.878,177.410), PPP=.257, PSR at 10000th iteration is 1.08.

My questions are:
1. I have model 2-4 that showed PPP>.05, but the speed of convergence is better at model 3. Am I wrong here? Also, can I use model 3 as my final model that it fits the data the better?

2. From models 2-4, can I select my final model with the smallest different in 95%CI of chi-square values?
 Bengt O. Muthen posted on Thursday, June 11, 2015 - 12:51 pm
I assume that you are following the recommended steps 5 and 6 in the paper on our web site:

Asparouhov, T., Muthén, B. & Morin, A. J. S. (2015). Bayesian structural equation modeling with cross-loadings and residual covariances: Comments on Stromeyer et al. Accepted for publication in Journal of Management.

Also, don't use a fixed number of iterations like your 10,000. Instead use


which gives the minimum number of iterations - this way you are certain that convergence has occurred in the last iteration.

If you have followed steps 5 and 6 and changed to BITER, an outcome like your 3. is where you can stop. You can then decide if you want to use this BSEM model or have it be the basis for a CFA model as in our paper.
 deana desa posted on Saturday, June 13, 2015 - 3:01 pm
Thanks, Dr. Muthen!

Another general question, why when using BSEM DIFF function in taus (thresholds) is not allowed to be specified?
Is there any ways to unconstrained the differences in taus with some priors?
 Bengt O. Muthen posted on Saturday, June 13, 2015 - 5:12 pm
Perhaps you have polytomous items for which BSEM isn't implemented.

If that's not it, please send your failed output plus license number to support.
 deana desa posted on Sunday, June 14, 2015 - 1:28 am
OK. It seems possible if I follow syntax in Table 13 of Webnote 17, just that I have (many)groups instead of time points.

Do I need to change the data structure to follow Table 13?

Do you have any suggestions/advises on how I may proceed (or is it possible?) when knownclass is defined, and I want priors for DIFF function in the thresholds?
 Bengt O. Muthen posted on Monday, June 15, 2015 - 2:03 pm
Table 13 is for many time points and therefore needs the data in wide form. If you have groups instead of time points, you don't need the data in that form.

DIFF for thresholds with many groups is done analogous to many time points. If you have problems, send to support.
 deana desa posted on Wednesday, August 05, 2015 - 1:41 am
Is there any ways I could stop the running bsem model and able to see/save the estimates at the time when it has been stopped?
 Linda K. Muthen posted on Wednesday, August 05, 2015 - 1:53 pm
No, this is not possible once it is started.
 deana desa posted on Monday, August 10, 2015 - 9:42 am
OK, thanks Dr. Muthen. I have another questions:

1. May I know the factor scores computed from the BSEM invariance procedure, by default, is it in a standardized form or not?

2. Also, if MODEL=SCALAR; in the MGCFA approach, are requested factor scores in a standardized form or not?
 Bengt O. Muthen posted on Tuesday, August 11, 2015 - 1:57 pm
1. Not by default - the metric is whatever you set it to be in the Model command.

2. Not unless the mean and variance of the factor is 0, 1 in the Model.
 deana desa posted on Friday, August 14, 2015 - 2:44 am
I set the metric to 0 and 1 for both invariance with BSEM and scalar models, then I requested the factor scores for further analysis.
I computed the correlation for the individual observations between the two scores. It is very highly correlated at .9. When summarize by group means, the correlation is small (.45).
The mean scores from scalar invariance ranging from -4 and 6, but the one from BSEM is always close to 0.

Do you have any idea why the group means computed from BSEM always close to 0?
 Bengt O. Muthen posted on Friday, August 14, 2015 - 6:24 am
We need to see the relevant output and explanations to say. Send to support along with your license number.
 Lois Downey posted on Wednesday, November 04, 2015 - 10:49 am
I'm running my first BSEM models, using the procedure outlined for the Holzinger and Swineford example in the Muthen-Asparouhov 2012 article, and modifying the script used for run7.out (the model without cross-loadings) to accommodate my data.

I'm testing a 4-factor, 12-indicator model. Eleven of the indicators are ordered categorical variables, the twelfth is a dichotomy, and I'm using WLSMV estimation. The dataset includes 2,478 cases.

My first two attempts (with fbiter = 10000 and 40000, respectively) failed the Kolmogorov-Smirnov distribution test, but an increase to 100,000 iterations appears to have solved that problem.

However, in the section of the Tech 8 output that lists "simulated prior distributions," the thresholds for all of the ordered categorical indicators have an indication "improper prior." The Tech 1 output indicates the priors for each of these thresholds as ~N(0.000, infinity).

What do I need to do to correct the problem of improper priors? (I assume that this problem renders the rest of the results questionable.)

 Bengt O. Muthen posted on Wednesday, November 04, 2015 - 6:13 pm
You can ignore both the K-S test and the improper prior statement. We have found the K-S test to be too strict and improper priors can still lead to proper posteriors which is all that matters.

But I wonder why you say you use WLSMV estimation - you must mean Bayes.
 Lois Downey posted on Thursday, November 05, 2015 - 7:24 am
Thank you. Yes, of course, I am using Bayes estimation -- comparing the Bayes results to those from the same model estimated with WLSMV, which had yielded a statistically significant chi-square test of fit. Sorry for misstating!

I now have another question. The 2012 article indicates that "the Bayes estimates can be used as fixed parameters in an ML analysis to get the likelihood-ratio test value for the Bayes solution." When I do that using the ML estimator without montecarlo integration, I get a message that there are 50,625 integration points, and I should reduce the number of integration points or use montecarlo integration. When I do the latter, I get a message that the frequency table for the latent class indicator model part is too large to compute the chi-square test; then, the loglikelihood is given for only H0. Does this imply that for a model as large as mine, with ordered categorical indicators, I cannot obtain the LRT?

 Bengt O. Muthen posted on Thursday, November 05, 2015 - 4:18 pm
The frequency table test is a separate thing from the H0 logLikelihood so you are fine.
 Lois Downey posted on Friday, November 06, 2015 - 6:53 am
But don't I need the likelihood values for both H0 and H1 to compute the LRT? Or do I get the LRT from something else on the output from the run with the ML estimator and the fixed parameter estimates?

My output shows only the likelihood for H0, not the likelihood for H1.
 Bengt O. Muthen posted on Friday, November 06, 2015 - 10:40 am
With categorical outcomes, ML does not use an H1 model like with WLSMV because it doesn't fit the model to polychorics.
 Andres Fernandez posted on Tuesday, January 31, 2017 - 9:08 am
Dear Prof. Muthen, could you send me the scripts for the Science model analyses in the rejoinder to the comments on Muthén, B. & Asparouhov, T. (2012). Bayesian SEM: A more flexible representation of substantive theory? My email is Thanks for your help.
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Enable HTML code in message
Automatically activate URLs in message