Nonlinear Factor Analysis PreviousNext
Mplus Discussion > Confirmatory Factor Analysis >
 Anonymous posted on Thursday, July 01, 2004 - 6:31 am
I have been playing around with the demo version of Mplus 3 to better understand the nonlinear factor analysis capabilities -- I think this is a great addition. I've run a multiple observed groups factor analysis with a quadratic effect using the knownclass option (2 groups). The factor is f1.

The output reports an estimated mean for the quadratic term f1f1 in the first class but the mean of f1f1 is fixed to zero in the second class. This confuses me. The mean of f1f1 will generally not be zero. Additionally, if f1 is normally distributed (which I thought was an assumption of the Klein ML approach implemented in Mplus 3) shouldn't the mean of f1f1 be a direct function of the mean and variance of f1 (vis a vis equations in Joreskog & Yang) and thereby fixed?

So my questions are (1) Should the mean of f1f1 be estimated at all (is this to relax the normality assumption on f1)?, and (2) Should it really be fixed to 0 in the second class?

Thanks in advance.
 bmuthen posted on Thursday, July 01, 2004 - 9:18 am
Please send the output and also preferrably the input and data to so we can have a closer look at this.
 Michael J. Zyphur posted on Tuesday, March 07, 2006 - 12:26 pm
Hi Bengt/Linda!
I was wondering about non-linear CFA, where each additional latent variable is an exponential function of an initial latent variable. As shown in the manual, such a model is made simple in Mplus with the XWITH command (e.g., f2 | f1 XWITH f1). However, with this command, the models seem to be limited to specifying the observed variables as being a function of only a linear and quadratic latent variable, as there seems to be no way to compute a cubic latent factor (although a quartic latent factor seems possible - f4 | f2 XWITH f2). Any thoughts on how to do construct a cubic factor, or, for that matter, any odd-numbered exponentiation?

Thanks for your time and Mplus 4!

 Bengt O. Muthen posted on Tuesday, March 07, 2006 - 12:54 pm
I would think

f2 | f1 XWITH f1;
f3 | f2 with f1;

would give 3rd order poly and similarly to get 5th order.

General nonlinear functions of latent variables is more complex, but can perhaps be tricked out of the program.
 Michael J. Zyphur posted on Tuesday, March 07, 2006 - 1:32 pm
Of course, the exponents are additive with multiplication... whoops.

Two questions now (1): Does anything to do with the XWITH command, and the associated numerical integration, invalidate the assumptions (e.g., regularity) associated with testing -2LL differences for models with different numbers of exponentiated factors? Testing such differences is likely a better way to go about investigating the usefulness of additional non-linear factors than looking for significant amounts of variance for the new factors, yes?

(2) The exponentiated factors will always be orthogonal by default. Will this change the substantive interpretation of the results from one where the factors were correlated? In more traditional regression it wouldn't have to when, for example, constructing an orthogonal "power polynomial" equation, yes?
 Bengt O. Muthen posted on Thursday, March 09, 2006 - 6:34 am
1. -2LL is still fine.

2. With exogenous factors f1 and f2,

f1x | f1 xwith f1;
f2x | f2 xwith f2;

f1 and f2 are correlated and so f1x and f2x will be implicitly correlated.
 Edward Barker posted on Wednesday, October 18, 2006 - 5:19 am

Is it possible to do a multiple group analysis with non-linear factor analysis (page 54 of the user guide)?

I am trying to establish measurement invariance accross time prior to estimating GGMM models. I am using measurement occassion as the GROUP.

I get this error when applying the user guide example:

ALGORITHM = INTEGRATION is not available for multiple group analysis.
 Linda K. Muthen posted on Wednesday, October 18, 2006 - 5:27 am
When the GROUPING option cannot be used, the KNOWNCLASS option is available. However, if you are testing measurement invariance across time, it is not correct to do it using multiple group analysis. In multiple group analysis, the subjects in the groups must be independent. Instead, set the equalities of intercepts and factor loadings across time and test nested models. See Example 6.14. Just take away the growth part of the model.
 Edward Barker posted on Wednesday, October 18, 2006 - 5:37 am
Please disregard previous message -- I have found Bauer (2005):

KNOWNCLASS=C (time1=1 time2=2);

 Edward Barker posted on Wednesday, October 18, 2006 - 5:38 am
Ok - Thanks!
 Ringo Ho posted on Friday, December 08, 2006 - 9:41 pm
hi Prof Muthen

I have two questions regarding the estimation of nonlinear CFA procedure in mplus:

1) the estimation method is based on
Klein-Moosbrugger (2000) Psychometrika paper, right?

2) if i fit a quadratic factor analysis model with multiple items:
y_j=b1_j*f + b2_j*fsq + e_ij
(fsq is created by : fsq | f xwith f)

I choose to identify f is by setting var(f) = 1 (and mean(f)=0) but free all factor loadings.

Under standard normal assumption on f, mean(fsq)=1 and var(fsq)=2. Should I impose these constraints in the mplus prg as well [your example 5.17 does not have these constraints]? I wonder internally if Mplus set the mean(fsq) and var(fsq) to some specific value. If so, what are these values?

Thanks a lot for your help.
 Linda K. Muthen posted on Saturday, December 09, 2006 - 9:44 am
Mplus uses the same estimator, FIML, but a slightly different algorithm.

The interaction does not have mean and variance parameters so you don't need to do anything.
 luke fryer posted on Monday, October 11, 2010 - 5:07 am
Dr.s Muthen,

Under what conditions would you suggest I employ Non-linear CFA (EXAMPLE 5.7: NON-LINEAR CFA) instead of normal CFA (EXAMPLE 5.2: CFA WITH CATEGORICAL FACTOR
INDICATORS). I am working with dichotomous data (10 indicators per latent variable;3 variables; Monte carlo suggests sufficient sample for Example 5.2).

 Linda K. Muthen posted on Monday, October 11, 2010 - 11:18 am
I would only use this if I had a specific hyothesis to test.
 Aidan G. Wright posted on Saturday, August 15, 2015 - 8:05 am
Dear Mplus team,

So, in non-linear CFA as implemented in MPlus' XWITH command, if the quadratic latent factor has no variance, how should the regression coefficient of an outcome variable regressed on a quadratic latent factor be interpreted?

In other words, it is the change in the outcome per unit change in the quadratic factor, but what is the scale of the quadratic factor? Or, how can we get a sense of the magnitude of the effect?

 Bengt O. Muthen posted on Saturday, August 15, 2015 - 9:45 am
It's not that the quadratic factor has no variance. It's that is has no variance parameter that is estimated. The variance of a quadratic factor can be obtained from the variance of the factor under a normality assumption. But what you really want to focus on is how much y changes as a function of one SD unit change in the factor. When the factor changes one SD unit, y changes both due to the linear and the quadratic part of the factor, each with its own loading.
 Aidan G. Wright posted on Saturday, August 22, 2015 - 9:37 am
Thanks for the reply. I'm sorry, but I may need a bit more clarification.

By what you wrote do you mean one can calculate the quadratic factor by using the available parameter estimates (e.g., factor loadings, residual variances, factor variance)?

If so, and given this set of commands:
F BY Y1 Y2 Y3;
Y1 Y2 Y3 ON QF;
Are the Y variables regressed on QF to be understood directly as loadings?

And one final question, there is no parameter that I can see for for the covariance between a factor and the quadratic factor, so should we assume independence in calculations?

I should say, I am trying to estimate standardized betas (i.e., regression coefficients) for an outcome regressed on a factor and its quadratic form.

Thank you for your help.
 Bengt O. Muthen posted on Monday, August 24, 2015 - 3:25 pm
I was talking about how to plot the indicator as a function of F and F*F.

Yes Y ON QF;

are factor loadings.

If you want to standardize you have the information in our FAQ Latent Variable Interactions (or wait for version 7.4 coming this Fall).
 Cheng-Lung Wang posted on Tuesday, October 30, 2018 - 2:49 am
Dear Mplus team,

I currently use non-linear CFA to address the issue of latent variable interaction with PISA dataset. (7.4 version)

Due to the design of PISA, the TYPE = COMPLEX was selected in order to take clusters (schools) and weight into accounts.

The following is the syntax I typed.

However, I got an error message with "To declare interaction variables, TYPE = RANDOM must be specified in the ANALYSIS command."

I wonder if the non-linear CFA can be only used with TYPE = Random caused by the fact that Algorithm = Integration according to ex5.7.

Any suggestion to deal with the issue of latent variable interaction with complex data with TYPE = General Complex.

Thank you very much
 Bengt O. Muthen posted on Tuesday, October 30, 2018 - 5:14 pm
Try Type = Complex Random;
 Cheng-Lung Wang posted on Sunday, November 04, 2018 - 8:21 pm
Dear, Muthen, thanks for the reply. The advice is work.

However, I have a further question about the model fit information.

After used the following syntax

I only got two model fit criteria, namely AIC and BIC. As I know, the two were mainly used to compare models showing which one is better.
I read the Mplus discussion and user guide, but there was no the same question or issue that I met.

Is it possible to show the CFI/TFI, SRMR, RMSEA, or chi-square with non-linear CFA?

Thank you
 Cheng-Lung Wang posted on Monday, November 05, 2018 - 1:48 am
I am sorry to post again. Hope you can ignore the above description of my problem since I thought I should describe my model more detailed.

A multiple mediation model was analyzed where two independent variables, three mediators, and one outcome variables were used. All these variables are continuous, and one of the independent variables was quadratically computed by the other through with the XWITH command.

Additionally, the TYPE = IMPUTATION was used due to 10 Plausible values that generated by PISA.

Some problems I've met and I read previous Mplus discussion as much as I can. I want to make sure if those issues remain or could be solved.

1. Due to XWITH Command used, TYPE = Random is necessary for numerical integrating(), what should I do to obtain the output of indirect effect? Only by MODEL CONSTRAINT with adding INTEGRATION = MONTECARLO; to the ANALYSIS command? (Previous suggestion on a similar question)
MODEL INDIRECT is not available for TYPE=RANDOM, which is the error message I got

2. Is there any absolute fit statistics provided with non-linear CFA? TECH 10 is not available for TYPE = imputation.

Thank you
 Bengt O. Muthen posted on Monday, November 05, 2018 - 3:54 pm
Do you use XWITH because your variables are latent?
 Cheng-Lung Wang posted on Monday, November 05, 2018 - 5:54 pm
Yes, I do.

All variables are latent variables except for outcome variables (ten pluasible values created by PISA).

More information in our model which were not addressed in the previous description.
The model didn't estimate the indirect effect from the quadratic factor(one of the independent variable), which is linked with the outcome variable only.

Thanks for your help
 Bengt O. Muthen posted on Tuesday, November 06, 2018 - 11:40 am
You would have to express the indirect effects in Model Constraint. No absolute fit index with XWITH but see Section 1.2 of our FAQ: Latent variable interactions.
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