[R] Specifying Path Model in SEM for CFA

John Fox jfox at mcmaster.ca
Wed Aug 16 23:01:53 CEST 2006


Dear Rick,

It's unclear to me what you mean by constraining "each column of the factor
matrix to sum to one." If you intend to constrain the loadings on each
factor to sum to one, sem() won't do that, since it supports only equality
constraints, not general linear constraints on parameters of the model, but
why such a constraint would be reasonable in the first place escapes me.
More common in confirmatory factor analysis would be to constrain more of
the loadings to zero. Of course, one would do this only if it made
substantive sense in the context of the research.

Regards,
 John

--------------------------------
John Fox
Department of Sociology
McMaster University
Hamilton, Ontario
Canada L8S 4M4
905-525-9140x23604
http://socserv.mcmaster.ca/jfox 
-------------------------------- 

> -----Original Message-----
> From: Rick Bilonick [mailto:rab45+ at pitt.edu] 
> Sent: Wednesday, August 16, 2006 12:07 PM
> To: John Fox
> Cc: 'R Help'
> Subject: Re: [R] Specifying Path Model in SEM for CFA
> 
> On Wed, 2006-08-16 at 08:47 -0400, John Fox wrote:
> > Dear Rick,
> > 
> > There are a couple of problems here:
> > 
> > (1) You've fixed the error variance parameters for each of the 
> > observed variables to 1 rather than defining each as a free 
> parameter to estimate.
> > For example, use
> > 
> > X1 <-> X1, theta1, NA
> > 
> > Rather than
> > 
> > X1 <-> X1, NA, 1
> > 
> > The general principle is that if you give a parameter a 
> name, it's a 
> > free parameter to be estimated; if you give the name as NA, 
> then the 
> > parameter is given a fixed value (here, 1). (There is some more 
> > information on this and on error-variance parameters in ?sem.)
> > 
> > (2) I believe that the model you're trying to specify -- in 
> which all 
> > variables but X6 load on F1, and all variables but X1 load 
> on F2 -- is 
> > underidentified.
> > 
> > In addition, you've set the metric of the factors by fixing one 
> > loading to 0.20 and another to 0.25. That should work but 
> strikes me 
> > as unusual, and makes me wonder whether this was what you really 
> > intended. It would be more common in a CFA to fix the 
> variance of each 
> > factor to 1, and let the factor loadings be free 
> parameters. Then the 
> > factor covariance would be their correlation.
> > 
> > You should not have to specify start values for free 
> parameters (such 
> > as g11, g22, and g12 in your model), though it is not wrong 
> to do so. 
> > I would not, however, specify start values that imply a singular 
> > covariance matrix among the factors, as you've done; I'm surprised 
> > that the program was able to get by the start values to 
> produce a solution.
> > 
> > BTW, the Thurstone example in ?sem is for a confirmatory factor 
> > analysis (albeit a slightly more complicated one with a 
> second-order 
> > factor). There's also an example of a one-factor CFA in the 
> paper at 
> > <http://socserv.socsci.mcmaster.ca/jfox/Misc/sem/SEM-paper.pdf>, 
> > though this is for ordinal observed variables.
> > 
> > I hope this helps,
> >  John
> > 
> > --------------------------------
> > John Fox
> > Department of Sociology
> > McMaster University
> > Hamilton, Ontario
> > Canada L8S 4M4
> > 905-525-9140x23604
> > http://socserv.mcmaster.ca/jfox
> > --------------------------------
> 
> Thanks for the information. I think I understand how to 
> handle the residual variance after reading the sem help file 
> more carefully. Now I have to figure out how to constrain 
> each column of the factor matrix to sum to one. Maybe this 
> will fix the problem with being under-identified.
> 
> Rick B.
>



More information about the R-help mailing list