# 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
BY
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.
Website: www.ssicentral.com
The following lines were read from file C:My DocumentsSEMintelligence.SPJ:
Latent Intelligence
Raw Data from file 'C:My DocumentsSEMINTELLIGENCE.psf'
Latent Variables intelligence
Relationships
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
intellig
--------
0.89
(0.16)
5.65
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!