Re: [R] SEM model testing with identical goodness of fits (2)
Dear John, Thanks for the prompt reply! Sorry did not supply with more detailed information. The target model consists of three latent factors, general risk scale from Weber's domain risk scales, time perspective scale from Zimbardo(only future time oriented) and a travel risk attitude scale. Variables with prob_ prefix are items of general risk scale, variables of o1 to o12 are items of future time perspective and v5 to v13 are items of travel risk scale. The purpose is to explore or find a best fit model that correctly represent the underlining relationship of three scales. So far, the correlated model has the best fit indices, so I 'd like to check if there is a higher level factor that govern all three factors, thus the second model. The data are all 5 point Likert scale scores by respondents(N=397). The example listed bellow did not show prob_ variables(their names are too long). Given the following model structure, if they are indeed observationally indistinguishable, is there some possible adjustments to test the higher level factor effects? Thanks, ### #data example, partial # 1 1 11 id o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 v5 v13 v14 v16 v17 14602 2 2 4 4 5 5 2 3 2 4 3 4 2 5 2 2 4 2 14601 2 4 5 4 5 5 2 5 3 4 5 4 5 5 3 4 4 2 14606 1 3 5 5 5 5 3 3 5 3 5 5 5 5 5 5 5 3 14610 2 1 4 5 4 5 3 4 4 2 4 2 1 5 3 5 5 5 14609 4 3 2 2 5 5 2 5 2 4 4 2 2 4 2 4 4 4 #correlated model, three scales corrlated to each other model.correlated - specify.model() weber-tp,e.webertp,NA tp-tr,e.tptr,NA tr-weber,e.trweber,NA weber-weber,NA,1 tp-tp,e.tp,NA tr -tr,e.trv,NA weber - prob_wild_camp,alpha2,NA weber - prob_book_hotel_in_short_time,alpha3,NA weber - prob_safari_Kenia, alpha4, NA weber - prob_sail_wild_water,alpha5,NA weber - prob_dangerous_sport,alpha7,NA weber - prob_bungee_jumping,alpha8,NA weber - prob_tornado_tracking,alpha9,NA weber - prob_ski,alpha10,NA prob_wild_camp - prob_wild_camp, ep2,NA prob_book_hotel_in_short_time - prob_book_hotel_in_short_time,ep3,NA prob_safari_Kenia - prob_safari_Kenia, ep4, NA prob_sail_wild_water - prob_sail_wild_water,ep5,NA prob_dangerous_sport - prob_dangerous_sport,ep7,NA prob_bungee_jumping - prob_bungee_jumping,ep8,NA prob_tornado_tracking - prob_tornado_tracking,ep9,NA prob_ski - prob_ski,ep10,NA tp - o1,NA,1 tp - o3,beta3,NA tp - o4,beta4,NA tp - o5,beta5,NA tp - o6,beta6,NA tp - o7,beta7,NA tp - o9,beta9,NA tp - o10,beta10,NA tp - o11,beta11,NA tp - o12,beta12,NA o1 - o1,eo1,NA o3 - o3,eo3,NA o4 - o4,eo4,NA o5 - o5,eo5,NA o6 - o6,eo6,NA o7 - o7,eo7,NA o9 - o9,eo9,NA o10 - o10,eo10,NA o11 - o11,eo11,NA o12 - o12,eo12,NA tr - v5, NA,1 tr - v13, gamma2,NA tr - v14, gamma3,NA tr - v16,gamma4,NA tr - v17,gamma5,NA v5 - v5,ev1,NA v13 - v13,ev2,NA v14 - v14,ev3,NA v16 - v16, ev4, NA v17 - v17,ev5,NA sem.correlated - sem(model.correlated, cov(riskninfo_s), 397) summary(sem.correlated) samelist = c('weber','tp','tr') minlist=c(names(rk),names(tp)) maxlist = NULL path.diagram(sem2,out.file = e:/sem2.dot,same.rank=samelist,min.rank=minlist,max.rank = maxlist,edge.labels=values,rank.direction='LR') # #high level latent scale, a high level factor exist ## model.rsk - specify.model() rsk-tp,e.rsktp,NA rsk-tr,e.rsktr,NA rsk-weber,e.rskweber,NA rsk-rsk, NA,1 weber-weber, e.weber,NA tp-tp,e.tp,NA tr -tr,e.trv,NA weber - prob_wild_camp,NA,1 weber - prob_book_hotel_in_short_time,alpha3,NA weber - prob_safari_Kenia, alpha4, NA weber - prob_sail_wild_water,alpha5,NA weber - prob_dangerous_sport,alpha7,NA weber - prob_bungee_jumping,alpha8,NA weber - prob_tornado_tracking,alpha9,NA weber - prob_ski,alpha10,NA prob_wild_camp - prob_wild_camp, ep2,NA prob_book_hotel_in_short_time - prob_book_hotel_in_short_time,ep3,NA prob_safari_Kenia - prob_safari_Kenia, ep4, NA prob_sail_wild_water - prob_sail_wild_water,ep5,NA prob_dangerous_sport - prob_dangerous_sport,ep7,NA prob_bungee_jumping - prob_bungee_jumping,ep8,NA prob_tornado_tracking - prob_tornado_tracking,ep9,NA prob_ski -
Re: [R] SEM model testing with identical goodness of fits (2)
Dear hyena, -Original Message- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of hyena Sent: March-15-09 4:25 AM To: r-h...@stat.math.ethz.ch Subject: Re: [R] SEM model testing with identical goodness of fits (2) Dear John, Thanks for the prompt reply! Sorry did not supply with more detailed information. The target model consists of three latent factors, general risk scale from Weber's domain risk scales, time perspective scale from Zimbardo(only future time oriented) and a travel risk attitude scale. Variables with prob_ prefix are items of general risk scale, variables of o1 to o12 are items of future time perspective and v5 to v13 are items of travel risk scale. The purpose is to explore or find a best fit model that correctly represent the underlining relationship of three scales. So far, the correlated model has the best fit indices, so I 'd like to check if there is a higher level factor that govern all three factors, thus the second model. Both models are very odd. In the first, each of tr, weber, and tp has direct effects on different subsets of the endogenous variables. The implicit claim of these models is that, e.g., prob_* are conditionally independent of tr and tp given weber, and that the correlations among prob_* are entirely accounted for by their dependence on weber. The structural coefficients are just the simple regressions of each prob_* on weber. The second model is the same except that the variances and covariances among weber, tr, and tp are parametrized differently. I'm not sure why you set the models up in this manner, and why your research requires a structural-equation model. I would have expected that each of the prob_*, v*, and o* variables would have comprised indicators of a latent variable (risk-taking, etc.). The models that you specified seem so strange that I think that you'd do well to try to find competent local help to sort out what you're doing in relationship to the goals of the research. Of course, maybe I'm just having a failure of imagination. The data are all 5 point Likert scale scores by respondents(N=397). It's problematic to treat ordinal variables if they were metric (and to fit SEMs of this complexity to a small sample). The example listed bellow did not show prob_ variables(their names are too long). Given the following model structure, if they are indeed observationally indistinguishable, is there some possible adjustments to test the higher level factor effects? No. Because the models necessarily fit the same, you'd have to decide between them on grounds of plausibility. Moreover both models fit very badly. Regards, John Thanks, ### #data example, partial # 1 1 11 id o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 v5 v13 v14 v16 v17 14602 2 2 4 4 5 5 2 3 2 4 3 4 2 5 2 2 4 2 14601 2 4 5 4 5 5 2 5 3 4 5 4 5 5 3 4 4 2 14606 1 3 5 5 5 5 3 3 5 3 5 5 5 5 5 5 5 3 14610 2 1 4 5 4 5 3 4 4 2 4 2 1 5 3 5 5 5 14609 4 3 2 2 5 5 2 5 2 4 4 2 2 4 2 4 4 4 #correlated model, three scales corrlated to each other model.correlated - specify.model() weber-tp,e.webertp,NA tp-tr,e.tptr,NA tr-weber,e.trweber,NA weber-weber,NA,1 tp-tp,e.tp,NA tr -tr,e.trv,NA weber - prob_wild_camp,alpha2,NA weber - prob_book_hotel_in_short_time,alpha3,NA weber - prob_safari_Kenia, alpha4, NA weber - prob_sail_wild_water,alpha5,NA weber - prob_dangerous_sport,alpha7,NA weber - prob_bungee_jumping,alpha8,NA weber - prob_tornado_tracking,alpha9,NA weber - prob_ski,alpha10,NA prob_wild_camp - prob_wild_camp, ep2,NA prob_book_hotel_in_short_time - prob_book_hotel_in_short_time,ep3,NA prob_safari_Kenia - prob_safari_Kenia, ep4, NA prob_sail_wild_water - prob_sail_wild_water,ep5,NA prob_dangerous_sport - prob_dangerous_sport,ep7,NA prob_bungee_jumping - prob_bungee_jumping,ep8,NA prob_tornado_tracking - prob_tornado_tracking,ep9,NA prob_ski - prob_ski,ep10,NA tp - o1,NA,1 tp - o3,beta3,NA tp - o4,beta4,NA tp - o5,beta5,NA tp - o6,beta6,NA tp - o7,beta7,NA tp - o9,beta9,NA tp - o10,beta10,NA tp - o11,beta11,NA tp - o12,beta12,NA o1 - o1,eo1,NA o3 - o3,eo3,NA o4 - o4,eo4,NA o5 - o5,eo5,NA o6 - o6,eo6,NA o7 - o7,eo7,NA o9 - o9,eo9,NA o10 - o10,eo10,NA o11 - o11,eo11,NA o12 - o12,eo12,NA tr - v5, NA,1 tr - v13, gamma2,NA tr - v14, gamma3,NA tr - v16,gamma4,NA tr - v17,gamma5,NA
Re: [R] SEM model testing with identical goodness of fits (2)
Dear John, Thanks for the reply. Maybe I had used wrong terminology, as you pointed out, in fact, variables prob*, o* and v* are indicators of three latent variables(scales): weber, tp, and tr respectively. So variables prob*, o* and v* are exogenous variables. e.g., variable prob_dangerous_sport is the answers of question how likely do you think you will engage a dangerous sport? (1-very unlikely to 5- very likely). Variables weber, tr, tp are latent variables representing risk attitudes in different domains(recreation, planned behaviour, travel choice ). Hope this make sense of the models. By exploratory analysis, it had shown consistencies(Cronbach alpha) in each scale(latent variable tr, tp, weber), and significant correlations among these three scales. The two models mentioned in previous posts are the efforts to find out if there is a more general factor that can account for the correlations and make the three scales its sub scales. In this sense, SEM is used more of a CFA (sem is the only packages I know to do so, i did not search very hard of course). And Indeed the model fit is quite bad. regards, John Fox wrote: Dear hyena, -Original Message- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of hyena Sent: March-15-09 4:25 AM To: r-h...@stat.math.ethz.ch Subject: Re: [R] SEM model testing with identical goodness of fits (2) Dear John, Thanks for the prompt reply! Sorry did not supply with more detailed information. The target model consists of three latent factors, general risk scale from Weber's domain risk scales, time perspective scale from Zimbardo(only future time oriented) and a travel risk attitude scale. Variables with prob_ prefix are items of general risk scale, variables of o1 to o12 are items of future time perspective and v5 to v13 are items of travel risk scale. The purpose is to explore or find a best fit model that correctly represent the underlining relationship of three scales. So far, the correlated model has the best fit indices, so I 'd like to check if there is a higher level factor that govern all three factors, thus the second model. Both models are very odd. In the first, each of tr, weber, and tp has direct effects on different subsets of the endogenous variables. The implicit claim of these models is that, e.g., prob_* are conditionally independent of tr and tp given weber, and that the correlations among prob_* are entirely accounted for by their dependence on weber. The structural coefficients are just the simple regressions of each prob_* on weber. The second model is the same except that the variances and covariances among weber, tr, and tp are parametrized differently. I'm not sure why you set the models up in this manner, and why your research requires a structural-equation model. I would have expected that each of the prob_*, v*, and o* variables would have comprised indicators of a latent variable (risk-taking, etc.). The models that you specified seem so strange that I think that you'd do well to try to find competent local help to sort out what you're doing in relationship to the goals of the research. Of course, maybe I'm just having a failure of imagination. The data are all 5 point Likert scale scores by respondents(N=397). It's problematic to treat ordinal variables if they were metric (and to fit SEMs of this complexity to a small sample). The example listed bellow did not show prob_ variables(their names are too long). Given the following model structure, if they are indeed observationally indistinguishable, is there some possible adjustments to test the higher level factor effects? No. Because the models necessarily fit the same, you'd have to decide between them on grounds of plausibility. Moreover both models fit very badly. Regards, John Thanks, ### #data example, partial # 1 1 11 id o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 v5 v13 v14 v16 v17 14602 2 2 4 4 5 5 2 3 2 4 3 4 2 5 2 2 4 2 14601 2 4 5 4 5 5 2 5 3 4 5 4 5 5 3 4 4 2 14606 1 3 5 5 5 5 3 3 5 3 5 5 5 5 5 5 5 3 14610 2 1 4 5 4 5 3 4 4 2 4 2 1 5 3 5 5 5 14609 4 3 2 2 5 5 2 5 2 4 4 2 2 4 2 4 4 4 #correlated model, three scales corrlated to each other model.correlated - specify.model() weber-tp,e.webertp,NA tp-tr,e.tptr,NA tr-weber,e.trweber,NA weber-weber,NA,1 tp-tp,e.tp,NA tr -tr,e.trv,NA weber - prob_wild_camp,alpha2,NA weber - prob_book_hotel_in_short_time,alpha3,NA weber - prob_safari_Kenia, alpha4, NA weber - prob_sail_wild_water,alpha5,NA weber - prob_dangerous_sport,alpha7,NA weber
Re: [R] SEM model testing with identical goodness of fits (2)
Dear Hyena, Your model is of three correlated factors accounting for the observed variables. Those three correlations may be accounted for equally well by correlations (loadings) of the lower order factors with a general factor. Those two models are indeed equivalent models and will, as a consequence have exactly equal fits and dfs. Call the three correlations rab, rac, rbc. Then a higher order factor model will have loadings of fa, fb and fc, where fa*fb = rab, fa*bc = rac, and fb*fc = rbc. You can solve for fa, fb and fc in terms of factor inter-correlations. You can not compare the one to the other, for they are equivalent models. You can examine how much of the underlying variance of the original items is due to the general factor by considering a bi-factor solution where the general factor loads on each of the observed variables and a set of residual group factors account for the covariances within your three domains. This can be done in an Exploratory Factor Analysis (EFA) context using the omega function in the psych package. It is possible to then take that model and test it using John Fox's sem package to evaluate the size of each of the general and group factor loadings. (A discussion of how to do that is at http://www.personality-project.org/r/book/psych_for_sem.pdf ). Bill At 4:25 PM +0800 3/15/09, hyena wrote: Dear John, Thanks for the prompt reply! Sorry did not supply with more detailed information. The target model consists of three latent factors, general risk scale from Weber's domain risk scales, time perspective scale from Zimbardo(only future time oriented) and a travel risk attitude scale. Variables with prob_ prefix are items of general risk scale, variables of o1 to o12 are items of future time perspective and v5 to v13 are items of travel risk scale. The purpose is to explore or find a best fit model that correctly represent the underlining relationship of three scales. So far, the correlated model has the best fit indices, so I 'd like to check if there is a higher level factor that govern all three factors, thus the second model. The data are all 5 point Likert scale scores by respondents(N=397). The example listed bellow did not show prob_ variables(their names are too long). Given the following model structure, if they are indeed observationally indistinguishable, is there some possible adjustments to test the higher level factor effects? Thanks, ### #data example, partial # 1 1 11 id o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 v5 v13 v14 v16 v17 14602 2 2 4 4 5 5 2 3 2 4 3 4 2 5 2 2 4 2 14601 2 4 5 4 5 5 2 5 3 4 5 4 5 5 3 4 4 2 14606 1 3 5 5 5 5 3 3 5 3 5 5 5 5 5 5 5 3 14610 2 1 4 5 4 5 3 4 4 2 4 2 1 5 3 5 5 5 14609 4 3 2 2 5 5 2 5 2 4 4 2 2 4 2 4 4 4 #correlated model, three scales corrlated to each other model.correlated - specify.model() weber-tp,e.webertp,NA tp-tr,e.tptr,NA tr-weber,e.trweber,NA weber-weber,NA,1 tp-tp,e.tp,NA tr -tr,e.trv,NA weber - prob_wild_camp,alpha2,NA weber - prob_book_hotel_in_short_time,alpha3,NA weber - prob_safari_Kenia, alpha4, NA weber - prob_sail_wild_water,alpha5,NA weber - prob_dangerous_sport,alpha7,NA weber - prob_bungee_jumping,alpha8,NA weber - prob_tornado_tracking,alpha9,NA weber - prob_ski,alpha10,NA prob_wild_camp - prob_wild_camp, ep2,NA prob_book_hotel_in_short_time - prob_book_hotel_in_short_time,ep3,NA prob_safari_Kenia - prob_safari_Kenia, ep4, NA prob_sail_wild_water - prob_sail_wild_water,ep5,NA prob_dangerous_sport - prob_dangerous_sport,ep7,NA prob_bungee_jumping - prob_bungee_jumping,ep8,NA prob_tornado_tracking - prob_tornado_tracking,ep9,NA prob_ski - prob_ski,ep10,NA tp - o1,NA,1 tp - o3,beta3,NA tp - o4,beta4,NA tp - o5,beta5,NA tp - o6,beta6,NA tp - o7,beta7,NA tp - o9,beta9,NA tp - o10,beta10,NA tp - o11,beta11,NA tp - o12,beta12,NA o1 - o1,eo1,NA o3 - o3,eo3,NA o4 - o4,eo4,NA o5 - o5,eo5,NA o6 - o6,eo6,NA o7 - o7,eo7,NA o9 - o9,eo9,NA o10 - o10,eo10,NA o11 - o11,eo11,NA o12 - o12,eo12,NA tr - v5, NA,1 tr - v13, gamma2,NA tr - v14, gamma3,NA tr - v16,gamma4,NA tr - v17,gamma5,NA v5 - v5,ev1,NA v13 - v13,ev2,NA v14 - v14,ev3,NA v16 - v16, ev4, NA v17 - v17,ev5,NA sem.correlated - sem(model.correlated, cov(riskninfo_s), 397) summary(sem.correlated) samelist =
Re: [R] SEM model testing with identical goodness of fits (2)
Dear Hyena, OK -- I see that what you're trying to do is simply to fit a confirmatory factor-analysis model. The two models that you're considering aren't really different -- they are, as I said, observationally equivalent, and fit the data poorly. You can *assume* a common higher-level factor and estimate the three loadings on it for the lower-level factors, but you can't test this model against the first model. I'm not sure what you gain from the CFA beyond what you learned from an exploratory factor analysis. Using the same data first in an EFA and then for a CFA essentially invalidates the CFA, which is no longer confirmatory. One would, then, expect a CFA following an EFA to fit the data well, since the CFA was presumably specified to do so, but I suspect that a closer examination of the EFA will show that the items don't divide so neatly into the three sets. Regards, John -Original Message- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of hyena Sent: March-15-09 12:00 PM To: r-h...@stat.math.ethz.ch Subject: Re: [R] SEM model testing with identical goodness of fits (2) Dear John, Thanks for the reply. Maybe I had used wrong terminology, as you pointed out, in fact, variables prob*, o* and v* are indicators of three latent variables(scales): weber, tp, and tr respectively. So variables prob*, o* and v* are exogenous variables. e.g., variable prob_dangerous_sport is the answers of question how likely do you think you will engage a dangerous sport? (1-very unlikely to 5- very likely). Variables weber, tr, tp are latent variables representing risk attitudes in different domains(recreation, planned behaviour, travel choice ). Hope this make sense of the models. By exploratory analysis, it had shown consistencies(Cronbach alpha) in each scale(latent variable tr, tp, weber), and significant correlations among these three scales. The two models mentioned in previous posts are the efforts to find out if there is a more general factor that can account for the correlations and make the three scales its sub scales. In this sense, SEM is used more of a CFA (sem is the only packages I know to do so, i did not search very hard of course). And Indeed the model fit is quite bad. regards, John Fox wrote: Dear hyena, -Original Message- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of hyena Sent: March-15-09 4:25 AM To: r-h...@stat.math.ethz.ch Subject: Re: [R] SEM model testing with identical goodness of fits (2) Dear John, Thanks for the prompt reply! Sorry did not supply with more detailed information. The target model consists of three latent factors, general risk scale from Weber's domain risk scales, time perspective scale from Zimbardo(only future time oriented) and a travel risk attitude scale. Variables with prob_ prefix are items of general risk scale, variables of o1 to o12 are items of future time perspective and v5 to v13 are items of travel risk scale. The purpose is to explore or find a best fit model that correctly represent the underlining relationship of three scales. So far, the correlated model has the best fit indices, so I 'd like to check if there is a higher level factor that govern all three factors, thus the second model. Both models are very odd. In the first, each of tr, weber, and tp has direct effects on different subsets of the endogenous variables. The implicit claim of these models is that, e.g., prob_* are conditionally independent of tr and tp given weber, and that the correlations among prob_* are entirely accounted for by their dependence on weber. The structural coefficients are just the simple regressions of each prob_* on weber. The second model is the same except that the variances and covariances among weber, tr, and tp are parametrized differently. I'm not sure why you set the models up in this manner, and why your research requires a structural-equation model. I would have expected that each of the prob_*, v*, and o* variables would have comprised indicators of a latent variable (risk-taking, etc.). The models that you specified seem so strange that I think that you'd do well to try to find competent local help to sort out what you're doing in relationship to the goals of the research. Of course, maybe I'm just having a failure of imagination. The data are all 5 point Likert scale scores by respondents(N=397). It's problematic to treat ordinal variables if they were metric (and to fit SEMs of this complexity to a small sample). The example listed bellow did not show prob_ variables(their names are too long). Given the following model structure, if they are indeed observationally indistinguishable, is there some possible adjustments to test the higher level factor effects? No. Because
Re: [R] SEM model testing with identical goodness of fits (2)
Thanks for the clear clarification. The suggested bi-factor solution sounds attractive. I am going to check it in details. regards, William Revelle wrote: Dear Hyena, Your model is of three correlated factors accounting for the observed variables. Those three correlations may be accounted for equally well by correlations (loadings) of the lower order factors with a general factor. Those two models are indeed equivalent models and will, as a consequence have exactly equal fits and dfs. Call the three correlations rab, rac, rbc. Then a higher order factor model will have loadings of fa, fb and fc, where fa*fb = rab, fa*bc = rac, and fb*fc = rbc. You can solve for fa, fb and fc in terms of factor inter-correlations. You can not compare the one to the other, for they are equivalent models. You can examine how much of the underlying variance of the original items is due to the general factor by considering a bi-factor solution where the general factor loads on each of the observed variables and a set of residual group factors account for the covariances within your three domains. This can be done in an Exploratory Factor Analysis (EFA) context using the omega function in the psych package. It is possible to then take that model and test it using John Fox's sem package to evaluate the size of each of the general and group factor loadings. (A discussion of how to do that is at http://www.personality-project.org/r/book/psych_for_sem.pdf ). Bill At 4:25 PM +0800 3/15/09, hyena wrote: Dear John, Thanks for the prompt reply! Sorry did not supply with more detailed information. The target model consists of three latent factors, general risk scale from Weber's domain risk scales, time perspective scale from Zimbardo(only future time oriented) and a travel risk attitude scale. Variables with prob_ prefix are items of general risk scale, variables of o1 to o12 are items of future time perspective and v5 to v13 are items of travel risk scale. The purpose is to explore or find a best fit model that correctly represent the underlining relationship of three scales. So far, the correlated model has the best fit indices, so I 'd like to check if there is a higher level factor that govern all three factors, thus the second model. The data are all 5 point Likert scale scores by respondents(N=397). The example listed bellow did not show prob_ variables(their names are too long). Given the following model structure, if they are indeed observationally indistinguishable, is there some possible adjustments to test the higher level factor effects? Thanks, ### #data example, partial # 1 1 11 id o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 v5 v13 v14 v16 v17 14602 2 2 4 4 5 5 2 3 2 4 3 4 2 5 2 2 4 2 14601 2 4 5 4 5 5 2 5 3 4 5 4 5 5 3 4 4 2 14606 1 3 5 5 5 5 3 3 5 3 5 5 5 5 5 5 5 3 14610 2 1 4 5 4 5 3 4 4 2 4 2 1 5 3 5 5 5 14609 4 3 2 2 5 5 2 5 2 4 4 2 2 4 2 4 4 4 #correlated model, three scales corrlated to each other model.correlated - specify.model() weber-tp,e.webertp,NA tp-tr,e.tptr,NA tr-weber,e.trweber,NA weber-weber,NA,1 tp-tp,e.tp,NA tr -tr,e.trv,NA weber - prob_wild_camp,alpha2,NA weber - prob_book_hotel_in_short_time,alpha3,NA weber - prob_safari_Kenia, alpha4, NA weber - prob_sail_wild_water,alpha5,NA weber - prob_dangerous_sport,alpha7,NA weber - prob_bungee_jumping,alpha8,NA weber - prob_tornado_tracking,alpha9,NA weber - prob_ski,alpha10,NA prob_wild_camp - prob_wild_camp, ep2,NA prob_book_hotel_in_short_time - prob_book_hotel_in_short_time,ep3,NA prob_safari_Kenia - prob_safari_Kenia, ep4, NA prob_sail_wild_water - prob_sail_wild_water,ep5,NA prob_dangerous_sport - prob_dangerous_sport,ep7,NA prob_bungee_jumping - prob_bungee_jumping,ep8,NA prob_tornado_tracking - prob_tornado_tracking,ep9,NA prob_ski - prob_ski,ep10,NA tp - o1,NA,1 tp - o3,beta3,NA tp - o4,beta4,NA tp - o5,beta5,NA tp - o6,beta6,NA tp - o7,beta7,NA tp - o9,beta9,NA tp - o10,beta10,NA tp - o11,beta11,NA tp - o12,beta12,NA o1 - o1,eo1,NA o3 - o3,eo3,NA o4 - o4,eo4,NA o5 - o5,eo5,NA o6 - o6,eo6,NA o7 - o7,eo7,NA o9 - o9,eo9,NA o10 - o10,eo10,NA o11 - o11,eo11,NA o12 - o12,eo12,NA tr - v5, NA,1 tr - v13, gamma2,NA tr - v14, gamma3,NA tr - v16,gamma4,NA tr - v17,gamma5,NA v5 - v5,ev1,NA v13 - v13,ev2,NA v14 - v14,ev3,NA v16 - v16, ev4, NA v17 - v17,ev5,NA sem.correlated - sem(model.correlated, cov(riskninfo_s), 397) summary(sem.correlated) samelist = c('weber','tp','tr')
Re: [R] SEM model testing with identical goodness of fits (2)
The purpose of carrying this CFA is to test the validity of a new developed scale tr with v* items, other two scales weber and tp are existing scales that measures specific risk attitudes. I am not sure if a simple correlation analysis is adequate to this purpose or not, thus the CFA test. Further, although a PCA has tested the dimensionality of all items, they are not divided as PCA result suggested, rather, their original grouping remains. The indicators are indeed not very well divided in PCA, mainly, o* items are located in two components. Originally, the EFA has been carried out on the first half of the sample and CFA on the second half. Due to the low fit indices from CFA of the partial sample, the full sample is tested in CFA to see if sample size affects much, and the results is as poor as before. It seems the time to read more about scale developing. And thanks for all these inputs. regards, John Fox wrote: Dear Hyena, OK -- I see that what you're trying to do is simply to fit a confirmatory factor-analysis model. The two models that you're considering aren't really different -- they are, as I said, observationally equivalent, and fit the data poorly. You can *assume* a common higher-level factor and estimate the three loadings on it for the lower-level factors, but you can't test this model against the first model. I'm not sure what you gain from the CFA beyond what you learned from an exploratory factor analysis. Using the same data first in an EFA and then for a CFA essentially invalidates the CFA, which is no longer confirmatory. One would, then, expect a CFA following an EFA to fit the data well, since the CFA was presumably specified to do so, but I suspect that a closer examination of the EFA will show that the items don't divide so neatly into the three sets. Regards, John -Original Message- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of hyena Sent: March-15-09 12:00 PM To: r-h...@stat.math.ethz.ch Subject: Re: [R] SEM model testing with identical goodness of fits (2) Dear John, Thanks for the reply. Maybe I had used wrong terminology, as you pointed out, in fact, variables prob*, o* and v* are indicators of three latent variables(scales): weber, tp, and tr respectively. So variables prob*, o* and v* are exogenous variables. e.g., variable prob_dangerous_sport is the answers of question how likely do you think you will engage a dangerous sport? (1-very unlikely to 5- very likely). Variables weber, tr, tp are latent variables representing risk attitudes in different domains(recreation, planned behaviour, travel choice ). Hope this make sense of the models. By exploratory analysis, it had shown consistencies(Cronbach alpha) in each scale(latent variable tr, tp, weber), and significant correlations among these three scales. The two models mentioned in previous posts are the efforts to find out if there is a more general factor that can account for the correlations and make the three scales its sub scales. In this sense, SEM is used more of a CFA (sem is the only packages I know to do so, i did not search very hard of course). And Indeed the model fit is quite bad. regards, John Fox wrote: Dear hyena, -Original Message- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of hyena Sent: March-15-09 4:25 AM To: r-h...@stat.math.ethz.ch Subject: Re: [R] SEM model testing with identical goodness of fits (2) Dear John, Thanks for the prompt reply! Sorry did not supply with more detailed information. The target model consists of three latent factors, general risk scale from Weber's domain risk scales, time perspective scale from Zimbardo(only future time oriented) and a travel risk attitude scale. Variables with prob_ prefix are items of general risk scale, variables of o1 to o12 are items of future time perspective and v5 to v13 are items of travel risk scale. The purpose is to explore or find a best fit model that correctly represent the underlining relationship of three scales. So far, the correlated model has the best fit indices, so I 'd like to check if there is a higher level factor that govern all three factors, thus the second model. Both models are very odd. In the first, each of tr, weber, and tp has direct effects on different subsets of the endogenous variables. The implicit claim of these models is that, e.g., prob_* are conditionally independent of tr and tp given weber, and that the correlations among prob_* are entirely accounted for by their dependence on weber. The structural coefficients are just the simple regressions of each prob_* on weber. The second model is the same except that the variances and covariances among weber, tr, and tp are parametrized differently. I'm not sure why you set the models up in this manner, and why your research requires a structural-equation model. I would have
Re: [R] SEM model testing with identical goodness of fits (2)
Dear hyena, Actually, looking at this a bit more closely, the first models dedicate 6 parameters to the correlational and variational structure of the three variables that you mention -- 3 variances and 3 covariances; the second model also dedicates 6 parameters -- 3 factor loadings and 3 error variances (with the variance of the factor fixed as a normalization). You don't show the remaining structure of the models, but a good guess is that they are observationally indistinguishable. John -Original Message- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of hyena Sent: March-14-09 5:07 PM To: r-h...@stat.math.ethz.ch Subject: [R] SEM model testing with identical goodness of fits HI, I am testing several models about three latent constructs that measure risk attitudes. Two models with different structure obtained identical of fit measures from chisqure to BIC. Model1 assumes three factors are correlated with each other and model two assumes a higher order factor exist and three factors related to this higher factor instead of to each other. Model1: model.one - specify.model() tr-tp,e.trtp,NA tp-weber,e.tpweber,NA weber-tr,e.webertr,NA weber-weber, e.weber,NA tp-tp,e.tp,NA tr -tr,e.trv,NA Model two model.two - specify.model() rsk-tp,e.rsktp,NA rsk-tr,e.rsktr,NA rsk-weber,e.rskweber,NA rsk-rsk, NA,1 weber-weber, e.weber,NA tp-tp,e.tp,NA tr -tr,e.trv,NA the summary of both sem model gives identical fit indices, using same data set. is there some thing wrong with this mode specification? Thanks __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.