|
Message/Author |
|
|
Hi all, I have been working on trying to reproduce estimation of variance components based on a published example using LISREL notation. The original publication was completed Marcoulides and basically I am having a bit of trouble with the syntax to generate the variance component estimates he obtained---or---it may be that I am not interpreting the output I do get correctly. Has anyone used CFA models to generate estimates of variance components? Any thoughts or input would be welcomed. -J |
|
|
Have you tranlated the LISREL input into the Mplus language? Lambda is BY etc. This would be where I would start. If you can't do this, send the LISREL input and output and the input and data you are using for Mplus to support@statmodel.com. |
|
|
Linda, thanks for your reply. I did send the requested info a few days ago with my current MPlus language. Below is my current input (commands) and I used the TECH 4 output rather than sampstat as the original output had pointed me in this direction...I am wondering if a negative estimate of variance will do this, because in G, one thing we typically do is set them equal to 0. Nevertheless, I should have obtained what Marcoulides did and did not (but I believe I am close). The design is 4 raters on 2 occasions rating the job difficulty of 27 jobs. J- (type is covar, # observasations = 216) Variable: Names are R101 R102 R201 R202 R301 R302 R401 R402; !Analysis: !Type =; !Iterations= 10000; !H1Iterations= 10000; Model: PERSON BY R101 R102 R201 R202 R301 R302 R401 R402; RATER1 BY R101 R102; RATER2 BY R201 R202; RATER3 BY R301 R302; RATER4 BY R401 R402; OCCVAR1 BY R101 R201 R301 R401; OCCVAR2 BY R102 R202 R302 R402; E101 BY R101; E102 BY R102; E201 BY R201; E202 BY R202; E301 BY R301; E302 BY R302; E401 BY R401; E402 BY R402; OCCVAR1 OCCVAR2 (1); RATER1 RATER2 RATER3 RATER4 (2); E101 E102 E201 E202 E301 E302 E401 E402 (3); Output: TECH4; |
|
|
LISREL SCRIPT appears like this from the original paper DA NI=8 NO=25 MA=CM ;MO NX=8 NK=7 LX=FU,FI PH=DI,FR TD=DI,FR ; ;THE MODEL STATEMENT INCLUDES THE DEFAULT VALUES ; ;THE LAMBDA MATRIX HAS THE FOLLOWING FORM ; VA 1.0 LX(1,1) LX(1,2) LX(1,6) VA 1.0 LX(2,1) LX(2,3) LX(2,6) VA 1.0 LX(3,1) LX(3,4) LX(3,6) VA 1.0 LX(4,1) LX(4,5) LX(4,6) VA 1.0 LX(5,1) LX(5,2) LX(5,7) VA 1.0 LX(6,1) LX(6,3) LX(6,7) VA 1.0 LX(7,1) LX(7,4) LX(7,7) VA 1.0 LX(8,1) LX(8,5) LX(8,7) OU ML |
|
|
The matrix of factor loadings is all fixed. This is not reflected in your Mplus language. The lambda matrix specified in LISREL is: f1 f2 f3 f4 f5 f6 f7 y1 1 1 1 y2 1 1 1 y3 1 1 1 y4 1 1 1 y5 1 1 1 y6 1 1 1 y7 1 1 1 y8 1 1 1 I will get you started by showing the specification for f1 and f2 in Mplus: f1 BY y1-y8@1; f2 BY y1@1 y5@1; In Mplus, exogenous factors are correlated as the default so you would need to fix those to zero: f1 WITH f2@0; I don't know what you are doing with the E BY statements and I don't see any equalities in the LISREL set up. |
|
|
Very helpful Linda, thank you; I was able to get the model to run and replicate the original results for var comps. |
|
|
Hi, After running the test model above using a covariance matrix, I am attempting to replicate the same procedure using individual data from a prior data set I analyzed using the traditional ANOVA-based method of var. comp. estimation. This new data set is not a covariance, but rather is in the form of individual observations. There are 19 variables which are the 19 raters who rate 13 infants. Thus, there are 13 * 19 observed variables. When I specify the model in the input, I am not sure how to indicate that the observed variables are 247 and not 13; that is, when I run the model, it doesn't run due to the fact that it perceives 19 variables on 13 observations, and not 247. It does not seem to matter if I indicate NOBSERVATIONS=247. What is interesting is that if I use analysis type is missing the model does run and gives me the correct person variance component (which make sense since it is based on a single rater*person observation) but it doesn't provide the other var comps as they should. How do I specify the correct number of observations given the 19 variables mentioned (each rater). I know this is the issue, I am just not sure how to do it since I am now working with individual data and not a correlation or covariance matrix. Any replies would be helpful. Thanks much, -JD |
|
|
You would need to have your data in long format for Mplus to see 247 observations. For example, Rater Infant 1 1 1 . 1 13 . . . 19 19 19 You can use DATA WIDETOLONG to rearrange the data. |
|
|
So essentially what I'll be doing is making raters (19) a between-subjects or a row and each infant will become a column? Going to try this now; regardless, it is irrelevant for G-purposes (I am pretty sure) whether a given variable is between or within per se; |
|
|
What do the raters rate the infants on? I don't think I understand what your data are. The data set should have rows that represent a combination of rater and infant and the columns should represent whatever the raters are rating the infants on. |
|
|
Linda, thanks, I was able to figure it out, but instead of modeling the person variance component I modeled the rater variance component (this was a p x r design). Here is how the data look Rater SN1 SN2 SN3...SN13 Rater1 xxx xxx xxx...xxxx Thus, each SN (object rated) is a column with 19 individual ratings. If I were to make the SN's as a single vector and the 19 raters as variables, then I would be modeling the person variance. However, I wasn't sure with 'widetolong' if I could transpose the data set right in Mplus and generate a different structured data set. This is not a huge problem because I can do this in SPSS and then export to a .dat. However, this was a smaller data set and I'd like to work with larger ones in the future...Is there any way raters could be the variable and SN as the index so I could estimate the person variance without having to create a separate data file? Or would 19 variables going across on 13 cases (SN's) be too large? |
|
|
You should be able to use WIDETOLONG. You would need to rearrange the data if you change the unit of observation. |
|
Back to top |
|
|