Friday, May 26, 2017

latent growth curve modeling, Amos

Fitting a latent growth curve model


I have data from a seven wave panel study of family relationships. My variable of interest is the amount of parental affection exhibited towards children during adolescence. I have measures of parental affection towards children at children's ages of 9, 10, 11, 12, 13, 14, and 15 years of age. I would like to fit a latent growth curve model to these data using AMOS. How do I do it?


This answer has been developed by Professor Edward Anderson in the Department of Human Ecology. We are grateful to him for allowing us to reproduce this answer.

Prior to setting up the model, you should consider several issues. First, how many time points do you have? In this example, you have seven time points. To ensure a properly identified and stable solution, your analysis should have four or more time points, though it is possible to fit some growth models with as few as three time points. If you have a three time point database, you may want to meet with a consultant to discuss the particulars of your model.

Second, as shown in the diagram below, you must connect each observed variable at each time point to the latent intercept and slope variables. The intercept variable-observed variable path coefficient values are fixed to 1.00. The slope coefficient values are allowed to be freely estimated in the initial model, with the exception of the coefficients for the first and last two time points. In the example shown below, the first time point's slope parameter is set to zero, and the last time point's slope parameter is set to 1.00. This coding frames the data so we can conceptualize the growth as being 0% complete at time 1, and 100% complete at the final time point. Thus, with this coding, the first panel of data collection is treated as the starting point for the growth curve.

However, there are several other ways to think about growth. For instance, in this example you are studying children every year from age 9 to age 15. You could choose to fix the slope parameters to be 9, 10, 11, 12, 13, 14, and 15. This coding would assume straight-line growth across each year of the child's life, so that the estimated intercept of the data ("time point 0") would be the year of the child's birth. This issue of coding the slope coefficients is not trivial because the interpretation of the estimated slope coefficients as well as the means and standard deviations depend upon what input coding was specified by the data analyst for the slope parameters. For more discussion of this issue, see Stoolmiller (1995).

Although there are a number of ways to set up latent growth curve models, experience suggests that the following method usually obtains model convergence. The model is designed to facilitate easy interpretation of the results. The steps to fit the model are as follows:
1. Launch AMOS.
2. Choose Plugins ---> Growth Curve Model. Enter the number of measures when you are prompted for the number of time points. In this example, you would enter 7 for the number of time points because you have data for parental affection at seven distinct points in time.
3. Choose View ---> Analysis Properties ---> Estimation tab. Check the Estimate Means and Intercepts check box.
4. Right-click on each of the seven observed variable boxes one at a time and select Object Properties. Click on the Text tab to name each of the variables to correspond to the relevant variable names in your external data file. Click on the Parameters tab to fix the intercept parameter; fix each observed variable's intercept value to 0.
5. Right-click on the latent variable circles (labeled ICEPT and SLOPE by AMOS) and select Object Properties. Remove the 0 constraints on the means. Fix the variance to zero for ICEPT and SLOPE.
6. Right-click on each of the seven residual variance circles and select Object Properties. Fix their mean values to 0 and set their variance values to 1.00.
7. For each of the paths connecting the residual variance circles to the observed variables' rectangles, right-click on the path arrow and select Object Properties, choose the Parameters tab, and remove the default 1.00 fixed value. Label each path with a unique name (e.g., EV1 for the first variable, EV2 for the second variable, etc.) by replacing the original value of 1.00 with the new parameter name.
8. Add two new residual latent variables to the ICEPT and SLOPE latent variables by clicking on the button labeled "Add a Unique Variable to an Existing Variable" on the AMOS toolbar. This button resembles a rectangle with a circle above it, with the rectangle and circle connected by a vertical line. Once this tool is selected, click on ICEPT and then SLOPE. This action should create latent variable residuals for ICEPT and SLOPE. Label these latent variable residuals Dev ICEPT and Dev Slope, respectively.
9. For the newly-created Dev ICEPT and Dev Slope latent variable residuals, fix their mean values to 0 and their variance values to 1.00. Next, replace the 1.00 values for the path arrows connecting Dev ICEPT to ICEPT and Dev Slope. Name the newly freed parameters SD_ICEPT and SD_SLOPE, respectively.
10. Move the covariance double-headed arrow between ICEPT and SLOPE from those original latent variables and instead have it connect Dev ICEPT and Dev Slope. Label it Cov_Icept_Slope.
11. Fix each of the parameter values for the arrows leading from ICEPT to the observed variables to the value 1.00.
12. Label each of the parameter values for the arrows leading from SLOPE to the observed variables. In the diagram shown below the parameter values are labeled b1 through b7.
13. Some growth models may require that you try starting values other than the AMOS default in order to fit the model in a reasonable numer of iterations. Symptoms of the need for user-specified start values may include failures to converge within the AMOS iteration limit (typically 500 iterations) or reports by the software of a non-positive definite fitted matrix, negative residual variances, or an otherwise inadmissable solution. To specify your own starting values for a parameter, name the parameter followed by a colon and the starting value. For instance, if you want to have the starting value for parameter b3 be .75, you would label the parameter b3:.75. The example shown below specifies starting values of .50 for each slope weight except for the first weight and the last weight, which are fixed to zero and 1.00, respectively. Important Note: Setting start values is optional; you should try AMOS's own default start values first and resort to user-specified start values only if AMOS cannot converge to a proper solution in a reasonable number of iterations.
14. Double-click on the Default Model label on the left-hand side of the AMOS Graphics window area. This action launches the Manage Models window. In the Model Name section of the Manage Models window, rename the model Full LGM. In the Parameter Constraints section of the window, type b1 = 0 and b7 = 1. These constraints force AMOS to consider the first time point to be zero units. The last time point is fixed to a value of 1.00, so the intermediary slope parameter values can be interpreted as percetanges of growth as a function of time, as described above. Click the Close button to return to the AMOS graphics drawing interface.
15. Select File ---> Data Files. Select the external data file. Click OK.
16. Save your work by choosing File ---> Save As and save your model file to an appropriate location on one of your computer's disk drives.
Your model diagram should appear as follows.

amos4 1

Each of the EV variables represents the standard deviations of the residuals for the observed variables. SD_ICEPT and SD_SLOPE refer to the standard deviations of the intercepts and slopes, respectively. Mean_ICEPT and MEAN_SLOPE are the mean values of the cases' intercepts and slopes. COV_ICEPT_SLOPE refers to the correlation between the slopes and intercepts.

If the model fit is successful, you should see results such as these appear in your AMOS Graphics output window.

amos4 2

Before interpreting the results on the model diagram, you should first verify that the model fits the data well on an overall basis. This is in fact the case, as the chi-square test of overall model fit was not statistically significant (chi-square = 14.655 with 18 DF, p = .685).

After you determine that the model fit the data acceptably, you may interpret the parameter estimates shown in the path diagram above. The mean intercept value of 60.93 indicates that the average starting amount of parental affection towards adolescents was 60.93 units. The standard deviation was 17.42. The mean slope value was -8.91, and the standard deviation of the slope was 11.82. The correlation between the intercepts and the slopes was -.07. Although the means and standard deviations were statistically significant when tested with the null hypothesis that their true values are zero in the population from which this sample was drawn, the same cannot be said for the correlation between the slopes and the intercepts: the r of -.07 was not different from zero.

Substantively, the finding that the standard deviation of the intercepts is statistically significant suggests that there is non-trivial variation in the amount of parental affection received by different children at the initial age when the affection measures were taken. Furthermore, the amount of parental affection appears to lessen over time for all adolescents as shown by the mean slope value of -8.91. This latter finding is qualified, however, by the significant variation in slope values, indicating that individual adolescents' experiences of affection amounts may be quite varied over time. Interestingly, the amount of affection shown an adolescent at the initial time of measurement appeared to be unrelated to changes in affection over time, as illustrated by the non-significant correlation of -.07 between the slopes and intercepts.

The parameter estimates for the slope-variable path coefficients are also of interest. These values track the pattern of the growth curve from the starting point of zero to the ending point of 1.00 over the intervening time points. Examination of the estimated values suggests a slower than expected growth curve through the first four time points with an accelerated growth component at time points five and six. If growth were constant across time, one would expect a value of .50 (50%, or the half way point between 0 and 1.00) instead of the observed value of .39. In fact, one can compare the expected value under a linear or constant change model with the observed values, as shown in the table below.
Time Point
Expected Value
Observed Value
1/6 = .167
2/6 = .335
3/6 = .500
4/6 = .667
5/6 = .833
6/6 = 1.000
1.00 (fixed)

Appearances, however, can be deceiving. Although there is a growth spurt between the third and fourth time points, the remaining time points appear to provide a reasonable approximation of a linear or constant change function. It is possible to use AMOS's nested model comparison features to test whether a linear growth function fits the data in the context of the latent growth curve model. To perform this test, double-click on the Full LGM model label on the left-hand side of the AMOS Graphics Diagram window to launch the Manage Models window.

In the Manage Models window, click on New. Name the new model Linear Change. In the Parameter Constraints segment of the window, enter the expected values for the linear constraints, as shown in the figure below. 
amos4 3revised

Each of the intermediate time points' parameter estimates are set equal to their expected values under the linear change function. Including the Full LGM model name before the constraints allows AMOS to fit the new Linear Change model subject to the constraints of the original model; this allows AMOS to directly compare the two models using a nested chi-square test. If the test is not statistically significant, one can conclude that the more parsimonious linear change model fits the data equally as well as the more complex Full LGM model. The AMOS test for this hypothesis was not statistically significant, (chi-square = 8.338 with 5 DF, p = .139), so it is reasonable to conclude that a linear or constant rate of change is present in the population of adolescents from which this sample was drawn.

There are many possible models that can be fit within the latent growth model framework.
For more information about latent growth analysis, see the following references:

McArdle, J. J. & Epstein, D. (1987). Latent growth curves within developmental structural equation models. Child Development, 58, 110-133.

Stoolmiller, M. (1995). Using latent growth curve models to study developmental processes. In J.M. Gottman (Ed.) Analysis of Developmental Change. Mahwah, NJ: Lawrence Erlbaum Associates, Inc.

No comments: