Multi-Group Analysis in AMOS
(with pairwise tests of path coefficients)

Draft last revised Sunday, January 31, 2010

*** These notes are still in "Draft" stage ***

Synopsis: The following notes contain procedures on how to do a multi-group analysis in AMOS, and how to instruct AMOS to test for pairwise path coefficient differences. Please note that what follows is just an example of how this can be done, and since we're using such a small sample size, p-values are not computed for the chi-squared test. In practice, you would be using a much larger sample size, and would have more degrees of freedom. What follows is only for demonstration purposes.  

The Mediation Model Across a Moderator

If we consider the classic 3-variable mediation model (Baron & Kenny, 1986), there are times when we may be interested in knowing whether the mediation model holds across levels of a moderator, where the levels of the moderator represents distinct, mutually exclusive and independent groups. Consider the following example in which we have a mediation model across 5 levels of a moderator:

Y - dependent variable
X - independent variable
M - mediator
Z - moderator (categorical, 5 levels)

The questions that arise from the above include the following:

1. Is path "a" for Z = 1 statistically different from path "a" for Z = 2? Is path "a" for Z = 1 statistically different from path "a" for Z = 3? Etc., for other pairwise comparisons of paths "a" across levels of Z.

2. Is path "b" for Z = 1 statistically different from path "b" for Z = 2? Is path "b" for Z = 1 statistically different from path "b" for Z = 3? Etc., for other pairwise comparisons of paths "b" across levels of Z.

3. Is path "c" for Z = 1 statistically different from path "c" for Z = 2? Is path "c" for Z = 1 statistically different from path "c" for Z = 3? Etc., for other pairwise comparisons of paths "c" across levels of Z.

Example Using a Categorical Moderator with Two Groups

In the following example, we consider the case of only two groups, though the example can be generalized to situations in which you have more than 2 groups, such as in the example given above in the introduction to these notes.

Consider the situation in which you are interested in knowing whether a path model is consistent across 2 groups. In this example, we consider a basic 3-variable mediational model, then ask the question of whether the model is consistent across 2 groups. The 2 groups are actual levels of a "moderator," so what we are actually testing is related to what is generally called moderated mediation. That is, we are comparing the mediational model across levels of Z, and wanting to conclude whether the mediation is moderated by levels of Z, and if so, which paths in the 3-variable model are different from which others.

For the 3-variable path models noted above, the test of the equality of the "a" parameters is a test of mediated moderation (which we do not discuss further in these notes). The test of the equality of the "b" parameter is a test of moderated mediation (Baron & Kenny, 1986; MacKinnon, 2008), and is the technique we do discuss in these notes.

Let's draw up some fictional data in SPSS to perform these analyses. Note that we will be using an extremely small sample size, and that usually, you would want a much larger sample size to conduct path analysis or SEM analysis more generally.

As previously done, but this time having a moderator with only 2 levels, we define the following:

Y - dependent variable
X - independent variable
M - mediator
Z - moderator (categorical, 2 levels)

Here's what our fictional data look like when entered into SPSS:

Notice that we have 20 cases in total, Y, X, and M are all continuous variables, and Z (our moderator) is dichotomously scored. What we want to test is whether the mediation model of "X predicts Z through M" is consistant across our two levels of Z. We also want to do pairwise comparisons of paths across the two groups, to be able to pinpoint path differences.

Procedures in AMOS

Start up AMOS Graphics, and draw the simplest mediation model:

We now tell AMOS that the above will represent a path diagram for two distinct groups (recall that we're using two groups in our example, you may have more in your data). To do this, click on "Analyze," then "Manage Groups":

Notice by default AMOS identifies the first group as "Group 1." You can keep this name for group 1, or you can select a different name. For instance, suppose your first group represents "Bullies" and the second group represents "Victims." You would enter "Bullies" for group 1, and "Victims" for group 2. For now, we'll just call our two groups "Group 1" and "Group 2." So, we leave the text above as is, and select "New" to enter our second group as follows:

Once you're done entering your groups, you can close the "Manage Groups" window. When you return to the main AMOS window, your groups will appear on the interface (double-check to make sure they are there):

Next, tell AMOS which data file to use. Since for this example we saved our SPSS data file as "group_data," we'll tell AMOS to fetch this file for use with the present analysis. We will have to instruct it to use the file for BOTH groups, since we stored the data in one data file. There are times in which you may have two data files (each file containing a different group of objects), which would call for slightly different procedures. For now, however, we only have the one data file. Click under "File" then "Data Files" to open the data file window:

The above requires some explanation. To obtain the above, we first selected "Group 1" then clicked on "File Name" and selected the SPSS data file (it's the only data file we're using, we don't have separate data files for each group). Once the file for group 1 is selected, click on "Grouping Variable," and it will bring up the following window:

Since our grouping variable is variable Z, we select "Z" and then "Ok." Next, click on "Group Value" from the "Data Files" window. It will bring up the following window:

The function of the above screen is simply to verify that your groups are coded correctly. Check the above screen to make sure all is in order. In our SPSS data file, we coded group 1 as "0" and group 2 as "1" so all looks good above. We see as well that there are 10 observations per group (Freq = 10, 10).

Next, select "Group 2" from the main window.
Repeat the above steps and select the same data file as for Group 1 (since recall, all of our data is in one file). Your final "Data Files" window, if you've done everything correctly, should look as follows:

Notice that we have identified two groups above, with both "Group 1" and "Group 2" taking its data from "group_data.sav." We've identified the grouping variable to be "Z", and the value of each group is "0" and "1". The total N per group is 10 out of 20 objects. Click "Ok" and we're ready to move on.

Naming Paths in the Mediational Model

We now have to name the paths "a" "b" and "c" distinctly for each group. First however, we need to complete our model by adding residual terms to "M" and "Y" (we name them "r1" and "r2" below):

Recall why we're adding the residual terms above. Both "M" and "Y" are endogenous variables, meaning that they are being predicted by other variables in the model. "X" doesn't have a residual term because it isn't being predicted by anything. The drawing of the model is now complete.

The next steps are very crucial to making sure we're able to obtain the pairwise comparisons of coefficients. In the AMOS tab that displays the groups,

choose "Group 2" and then right-click on the path from X to M in the path diagram. Select "Object Properties," then "Parameters." Under "Regression Weight," call the path by the name of a2 (to identify this path as the path "a" for group 2 and DESELECT "All groups." Notice in the following that "Regression weight" is identified as "a2" and we've deselected "All groups":

When you close this window, the path "a2" should appear in the path diagram (as it does in the following):

Repeat the above process for paths "b" (from M to Y) and "c" (from X to Y), being sure to "deselect" the "All groups" box for all paths, so that you obtain the following picture:

Model 2 (i.e., "Model 2" is "Group 2's" model) is now ready. To prepare Model 1, select "Group 1" and do the same as was done for Model 2, but this time, identify all the paths as simply "a" "b" "c". As was done for Model 2, deselect "All groups" for each path. You should have a path diagram for Model 1 that looks like the following:

Reviewing The Two Models

Let's take a moment to review what we've done so far. If everything was done correctly, you should now have two models drawn in AMOS that you are going to run. They won't both be on the same screen, but rather they will be selected by choosing "Group 1" or "Group 2" from the AMOS interface. They should look like this - Model 1 is on the left, and Model 2 is on the right:


How to Tell AMOS to do Pairwise Comparisons of Coefficients

Recall that what we would like to do is, in addition to comparing the fit of the two models, compare coefficients a1 to a2, b1 to b2, c1 to c2, etc. These pairwise comparisons (among others) will be produced when we run the analysis. To instruct AMOS to compare all paths within and between the two models, select "View" then "Analysis Properties." The following window will appear:

Select "Output" in the top panel:

Be sure "Critical ratios for differences" is selected. Then, close the window, and the analysis is ready to run. To run the analysis, click on "Analyze" then "Calculate Estimates":

The models will then run.

Interpreting the Output - Pairwise Comparisons Between Path Coefficients

We won't interpret all of the AMOS output here. Rather, we focus on differences between the two models. Let's first obtain a visual of each model:

Model 1 (Group 1):

Model 2 (Group 2):

The above are the respective path coefficients for each model. Now, to see whether path "a1" differs from path "a2," we select "Pairwise Parameter Comparisons" from the text output, and notice that it provides a matrix on the right side:

Notice that we've highlighted the part of the matrix that is of most interest to us for the pairwise comparisons we wish to make. The rest of the matrix (and there is more if you scroll to the extreme right of the matrix), are comparisons between other parameters in the model, variances, covariances, etc. For the purposes of these notes however, we're only interested in the comparison of path coefficients across models.

Let's look more closely at what the value for the b1/a1 cell represents. It is equal to -1.103. It is a z-test for the difference between coefficients from Model 1 to Model 2, and for a two-tailed test, we want this value to be greater than |1.96| (absolute value of 1.96) for the difference between paths to be statistically significant at p < .05. Notice that the value of -1.103 does not exceed |1.96| and hence the values of .46 and .03 are not statistically significantly different from one another in model 1. Note however that the difference between these two paths really wasn't of interest to us. We're more interested in making cross-group comparisons. Let's look at one of those now.

Look at the z-value for the cell a2/a1. It is equal to -2.365, and therefore exceeds the critical value of |1.96|. Hence, we can say that the path .46 in Model 1 is statistically significantly different from the path in Model 2 of -.54. In other words, we have evidence to suggest that the paths are not equal across the two models.

We can observe all pairwise comparisons across models in the table, and conclude for which paths we have evidence to suggest a difference in the estimated population parameters.

Questions & Answers

1. How can I compare model fit across groups? Can I compute a chi-squared difference test?

A chi-squared difference test is computed by subtracting one chi-squared value for one model from a second chi-squared value for the second model. The difference between chi-squared values is then evaluated on DF1 - DF2 degrees of freedom. For the above mediational model across groups, we cannot compute a chi-squared difference test because the DF will be the same for each group, providing a chi-squared value on zero degrees of freedom. AIC, BIC, and other fit measures may be used instead to compare models. There is a literature on comparing non-nested models, though that is not discussed here (at least not yet).

2. How can I obtain the direct effects, indirect effects, and total effects from AMOS?

To obtain these various effects, select "View" then "Analysis Properties," then click on the box "Indirect, direct & total effects." You can then find these produced in the text output, by default for "Group 1":

Let's review how the various effects were computed; we start with the direct effects. These are simply the estimated coefficients in the path diagram for Group 1. The indirect effects comprise of the product of paths between variables so long as the end variable is endogenous. The reason why we see ".000" under the "M - X" cell is because there is no indirect path of X predicting M. Had Y been a predictor of X, then we would have an indirect path, and it would be the product of paths from Y to X, and X to M. Similarly for Y-M, there is no indirect path. For Y-X, we do have an indirect path, and it is (.46)(.03) = 0.0138 (round to 0.014).

The total effects comprise of the sum of direct and indirect effects, and hence are simple to compute. We simply add up the relevant quantities in the direct effects and indirect effects matrices. Notice that the value of -.411 was computed by (-.425) + (.014) = -0.411. 

3. How can I test whether indirect effects are statistically significantly different across models?

It may be of interest to test whether the indirect effect a1*b1 is different from the indirect effect a2*b2. This would be equivalent to testing whether the mediation for model 1 is statistically significantly different from the mediation for model 2. In other words, this would address whether the mediation is moderated. For this, we need to consider something mentioned earlier in these notes. Recall, we had said:

For the 3-variable path models noted above, the test of the equality of the "a" parameters is a test of mediated moderation. The test of the equality of the "b" parameter is a test of moderated mediation (Baron & Kenny, 1986; MacKinnon, 2008).

Hence, the above tells us that if we want to test the mediational hypothesis across groups, to look at the b1 vs. b2 coefficients. This is the test of moderated mediation. If the pairwise comparison of b1 to b2 is statistically significant, then we have evidence to suggest that the hypothesized mediation model is moderated by the given moderator. If you have more than 2 levels on the moderator, you would have to look at various pairwise path comparisons to see just "where" the moderation is taking place. Remember however that all of this presuposes that you've established mediation independently in each model. How to do this using AMOS? We review this in the next question.

4. How do I test for evidence of mediation in each path model above?

Before performing pairwise comparisons between paths in your models, you'll probably first be interested to know whether the mediation hypothesis holds in each model by itself. The test of b1 vs. b2, even if statistically significant, does not necessarily mean that mediation holds independently for each model (this statement still needs to be verified). A statistically significant difference between b1 and b2 simply suggests that the hypothesized mediational model (possibly yet to be confirmed) is different across levels of the moderator. To obtain evidence for mediation on each model, we have to start with each one independently.

Testing mediation in AMOS is relatively straightforward, and can be accomplished in more than one way. Let's consider the mediation model for group 1. We will use the bootstrap to test, and then later see how it agrees with our analysis in SPSS. Consider again the classic mediation model:

In AMOS, under "Analysis Properties," we will select "Indirect, direct & total effects" and "Standardized estimates" under "Output":

Notice that we are asking AMOS for the indirect effects (red arrow). This will inform us of whether the path a*b is statistically significant. If it is, then we have evidence for mediation. If it isn't, then we have no evidence to suggest that the path X to Y is mediated by M.

Setting up the Bootstrap

Let's now set up the bootstrap. Select "Bootstrap" from the top tab:

We will ask AMOS to produce 3000 bootstrap samples, and we'll also request 95% bias-corrected confidence intervals. The confidence interval will also provide us with the test of significance (i.e., p-value) for the indirect effect. The arrows in what follows points to what we're needing to enter:

Interpreting the Output

Here's what the resulting model looks like (unstandardized estimates):

To obtain the test of significance for the indirect effect, we observe the standardized indirect effect in our Text Output:

Hence, the standardized indirect effect is equal to .022. Is it statistically significant? For this, we first look at the standard error for the coefficient, found to the right of the above output, "Bootstrap standard errors":

The standard error for the coefficient .022 is thus .078. To obtain the p-value for the indirect effect, click on "Bias-corrected percentile method" (found below "Bootstrap standard errors"):

The p-value for the indirect effect is equal to .408, indicating that we do not have sufficient evidence to reject the null hypothesis of no mediation. We do not have evidence to suggest that the path X to Y is mediated by M.

5. How do the above results compare to Mediation through OLS Regression?

It may be of interest now to compare the above results using the bootstrap for the test of mediation to what we would see using OLS regression using the traditional approach on this very small sample. Let's test for mediation using Baron & Kenny's traditional approach. We'll assume we have bivariate correlations (something you would have to check in a real mediation problem) between all of our variables, and proceed immediately to the OLS estimates:

Consider again our data in SPSS:

Note that we're only using variables Y, X, and M for this example. Z is the moderator we used previously above. We will not be using it for this simple mediational analysis. We'll use all 20 subjects for this example, just as we did for the example in AMOS discussed just above.

Step 1: Does X predict Y?

We have no evidence to suggest that X predicts Y (so usually we would stop the mediation process here, but for the sake of demonstration, we'll continue).

Step 2: Does X predict Y with M entered into the model?

Notice that the inclusion of M does not reduce the statistical significance of Y on X (it actually increases it). Let's get the indirect effect by using X to predict M, then M to predict Y:

The indirect effect is thus:

(-.112)*(-.205) = 0.02296

Notice that the value of 0.02296 (product of standardized Betas) is equal to the value obtained earlier in AMOS for the indirect effect using the bootstrap (0.022).