Skip to Main Content

Mplus Class NotesConfirmatory Factor Analysis

Confirmatory factor analysis (CFA) is a measurement model that estimates
continuous latent variables based on observed indicator variables (also called
manifest variables). The observed indicator variables may be either categorical
or continuous. One way to think about confirmatory factor analysis is that each
case has a “true score” on the (continuous) latent variable, and that each of
the observed values is a result of that “true score” plus measurement error. The
model attempts to estimate that “true score” based on the relationships among the observed values.


Mplus version 5.2 was used for these examples.

1.0 A Measurement Model for a Single Latent Variable

The examples on this page use data on the attributes of a group of students
(see note at the bottom of the page for information on the source). The dataset (https://stats.idre.ucla.edu/wp-content/uploads/2016/02/wordland_data.dat)
contains 12 observed variables, which can be used to estimate four latent variables. The 12
observed variables have all been standardized to have a mean of zero and a
standard deviation of one. The four latent variables are students’
family “risk factors” (family), cognitive ability based on standardized tests (cognitive/cog),
achievement, that is grades, in school (achieve), and classroom adjustment based on ratings by
each student’s teacher (adjust). As a first step, we will estimate a model
for a single latent variable. The diagram below shows the measurement
model for the adjustment latent variable (adjust). The observed
variables, represented as empty boxes are motivation (motiv),
extraversion (extra), harmony (harm), and stability (stabi).

Image cfa_1

The input file shown below estimates the model described above. In the model: command, the keyword by indicates that the
latent variable named before the by is measured by the manifest variables
listed after it.

Title: Measurement model for one latent variable
  Data:
    File is worland_data.dat ;
  Variable:
    Names are ppsych ses verbal vissp mem read arith spell motiv extra harm stabi;
    usevariables are motiv extra harm stabi;
  Model:
    adjust by motiv extra harm stabi;

The output based on this input file is shown below.

INPUT READING TERMINATED NORMALLY


SUMMARY OF ANALYSIS

Number of groups                                                 1
Number of observations                                         500

Number of dependent variables                                    4
Number of independent variables                                  0
Number of continuous latent variables                            1

Observed dependent variables

  Continuous
   MOTIV       EXTRA       HARM        STABI

Continuous latent variables
   ADJUST


Estimator                                                       ML
Information matrix                                        OBSERVED
Maximum number of iterations                                  1000
Convergence criterion                                    0.500D-04
Maximum number of steepest descent iterations                   20
Maximum number of iterations for H1                           2000
Convergence criterion for H1                             0.100D-03

Input data file(s)
  worland_data.dat

Input data format  FREE


SUMMARY OF DATA

     Number of missing data patterns             1


COVARIANCE COVERAGE OF DATA

Minimum covariance coverage value   0.100


     PROPORTION OF DATA PRESENT


           Covariance Coverage
              MOTIV         EXTRA         HARM          STABI
              ________      ________      ________      ________
 MOTIV          1.000
 EXTRA          1.000         1.000
 HARM           1.000         1.000         1.000
 STABI          1.000         1.000         1.000         1.000



THE MODEL ESTIMATION TERMINATED NORMALLY



TESTS OF MODEL FIT

Chi-Square Test of Model Fit

          Value                            218.606
          Degrees of Freedom                     2
          P-Value                           0.0000

Chi-Square Test of Model Fit for the Baseline Model

          Value                            927.867
          Degrees of Freedom                     6
          P-Value                           0.0000

CFI/TLI

          CFI                                0.765
          TLI                                0.295

Loglikelihood

          H0 Value                       -2481.245
          H1 Value                       -2371.942

Information Criteria

          Number of Free Parameters             12
          Akaike (AIC)                    4986.489
          Bayesian (BIC)                  5037.065
          Sample-Size Adjusted BIC        4998.976
            (n* = (n + 2) / 24)

RMSEA (Root Mean Square Error Of Approximation)

          Estimate                           0.465
          90 Percent C.I.                    0.414  0.519
          Probability RMSEA <= .05           0.000

SRMR (Standardized Root Mean Square Residual)

          Value                              0.113



MODEL RESULTS

                                                    Two-Tailed
                    Estimate       S.E.  Est./S.E.    P-Value

 ADJUST   BY
    MOTIV              1.000      0.000    999.000    999.000
    EXTRA              0.211      0.053      4.002      0.000
    HARM               0.954      0.056     17.086      0.000
    STABI              0.722      0.050     14.582      0.000

 Intercepts
    MOTIV              0.000      0.045      0.000      1.000
    EXTRA              0.000      0.045      0.000      1.000
    HARM               0.000      0.045      0.000      1.000
    STABI              0.000      0.045      0.000      1.000

 Variances
    ADJUST             0.811      0.074     11.016      0.000

 Residual Variances
    MOTIV              0.187      0.041      4.505      0.000
    EXTRA              0.962      0.061     15.693      0.000
    HARM               0.259      0.040      6.499      0.000
    STABI              0.575      0.041     14.055      0.000


QUALITY OF NUMERICAL RESULTS

     Condition Number for the Information Matrix              0.385E-01
       (ratio of smallest to largest eigenvalue)

In the MODEL RESULTS section of the above output, the first block
of estimates labeled ADJUST BY contains the loadings for the
relationship between the individual items and the latent variable. All of
the loadings (shown in the Estimates column) are positive,
indicating a positive relationship between the latent variable adjustment
and our four observed measures of adjustment. In the far right column, we
can also see that each of the loadings is significantly different
from zero. The subsequent blocks show the intercepts for the observed
variables (labeled Intercepts), the variance of the latent variable
adjust
(labeled
Variances), and the estimates of the error variance for each of the observed
variables (labeled Residual Variances).

2.0 A Measurement Model with Multiple (Correlated) Latent Variables

In this example, the model estimates all four latent variables at the
same time, and allows the latent variables to covary, without imposing additional
structure.
A model with all of the latent variables allowed to covary is often run
as a precursor to a model with a more specific set of relationships among
the latent variables. The desired model is shown in the diagram
below. Note that the curved double-headed arrows denote covariances.

Image cfa_2

The input file for this model is similar to the last. This model contains
instructions for four latent variables, each measured by a series of observed
variables (e.g. family by ppsych ses;).

Title: Measurement model with correlations
Data:
  File is worland_data.dat ;
Variable:
  Names are ppsych ses verbal vissp mem read arith spell motiv extra harm stabi;
Model:
  adjust by motiv extra harm stabi;
  family by ppsych ses;
  cog by verbal vissp mem;
  achieve by read arith spell;

The output based on this input file is shown below.

INPUT READING TERMINATED NORMALLY


SUMMARY OF ANALYSIS

Number of groups                                                 1
Number of observations                                         500

Number of dependent variables                                   12
Number of independent variables                                  0
Number of continuous latent variables                            4

Observed dependent variables

  Continuous
   PPSYCH      SES         VERBAL      VISSP       MEM         READ
   ARITH       SPELL       MOTIV       EXTRA       HARM        STABI

Continuous latent variables
   FAMILY      COG         ACHIEVE     ADJUST


Estimator                                                       ML
Information matrix                                        OBSERVED
Maximum number of iterations                                  1000
Convergence criterion                                    0.500D-04
Maximum number of steepest descent iterations                   20

Input data file(s)
  worland_data.dat

Input data format  FREE



THE MODEL ESTIMATION TERMINATED NORMALLY



TESTS OF MODEL FIT

Chi-Square Test of Model Fit

          Value                            600.106
          Degrees of Freedom                    48
          P-Value                           0.0000

Chi-Square Test of Model Fit for the Baseline Model

          Value                           4124.707
          Degrees of Freedom                    66
          P-Value                           0.0000

CFI/TLI

          CFI                                0.864
          TLI                                0.813

Loglikelihood

          H0 Value                       -6745.325
          H1 Value                       -6445.272

Information Criteria

          Number of Free Parameters             42
          Akaike (AIC)                   13574.649
          Bayesian (BIC)                 13751.663
          Sample-Size Adjusted BIC       13618.352
            (n* = (n + 2) / 24)

RMSEA (Root Mean Square Error Of Approximation)

          Estimate                           0.152
          90 Percent C.I.                    0.141  0.163
          Probability RMSEA <= .05           0.000

SRMR (Standardized Root Mean Square Residual)

          Value                              0.063



MODEL RESULTS

                                                    Two-Tailed
                    Estimate       S.E.  Est./S.E.    P-Value

 FAMILY   BY
    PPSYCH             1.000      0.000    999.000    999.000
    SES               -1.107      0.115     -9.657      0.000

 COG      BY
    VERBAL             1.000      0.000    999.000    999.000
    VISSP              0.833      0.045     18.393      0.000
    MEM                0.972      0.044     22.326      0.000

 ACHIEVE  BY
    READ               1.000      0.000    999.000    999.000
    ARITH              0.842      0.034     24.840      0.000
    SPELL              0.954      0.027     35.622      0.000

 ADJUST   BY
    MOTIV              1.000      0.000    999.000    999.000
    EXTRA              0.233      0.048      4.813      0.000
    HARM               0.857      0.042     20.295      0.000
    STABI              0.662      0.045     14.615      0.000

 FAMILY   WITH
    COG               -0.411      0.046     -8.852      0.000
    ACHIEVE           -0.363      0.044     -8.151      0.000
    ADJUST            -0.245      0.040     -6.099      0.000

 COG      WITH
    ACHIEVE            0.740      0.056     13.305      0.000
    ADJUST             0.508      0.048     10.510      0.000

 ACHIEVE  WITH
    ADJUST             0.567      0.051     11.102      0.000

 Intercepts
    PPSYCH             0.000      0.045      0.000      1.000
    SES                0.000      0.045      0.000      1.000
    VERBAL             0.000      0.045      0.000      1.000
    VISSP              0.000      0.045      0.000      1.000
    MEM                0.000      0.045      0.000      1.000
    READ               0.000      0.045      0.000      1.000
    ARITH              0.000      0.045      0.000      1.000
    SPELL              0.000      0.045      0.000      1.000
    MOTIV              0.000      0.045      0.000      1.000
    EXTRA              0.000      0.045      0.000      1.000
    HARM               0.000      0.045      0.000      1.000
    STABI              0.000      0.045      0.000      1.000

 Variances
    FAMILY             0.379      0.061      6.201      0.000
    COG                0.739      0.063     11.678      0.000
    ACHIEVE            0.897      0.064     14.002      0.000
    ADJUST             0.901      0.070     12.842      0.000

 Residual Variances
    PPSYCH             0.619      0.053     11.681      0.000
    SES                0.534      0.055      9.652      0.000
    VERBAL             0.259      0.024     10.967      0.000
    VISSP              0.485      0.035     13.679      0.000
    MEM                0.300      0.026     11.643      0.000
    READ               0.101      0.014      7.142      0.000
    ARITH              0.362      0.027     13.612      0.000
    SPELL              0.181      0.016     11.387      0.000
    MOTIV              0.097      0.032      3.049      0.002
    EXTRA              0.949      0.060     15.702      0.000
    HARM               0.336      0.033     10.318      0.000
    STABI              0.604      0.042     14.269      0.000


QUALITY OF NUMERICAL RESULTS

     Condition Number for the Information Matrix              0.320E-02
       (ratio of smallest to largest eigenvalue)

Looking at the MODEL RESULTS section of the output, the first four blocks
of estimates give the loadings for the relationship between the latent
variables
and the observed variables (e.g. FAMILY BY). After the loadings for
the four latent variables, the covariances between the latent variables
(indicated using the keyword WITH) are shown. Looking at the first block of covariances
(labeled FAMILY WITH) we see that the latent variable family (i.e.
family risk factors) has a negative relationship with cog (cognitive
ability), achieve (academic achievement), and adjust (classroom
adjustment). Note that our input file does not explicitly include these
covariances, Mplus includes them by default.

3.0 Saving Factor Scores

In addition to the output file produced by Mplus, it is possible to save factor scores
for each case in a text file that can later be used by Mplus or read into
another statistical package. To do this the savedata: command is added to the input file.
The file option gives the name of the file in which the factor scores
should be saved (i.e. scores.txt). Whenever the file option is used, all of the
variables used in the analysis are saved in an external file. The save = fscores;
option specifies that the factor scores should be saved, in addition to the
variables used in estimation. Additional variables that were not used in the
analysis, but which you wish to include in the saved file, for example, an
id variable, can be included by adding the auxiliary option (e.g.
auxiliary = id;
) to the variable: command.

  Title: Saving Factor Scores
  Data:
    File is worland_data.dat ;
  Variable:
    Names are ppsych ses verbal vissp mem read arith spell motiv extra harm stabi;
  Model:
    adjust by motiv extra harm stabi;
    family by ppsych ses;
    cog by verbal vissp mem;
    achieve by read arith spell;
  Savedata:
    file is scores.txt;
    save = fscores;

The output file for this model contains all of the information contained in the output
for the previous model, plus additional output associated with the savedata: command. This
additional output appears towards the end of the output file, and is shown below.

SAVEDATA INFORMATION

  Order and format of variables

    PPSYCH         F10.3
    SES            F10.3
    VERBAL         F10.3
    VISSP          F10.3
    MEM            F10.3
    READ           F10.3
    ARITH          F10.3
    SPELL          F10.3
    MOTIV          F10.3
    EXTRA          F10.3
    HARM           F10.3
    STABI          F10.3
    ADJUST         F10.3
    FAMILY         F10.3
    COG            F10.3
    ACHIEVE        F10.3

  Save file
    scores.txt

  Save file format
    16F10.3

  Save file record length    5000

The additional output associated with the savedata:
command lists the variables in the order in which they appear in the saved
dataset. Note that the 12 observed variables used in estimation are listed
first, followed by four variables containing the factor scores associated
with each of the four latent variables. Below the list of variables the name
of the file, and information on the format of the file are shown.

The file class.txt is a text file that can be read by a large number of programs.  The first few lines of this file are shown below.
This file contains 16 variables, each in its own column.  Based on the
information in the output file, we know that the first 12 columns contain
each student’s value on the 12 observed variables, and the final four
columns are each student’s factor score for each of the four latent
variables.

    -1.780     0.477    -0.790    -0.363     0.311    -0.349    -0.999    -0.657    -0.791    -0.496    -0.508    -0.314    -0.693    -0.318    -0.239    -0.509
     0.701    -0.605    -0.955    -0.769    -0.398    -0.452     0.820     0.878     0.175    -0.240    -0.416     0.352     0.055     0.452    -0.421    -0.013
     2.373    -1.697    -0.130    -0.391     0.146    -0.482     0.753    -0.569     1.447     0.293    -0.454     0.407     0.926     0.809    -0.333    -0.262
     0.149     0.140     1.752     2.141    -0.189    -0.314     0.573    -0.292    -0.117    -0.174    -0.567     0.260    -0.134    -0.315     0.536     0.011
    -0.599    -1.838     0.675    -0.144    -0.246    -0.201    -0.062    -0.102    -0.422     0.366    -1.007    -0.603    -0.498     0.253    -0.069    -0.123

Data Source

The data for these examples is based on a correlation matrix published
in Worland et al. (1984). Although the correlation matrix would have been
sufficient to specify these models, 500 cases were randomly drawn from the
distribution described by the published correlation matrix. The models below
do not necessarily match those specified in Worland et al. (1984), they are
intended as examples only.

Worland, Julien, David G. Weeks, Cynthia L. Janes, and Barbara D. Strock (1984)
Intelligence, classroom behavior, and academic achievement in children at high
and low risk for psychopathology: A structural equation analysis.  Journal of Abnormal Child Psychology
Vol. 12, No. 3, pp. 437-454.