Skip to content
Prev 32273 / 398506 Next

How to use pakcage SEM

Dear Mitsuo,

You appear to be trying to fit a confirmatory factor analysis model with 
five observed variables and two factors. Two of the five variables load on 
both factors. Two variables have correlated measurement errors. I haven't 
checked that the model that you intend to fit is identified but let's 
suppose that it is.

As you've described the model to sem, there are 16 free parameters, but 
there are only 5*6/2 = 15 observed covariances (counting the diagonal 
entries of the correlation matrix), so clearly there's a mistake in the 
specification -- the model has negative degrees of freedom (and sem should 
complain, but doesn't).

The problem is that you've not placed any constraints on the model to fix 
the scales of the factors. The simplest thing to do would be to fix the 
variances of the factors to 1, rather than specifying them as free 
parameters; as well, you don't have to start the measurement-error 
variances at 1 rather than using the start values that sem computes, though 
it doesn't hurt to do so:

 > model.mh<-matrix(c(
+         'F1 -> V1', 'a1',NA,
+         'F1 -> V3', 'a3',NA,
+         'F1 -> V4', 'a4',NA,
+         'F2 -> V2', 'b2',NA,
+         'F2 -> V3', 'b3',NA,
+         'F2 -> V4', 'b4',NA,
+         'F2 -> V5', 'b5',NA,
+         'V1 <-> V1','e1', NA,
+         'V2 <-> V2','e2', NA,
+         'V3 <-> V3','e3', NA,
+         'V4 <-> V4','e4', NA,
+         'V5 <-> V5','e5', NA,
+         'F1 <-> F1', NA, 1,
+         'F2 <-> F2', NA, 1,
+         'F1 <-> F2','c12',NA,
+         'V1 <-> V2','cv1', NA
+         ),ncol=3,byrow=T)
 > sem.mh <- sem(model.mh, data.mh, 100)
 > summary(sem.mh)

  Model Chisquare =  2.2805   Df =  1 Pr(>Chisq) = 0.13101
  Goodness-of-fit index =  0.99097
  Adjusted goodness-of-fit index =  0.8646
  RMSEA index =  0.11373   90 % CI: (0, 0.31712)
  BIC =  -3.9341

  Normalized Residuals
      Min.   1st Qu.    Median      Mean   3rd Qu.      Max.
-3.92e-01 -5.50e-02 -5.27e-06  3.27e-02  1.09e-01  7.98e-01

  Parameter Estimates
     Estimate Std Error z value   Pr(>|z|)
a1  0.970680  0.275852 3.51884 4.3343e-04 V1 <--- F1
a3  0.317133  0.198819 1.59509 1.1069e-01 V3 <--- F1
a4  0.437281  0.250375 1.74651 8.0723e-02 V4 <--- F1
b2  0.526620  0.116264 4.52951 5.9119e-06 V2 <--- F2
b3  0.452136  0.196716 2.29842 2.1538e-02 V3 <--- F2
b4  0.234373  0.247929 0.94532 3.4449e-01 V4 <--- F2
b5  0.759562  0.131164 5.79092 7.0001e-09 V5 <--- F2
e1  0.052702  0.512634 0.10281 9.1812e-01 V1 <--> V1
e2  0.722672  0.126106 5.73065 1.0004e-08 V2 <--> V2
e3  0.552314  0.103604 5.33101 9.7669e-08 V3 <--> V3
e4  0.651868  0.128687 5.06552 4.0728e-07 V4 <--> V4
e5  0.423067  0.163535 2.58702 9.6811e-03 V5 <--> V5
c12 0.497557  0.167763 2.96584 3.0186e-03 F2 <--> F1
cv1 0.108796  0.076515 1.42190 1.5506e-01 V2 <--> V1

  Iterations =  37
 >

How does that compare to your EQS output?

John
At 04:37 PM 5/20/2003 +0900, you wrote:
-----------------------------------------------------
John Fox
Department of Sociology
McMaster University
Hamilton, Ontario, Canada L8S 4M4
email: jfox at mcmaster.ca
phone: 905-525-9140x23604
web: www.socsci.mcmaster.ca/jfox