EFA with three-level model PreviousNext
Mplus Discussion > Exploratory Factor Analysis >
 Sylvia Morelli posted on Monday, September 09, 2013 - 1:48 pm
Is it possible to do an EFA with a three-level model? If yes, is there an example dataset and MPlus code anywhere? I couldn't find an example.
 Bengt O. Muthen posted on Monday, September 09, 2013 - 3:36 pm
No this is not yet available.
 Sylvia Morelli posted on Monday, September 23, 2013 - 4:25 pm
Since there is no three-level EFA option, can you recommend an analytical approach that I could use with MPlus 7? I looked at the ICC's for level 2 and level 3 in my data set, and they are usually between .15 - .21 for all the outcomes. So, it indicates I should really have a three-level EFA.

So, would you recommend doing a two-level EFA (ignoring either the second level or the third level)? Then, should I do a three-level CFA based on the results for the two-level EFA?

Alternatively, I could move directly to a three-level CFA and try several different models. Thanks for any help!
 Bengt O. Muthen posted on Monday, September 23, 2013 - 5:26 pm
I would do the EFA using

Type=Complex Twolevel;

and use level 2 for the twolevel clustering and level 3 for complex.

Note also that you want a large number of units on both the 2nd and 3rd levels (at least 20, preferably 30-100).
 Sylvia Morelli posted on Tuesday, September 24, 2013 - 1:58 pm
So, I have 14 consecutive days of data nested within 98 individuals nested within 49 dyads. Based on the manual, I should use a two-level model.

By using Type = Complex Twolevel, am I then accounting for both the individual and dyad level clustering in my EFA? If not, what is that command doing?

My ultimate goal is to find the factor structure for several daily-level variables that takes into account the nested nature of the data. So, can the output of a multilevel EFA potentially produce a different factor structure at each level (i.e. time, individual, and dyad)?

In addition, I read thru the user's guide and examples for CH 4 & 9, but I am still not sure if I am coding this multilevel EFA correctly. First, am I coding the three levels correctly (or two levels in your program)? Second, did I choose the correct EFA options to account for these three levels? See below for code.

TITLE: EFA with continuous and count factor indicators

DATA: FILE = daily_data.dat;

VARIABLE: NAMES = y1-y6 individual dyad
COUNT = y2 y4;
WITHIN = y1-y6;
BETWEEN = individual;
CLUSTER = dyad;

 Linda K. Muthen posted on Wednesday, September 25, 2013 - 11:33 am
I would treat this as a multivariate rather than a multilevel model. This means the data would be in wide format rather than long format. The non-independence of observations is then handled by multivariate analysis. The modeling is more flexible allowing more parameters for each dyad member.
 Sylvia Morelli posted on Wednesday, October 16, 2013 - 1:23 pm
Can you point me to an example of a multivariate model with three-level data? Thanks so much!
 Linda K. Muthen posted on Wednesday, October 16, 2013 - 2:09 pm
See Examples 9.21, 9.22, and 9.23.
 Fredrik Falkenström posted on Saturday, February 22, 2014 - 8:17 am
I have a follow-up question about this. We are evaluating a measure of therapist feelings after psychotherapy sessions, and the level 1 data consists of repeated measurements over sessions with some patients having only a few sessions while some have over one hundred. Level 2 consists of 200 patients, and level 3 is about 100 therapists. I thought the idea of using a two level EFA while controlling for therapist differences using TYPE=COMPLEX TWOLEVEL that Bengt mentioned would be perfect since we will use the measure on a patient level in later analyses (and thus we are not interested in the factor solution for the therapist level). However, I wonder if there is a problem that there are so many therapists who see only one patient (the mean number of patients per therapist is about 1.8)?

Also, I wonder how to interpret the level 1 factor solution? Level 2 is reasonably clear, it should be the way different therapist feelings cluster together across patients, after adjusting for therapist differences. But I'm not sure about how to interpret the factor solution for the repeated measurements? Does it have something to do with factor stability over time, after adjusting for differences between patients?

Any thoughts on this would be great!

Best wishes,

Fredrik Falkenström
 Bengt O. Muthen posted on Saturday, February 22, 2014 - 3:46 pm
Regarding paragraph 1, I don't see that this would cause a problem.

Regarding paragraph 2, your interpretation seems reasonable.
 Fredrik Falkenström posted on Sunday, February 23, 2014 - 3:38 am
Great, thanks!

 Fredrik Falkenström posted on Tuesday, February 25, 2014 - 5:12 am
A quick follow-up question: Is it possible to estimate an EFA with Type = Complex Twolevel using categorical dependent variables (i.e. ordinal level with a scale from 0-4)? It doesn't seem to work when I try WLSMV?

 Fredrik Falkenström posted on Tuesday, February 25, 2014 - 5:13 am
Sorry, the scale is ordinal with range 0-3 (not 0-4 as I wrote).

 Linda K. Muthen posted on Tuesday, February 25, 2014 - 6:23 am
TYPE=EFA COMPLEX TWOLEVEL is not available. See pages601-602 of the user's guide where the available combinations of types are shown.
 Fredrik Falkenström posted on Tuesday, February 25, 2014 - 9:14 am
Ok, thanks.

 Fredrik Falkenström posted on Tuesday, February 25, 2014 - 11:21 pm
I'm thinking of alternatives where I can use WLSMV. I thought I'd use only one session (thereby skipping the repeated measures level) and estimate a two level model with the therapist level (level two) estimated as an unstructured covariance matrix (since I don't think the data is enough to estimate a separate factor model for level 2, since many therapists only see one patient). But then I realized that model fit criteria probably look too good when I have an unstructured level 2 model? Especially the CFI, but I guess the Chi-square test will also look too good?

I also thought of using a one-level factor model with level two as Complex. Perhaps this is best, but since I chose only one session I got a warning that standard errors may be biased if I used the Useobservations command. When I instead used the Subpopulation command (as recommended in this warning), I got an error that in one of the categories the response was zero for all observations (and the model was not estimated).

Do you have any recommendations in this situation? Thank you very much for your help!


 Fredrik Falkenström posted on Wednesday, February 26, 2014 - 1:47 am
Thinking a bit further, I may be able to specify the above into two questions:

1. Am I right that when estimating a saturated between-level model in addition to the within-part of the model (the one I am interested in), the inclusion of a part of the model with perfect fit between model-implied and observed covariance matrices will bias the Chi-square test of overall model fit toward non-significance compared to if the within part of the model had been somehow tested "on its own"? If not, this may be our preferred approach.

2. Does it matter that the standard errors may be biased when estimating a model using Type = Complex for a subpopulation using the "Useobservations" command, if we are not really interested in the significance of the parameters but in their values (i.e. size of factor loadings) only?


 Bengt O. Muthen posted on Wednesday, February 26, 2014 - 4:08 pm
I can't comment on all the issues since some touch on more general analysis strategies better suited for a general discussion list like Multilevelnet, but here are a couple of quick Mplus-related comments.

Note that 2-level analysis can be done using WLSMV.

Don't worry about using the Subpopulation command - it would seldom change results in a noticeable way.

It is fine to use a saturated between-level model but it also uses more parameters than are typically needed - often a 1-factor model is sufficient on between.

Please try to keep your postings within one window.
 Fredrik Falkenström posted on Friday, February 28, 2014 - 2:41 am
Ok, thanks! Sorry for the long message, I was thinking along the way.

 Maggi Mackintosh posted on Tuesday, July 17, 2018 - 6:52 pm
Thank you in advance for the help.

I'm trying to do a three-level EFA but the scale only has 3 items. I want to assess the psychometric utility of the three items loading on to one factor. My results indicate I have 0 degrees of freedom, since I only have three items. I'm trying to figure out if I can equate or impose other constraints on my model to make it interpretible.

The research question I'm trying to address is that I have data consisting of supervisor ratings on a 3-item measure for 56 clinicians nested within 17 supervision groups. The number of ratings per clinician is variable: 2 - 16. So, time nested within clinicians and clinicians nested within supervision group.

Here is what I was trying:

TITLE: "3-Level, 3-Item Multilevel EFA" ;

DATA: FILE IS "EFA01.txt" ;


study PtID SsnNum DaysBL Clncn ConGroup ConTmPrd
DaysCon Enthu Skills Partic ;

USEVARIABLES ARE Enthu Skills Partic ;

CLUSTER = ConGroup clncn ;



W_ESP by enthu@1 skills partic ;

B_ESP by enthu@1 skills partic ;


 Bengt O. Muthen posted on Wednesday, July 18, 2018 - 8:18 am
With 3 items you can fit only 1 factor so EFA is not relevant.
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