Mon - Fri : 08:00 AM - 5:00 PM

Confirmatory Factor Analysis Using LISREL

Confirmatory Factor Analysis Using LISREL


This example shows how to estimate a confirmatory factor model and, on the next page, a full structual equation model (SEM) using LISREL. A description of the model along with a link to download the data can be found here. Estimation was done using the free student version of LISREL, which can be downloaded here.

The first part of the model treats intelligence as a latent variable which can be measured on the basis of test scores in four areas: reading, writing, math, and analysis. The model can be estimated in LISREL by using a path diagram to build the LISREL/SIMPLIS syntax. Although estimating structural equation models usually requires providing a covariance matrix, LISREL can read raw PASW (SPSS) data. After launching LISREL, go to File → Import Data. Change Files of Type: to SPSS for Windows(*.sav) and choose the file intelligence.sav.


Click Open. You will be prompted to save the file as a PRELIS system file. Name it Intelligence.


Click Save. The raw data will then display.


To create the path diagram, go to File → New. Scroll down to choose Path Diagram.


When prompted, name the path Intelligence (the .pth extension will distinguish it from the other files). An empty drawing area opens.


To draw the measurement model for intelligence, go to Setup → Title and Comments.


The Title and Comments dialog box opens. Enter the title Latent Intelligence.


Click Next. A new dialog box titled Group Names opens.


Because the purpose is not to compare different groups, this can be left blank. Click Next.

The Labels dialog box opens, which is used to identify the names of the variables in the model.


To specify the observed variables from the raw data file, click on Add/Read Variables. A new box opens. Change the Read from file option to PRELIS System File, then browse to find the PRELIS file that was created from the PASW file.


Click OK. The names of the variables from the data file will appear in the Observed Variables column. To name the latent variables, click Add Latent Variables. The latent variable will be named Intelligence.


The full SEM (next page) will also contain a latent variable for humor, so click Add Latent Variables a second time to create an additional latent variable label Humor.


Click OK. A final dialog box opens to describe the data.


Because LISREL will be reading from a raw data file, it is not necessary to include any information about the number of observations. Click OK one more time.

The drawing pad appears again. To specify the confirmatory factor model for intelligence, drag the four test score variables and the intelligence latent variable onto the drawing pad.


One assumption in confirmatory factor models is that the latent variable causes the observed variables. Thus, draw separate arrows from the latent variable to each of the four test score variables.


The model as it stands is not identified because the scale of the latent variable is completely arbitrary. Just as temperature can be measured in Fahrenheit and Celsius units, there are multiple ways to scale intelligence. If the model were run as it is specified in the path diagram, LISREL would automatically set the scale of the latent variable by assuming its variance to be equal to one. Alternatively, it is possible to set the scale by constraining one of the loadings to equal one instead. This can be done by clicking on one of the path coefficients.


In order to permanently fix the parameter, it is necessary to then right click the path arrow and choose Fix.


The model is now ready.


The next step is to build the syntax needed to estimate the model in LISREL. Go to Setup → Build SIMPLIS Syntax.


A new window opens displaying the SIMPLIS syntax.


Click the Run LISREL button to run the model.


The results now display in the path diagram. It is possible to toggle between different types of estimates using the Estimates pull down menu.


The unstandardized Estimates look like the following:


More information on the results, including coefficient standard errors and more model fit indices, can be found in the output file (.OUT extension) that was printed to the working directory. For this model, the output looks like the following:

                                DATE:  1/28/2010
                                  TIME: 15:24

                                L I S R E L  8.80


                         Karl G. J?reskog & Dag S?rbom

                    This program is published exclusively by
                    Scientific Software International, Inc.
                       7383 N. Lincoln Avenue, Suite 100
                        Lincolnwood, IL 60712, U.S.A. 
            Phone: (800)247-6113, (847)675-0720, Fax: (847)675-2140
        Copyright by Scientific Software International, Inc., 1981-2006 
          Use of this program is subject to the terms specified in the
                        Universal Copyright Convention.

 The following lines were read from file C:My DocumentsSEMintelligence.SPJ:

 Latent Intelligence
 Raw Data from file 'C:My DocumentsSEMINTELLIGENCE.psf'
 Latent Variables  intelligence
 READING = 1.00*intelligence
 WRITING = intelligence
 MATH = intelligence
 ANALYTIC = intelligence
 Path Diagram
 End of Problem

 Sample Size =   100

 Latent Intelligence                                                            

         Covariance Matrix       

             READING    WRITING       MATH   ANALYTIC   
            --------   --------   --------   --------
  READING       1.12
  WRITING       0.82       0.93
     MATH       0.84       0.77       1.00
 ANALYTIC       0.82       0.71       0.80       0.95

 Latent Intelligence                                                            

 Number of Iterations =  4

 LISREL Estimates (Maximum Likelihood)                           

         Measurement Equations

  READING = 1.00*intellig, Errorvar.= 0.22  , Rý = 0.80
 Standerr                            (0.043)           
 Z-values                             5.17             
 P-values                             0.000  
  WRITING = 0.89*intellig, Errorvar.= 0.22  , Rý = 0.77
 Standerr  (0.071)                   (0.039)           
 Z-values   12.66                     5.51             
 P-values   0.000                     0.000  
     MATH = 0.96*intellig, Errorvar.= 0.17  , Rý = 0.83
 Standerr  (0.070)                   (0.036)           
 Z-values   13.81                     4.75             
 P-values   0.000                     0.000  
 ANALYTIC = 0.91*intellig, Errorvar.= 0.20  , Rý = 0.78
 Standerr  (0.070)                   (0.038)           
 Z-values   12.96                     5.34             
 P-values   0.000                     0.000  

         Variances of Independent Variables  


                           Goodness of Fit Statistics

                              Degrees of Freedom = 2
                Minimum Fit Function Chi-Square = 3.50 (P = 0.17)
        Normal Theory Weighted Least Squares Chi-Square = 3.33 (P = 0.19)
                 Estimated Non-centrality Parameter (NCP) = 1.33
              90 Percent Confidence Interval for NCP = (0.0 ; 10.64)
                        Minimum Fit Function Value = 0.035
                Population Discrepancy Function Value (F0) = 0.013
               90 Percent Confidence Interval for F0 = (0.0 ; 0.11)
             Root Mean Square Error of Approximation (RMSEA) = 0.082
             90 Percent Confidence Interval for RMSEA = (0.0 ; 0.23)
               P-Value for Test of Close Fit (RMSEA < 0.05) = 0.27
                  Expected Cross-Validation Index (ECVI) = 0.20
             90 Percent Confidence Interval for ECVI = (0.18 ; 0.29)
                         ECVI for Saturated Model = 0.20
                        ECVI for Independence Model = 3.88
       Chi-Square for Independence Model with 6 Degrees of Freedom = 375.91
                            Independence AIC = 383.91
                                Model AIC = 19.33
                              Saturated AIC = 20.00
                            Independence CAIC = 398.33
                                Model CAIC = 48.17
                              Saturated CAIC = 56.05
                          Normed Fit Index (NFI) = 0.99
                        Non-Normed Fit Index (NNFI) = 0.99
                     Parsimony Normed Fit Index (PNFI) = 0.33
                        Comparative Fit Index (CFI) = 1.00
                        Incremental Fit Index (IFI) = 1.00
                         Relative Fit Index (RFI) = 0.97
                             Critical N (CN) = 274.64
                     Root Mean Square Residual (RMR) = 0.012
                             Standardized RMR = 0.012
                        Goodness of Fit Index (GFI) = 0.98
                   Adjusted Goodness of Fit Index (AGFI) = 0.92
                  Parsimony Goodness of Fit Index (PGFI) = 0.20

                           Time used:    0.000 Seconds

An example of a full SEM in LISREL can be found on the next page.

Still have questions? Contact us!