[R] path analysis (misspecification?)

William Revelle lists at revelle.net
Mon Mar 9 06:20:12 CET 2009


Martin,

>hi,
>
>I have following data and code;
>
>cov <- 
>c
>(1.670028
>,-1.197685
>,-2.931445,-1.197685,1.765646,3.883839,-2.931445,3.883839,12.050816)
>
>cov.matrix <- matrix(cov, 3, 3, dimnames=list(c("y1","x1","x2"),
>c("y1","x1","x2")))
>
>path.model <- specify.model()
>    x1 -> y1,	x1-y1
>    x2 <-> x1,	x2-x1
>    x2 <-> x2,	x2-x2
>    x1 <-> x1,	x1-x1
>    y1 <-> y1,	y1-y1
>   x2 -> y1,	x2-y1
>
>   summary(sem(path.model, cov.matrix, N = 422))
>
>
>and I get following results;
>
>
>
>   Model Chisquare =  12.524   Df =  1 Pr(>Chisq) = 0.00040179
>   Chisquare (null model) =  812.69   Df =  3
>   Goodness-of-fit index =  0.98083
>   Adjusted goodness-of-fit index =  0.885
>   RMSEA index =  0.16545   90% CI: (0.09231, 0.25264)
>   Bentler-Bonnett NFI =  0.98459
>   Tucker-Lewis NNFI =  0.9573
>   Bentler CFI =  0.98577
>   SRMR =  0.027022
>   BIC =  6.4789
>
>   Parameter Estimates
>        Estimate Std Error z value Pr(>|z|)
>x1-y1 -0.67833 0.033967  -19.970 0        y1 <--- x1
>x2-x1  3.88384 0.293743   13.222 0        x1 <--> x2
>x2-x2 12.05082 0.831569   14.492 0        x2 <--> x2
>x1-x1  1.76565 0.121839   14.492 0        x1 <--> x1
>y1-y1  0.85761 0.059124   14.505 0        y1 <--> y1
>
>   Iterations =  0
>
>
>Now I wonder why the chi-square  value is so bad and what Pr(>Chisq) 
>tells me.
>
>Can anyone help me on this?
>
>
>When I allow the path x2 -> y1 I get of course a good fit, but the 
>path coefficient of x2 -> y1 is pretty low (-0.084653), so I thought I
>can restrict that one to zero.
>
>

If you examine the residuals
  mod1 <- sem(p.model,cov.matrix,N=422)
residuals(mod1)

You will see that you are completing ignoring the y1-x2 covariance.

When you examine your covariance matrix as a correlation matrix,
r.mat <- cov2cor(cov.matrix)
  you will note that the  x2-y1 relationship is very large (the 
correlation is -.65)

Your original model was fully saturated and what you are reporting is 
actually what I label as p.model which is your full model without the 
last row.

If you compare the fully saturated model with your  mod1, you will 
find that the reason for the  large chi square is due to not 
specifying the x2-y1 path.

You might want to read some more on sem techniques.  A good 
introduction is a text by John Loehlin.

Bill

-- 
William Revelle		http://personality-project.org/revelle.html
Professor			http://personality-project.org/personality.html
Department of Psychology             http://www.wcas.northwestern.edu/psych/
Northwestern University	http://www.northwestern.edu/
Attend  ISSID/ARP:2009               http://issid.org/issid.2009/




More information about the R-help mailing list