Priors for Bayesian EFA PreviousNext
Mplus Discussion > Exploratory Factor Analysis >
 Guido Biele posted on Thursday, September 07, 2017 - 4:56 am
I would like to set the priors for factor loadings in a Bayesian EFA to N(0,1).
However, I can't figue out the labels of the factor loadings.

How do I specify priors for factor loadings in a Baysian EFA?

Thanks in advance!
 Bengt O. Muthen posted on Thursday, September 07, 2017 - 3:13 pm
You can't because of the rotation. An alternative is to use "BSEM", that is, a CFA approach that allows the use of small-variance priors for the cross-loadings that EFA indicates (and priors for the main loadings as well if that is desired). See the paper on our website:

Muthén, B. & Asparouhov, T. (2012). Bayesian SEM: A more flexible representation of substantive theory. Psychological Methods, 17, 313-335. Click ""download paper"" below for the latest version of October 21, 2011. Download the 2nd version dated April 14, 2011. Click here to view the seven web tables referred to in the paper and here to view Mplus inputs, data, and outputs used in this version of paper. Download the 1st version dated September 29, 2010 containing a MIMIC section and more tables, and the corresponding Mplus inputs, data, and outputs here. The seven web tables correspond to tables 8, 10, 17, 18, 19, 20, and 21 of the first version.
download paper and rejoinder contact first author show abstract
 Guido Biele posted on Monday, September 11, 2017 - 1:25 am
I ran a BESEM, which led me to a BUG in the labelling of sample-traces in the gh5 file for Bayesian EFA with categorical indicators:

For a Bayesian EFA with categorical indicators *.out files first report loadings for categorical variables, regardless if categorical indicators were the first variables in the data file or not. E.g., in my analysis y20 & y21 are categorical variables and the loadings of y21 and y21 are shown first.

However, when extracting the samples from the gh5 file in R, or when looking at the posterior distributions in Mplus, the samples for the loadings for the two categorical variables (e.g., y20 & y21) are labelled to be samples for the first two variables in the data file, y1 & y2.

To check where things go wrong I ran a Bayesian CFA for which I used Bayesian EFA results to determine the factor structure. This gives rubbish results if I use the original labels in the gh5 file to determine the factor structure*. However, if I correct the labels to account for the fact that the first loadings are for categorical variables before I determine the factor structure, CFA and EFA results are consistent. Hence, I think there is a bug in how samples for a Bayesian EFA are labelled in the gh5 file.

Best, Guido

* I found the bug when investigating why the CFA did not give the expected results.

PS: Labelling for the CFA samples in gh5 files seems to be OK.
 Bengt O. Muthen posted on Tuesday, September 12, 2017 - 7:32 am
Please send the files to Support so we can look into the problem.
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