Experimental Design with SEM analysis

348 views
Skip to first unread message

Experimental study with SEM

unread,
Oct 25, 2014, 4:13:48 AM10/25/14
to lav...@googlegroups.com
Hello All,

I am about to analyze data collected from a Quasi-experimental design study.

My question is: How can I model (& do coding the values I may obtain about) manipulations?

For example, I have three manipulated groups; Low, Moderate, and High.
First, I code their values as 1 for low, 2 for moderate, and 3 for high; it becomes 3 point likert type of scale.
Second, I model the manipulation as a exogenous variable.
Third, I also model some other exogenous and endogenous variables; these variables are measured by 9 point likert type of scale.
Fourth, I run SEM analysis, see parameters, and check significance.

Is there anything wrong? thank you very much for your help/advice in advance.





Terrence Jorgensen

unread,
Oct 25, 2014, 2:55:11 PM10/25/14
to lav...@googlegroups.com
For example, I have three manipulated groups; Low, Moderate, and High.
First, I code their values as 1 for low, 2 for moderate, and 3 for high; it becomes 3 point likert type of scale.

This is an ordered grouping variable with very few categories.  The coding (1,2,3) is fine, but I would not treat it as though it were continuous.  For example, if you insist on entering it as an exogenous predictor in your model, it would be preferable to create 2 dummy codes.

But I think it would be better to use the grouping variable (coded [1,2,3], not as 2 dummy codes) to run a 3-group model.  This relaxes the assumption of homoscedasticity across experimental conditions because each group will have its own residual variance parameter, rather than a single common residual variance if you use the dummy codes as you would in a typical regression/ANCOVA model.  Relaxing this assumption is a big advantage of SEM over the general linear model.

 
Third, I also model some other exogenous and endogenous variables; these variables are measured by 9 point likert type of scale.

These variables can be treated as continuous predictors, but I would use the MLR estimator to correct for non-normality if the histograms suggest the variables are not approximately normal.

Running this as a multiple-group model implicitly allows for interaction terms unless you constrain parameters to equivalence across groups.  For example, if you your outcome is called Y, predictor is called X, and experimental grouping variable is called G, your script for the multiple-group model would look like this:

syntax0 <- ' Y ~ X '
out0 <- sem(syntax0, data = myData, group = "G")

The regression parameter is uniquely estimated in each group, so it is equivalent to running a linear model like this (using the Moderate group as a reference group, and having dummy codes for the Low and High groups):

lm(Y ~ X + Low + High + Low*X + High*X, data = myData)

If you wanted to test the interactions for significance, you would need to constrain the regression parameters to equality across groups by giving those parameters the same label.

syntax1 <- ' Y ~ c(b1, b1, b1)*X '
out1 <- sem(syntax1, data = myData, group = "G")
## equivalent to below, but not as flexible if 
## you just want to compare one pair of groups at a time 
out1 <- sem(syntax0, data = myData, group = "G", group.equal = "regressions") 

This is equivalent to a "main"-effects model:

lm(Y ~ X + Low + High, data = myData)

This is a simple example, but the same principal applies to more complex cases (e.g., multiple outcomes).  If you have latent variables, you'll need to establish measurement invariance before testing latent parameters.  There are many more details about running multiple-group models on the lavaan tutorials page: http://lavaan.ugent.be/tutorial/groups.html

Terry
Reply all
Reply to author
Forward
0 new messages