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. [[alternative HTML version deleted]]
thank you very much! I definitely need more theoretical background ... but for now; what does that mean for this dataset? x1 should be the intermediate variable of x2 and y1 (x2 -> x1 -> y1) Can I test that with this kind of analysis? or do I see know that this kind of "intermediate variable" model does not fit the data well and I need to set all paths to get a good model that represents the data good enough? Am 09.03.2009 um 06:15 schrieb William Revelle:> 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/
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/