Appliedsem Amos
Appliedsem Amos
Using AMOS
This is an essential how-to guide on the application of structural equation modeling (SEM)
techniques with the AMOS software, focusing on the practical applications of both simple and
advanced topics.
Written in an easy-to-understand conversational style, the book covers everything from
data collection and screening to confirmatory factor analysis, structural model analysis,
mediation, moderation, and more advanced topics such as mixture modeling, censored data,
and non-recursive models. Through step-by-step instructions, screen shots, and suggested
guidelines for reporting, Collier cuts through abstract definitional perspectives to give insight
on how to actually run analysis. Unlike other SEM books, the examples used will often start
in SPSS and then transition to AMOS so that the reader can have full confidence in running
the analysis from beginning to end. Best practices are also included on topics like how to
determine if your SEM model is formative or reflective, making it not just an explanation
of SEM topics, but a guide for researchers on how to develop a strong methodology while
studying their respective phenomenon of interest.
With a focus on practical applications of both basic and advanced topics, and with detailed
work-through examples throughout, this book is ideal for experienced researchers and
beginners across the behavioral and social sciences.
Joel E. Collier, Ph.D., is the Tommy and Terri Nusz Professor of Marketing at Mississippi
State University, USA. He is also Ph.D. Director for doctoral studies in the Department of
Marketing. Dr. Collier teaches structural equation modeling on the doctoral level and has
published numerous articles in the top journals of his field using this technique. He has
also worked as a consultant for the following firms: Time Warner, Muvico, Reeds Jewelers,
Cashman Photo, and the Carolina Hurricanes professional hockey team.
Applied Structural Equation
Modeling Using AMOS
Joel E. Collier
First published 2020
by Routledge
52 Vanderbilt Avenue, New York, NY 10017
and by Routledge
2 Park Square, Milton Park, Abingdon, Oxon, OX14 4RN
Routledge is an imprint of the Taylor & Francis Group, an informa business
© 2020 Taylor & Francis
The right of Joel E. Collier to be identified as author of this work has been asserted by
him in accordance with sections 77 and 78 of the Copyright, Designs and Patents Act
1988.
All rights reserved. No part of this book may be reprinted or reproduced or utilised
in any form or by any electronic, mechanical, or other means, now known or hereafter
invented, including photocopying and recording, or in any information storage or
retrieval system, without permission in writing from the publishers.
Trademark notice: Product or corporate names may be trademarks or registered
trademarks, and are used only for identification and explanation without intent to
infringe.
Library of Congress Cataloging-in-P ublication Data
A catalog record for this book has been requested
ISBN: 978-0 -3 67-8 6329-6 (hbk)
ISBN: 978-0 -3 67-4 3526-4 (pbk)
ISBN: 978-1 -0 03-0 1841-4 (ebk)
Typeset in Perpetua
by Apex CoVantage, LLC
Contents
Prefaceix
Acknowledgmentsxi
6 Mediation 170
Introduction to Mediation 170
How to Test for Mediation 172
How Do I Report the Results of My Mediation Test? 180
Can I Use a Correlation Matrix or Summary Data to Test Mediation in AMOS? 181
What if I Have Multiple Mediators in My Model? 182
How Do I Test Serial Mediation? 188
Setting the Seed in Bootstrapping 194
7 Moderation 197
Introduction to Moderation 197
Probing the Interaction 202
Testing Moderation in a Full Structural Model 207
How Do I Present My Moderation Results? 219
Mean Center vs. Z Score in Moderation Testing 221
Moderation TestingWith a Categorical Moderator 223
Calculating Categorical Moderation via Pairwise Parameter Comparison 227
Moderated MediationWith a Continuous Moderator 229
How Do I Report the Results of My Moderated Mediation Test? 234
Moderated MediationWith a Categorical Moderator 234
been a fan of finding simple ways to describe complex issues. My ultimate goal is for you to
easily grasp the concept and how to independently run an analysis in your area of interest.
The book is organized in five sections. The first section can be classified as an introduction
to SEM and the AMOS software. In Chapter 1, I initially discuss what SEM is and what advan-
tages it has over other statistical techniques. I will also introduce the different terminology
used in SEM along with diagramming symbols. The chapter will introduce the basic concepts
of SEM along with assumptions of using this statistical technique. In Chapter 2, I talk about
the importance of data screening before using the AMOS software. The old saying of “garbage
in, garbage out” is so true in statistical analysis techniques like AMOS. Hence, I talk about
how to screen your data, assessing reliability of measures, how to handle missing data, and
understanding the different types of validity with your measurement items. The last chapter in
this section (Chapter 3) is an introduction to the AMOS software. I provide detail examples of
how to use the software and also include a section on tips to being more efficient using AMOS.
The second section of the book (Chapter 4) is concerned with measurement model analy-
sis. In this section, I detail how to run a confirmatory factory analysis, understanding measure-
ment model invariance, how to handle potential bias like common method bias, and how to
address more complex measurement concerns like higher order models with reflective and
formative indicators.
The third section (Chapter 5) focuses on the relationships between constructs. Structural
relationships are explained through both path and full structural modeling. Model trimming
and addressing alternative models is presented along with a discussion on how to include
control variables. Lastly, the chapter explains how to run a two group analysis along with
determining if you have multivariate outliers or non-normal data.
The fourth section examines mediation and moderation in a SEM model. In Chapter 6,
the topic of mediation is introduced. I discuss how to assess mediation using a bootstrapping
method and discuss how to run different types of mediation like parallel and serial mediation.
In Chapter 7, I introduce the topic of moderation and discuss how to perform moderation
testing with continuous and categorical variables. The chapter progresses to more advanced
topics such as probing a moderated influence along with moderated mediation testing. In
Chapter 8, I address how to test a SEM model using categorical independent variables. This
discussion starts with binary categories and progresses to multiple categorical fields that have
three or more categories.
The fifth and final section addresses more advanced topics in SEM. In Chapter 9, latent
growth curves are addressed as well as how to assess linear and curvilinear growth curves.
The last chapter (Chapter 10) will cover a wide range of advanced topics such as how to
use weighted scores, how to run a SEM analysis with non-normal data, mixture modeling,
using censored data, and non-recursive modeling. The end of this chapter is dedicated to those
researchers that would like to code their SEM model. Instructions and examples are given on
how to use coding to conceptualize and run an analysis in AMOS.
Acknowledgments
I have numerous people to thank for making this book a reality. The encouragement of my
family is immeasurable. My wife, Heather, has always been my biggest supporter and has a
knack of spurring me to do more than I think I can. To her credit, she never complained when
I would constantly ask her to read a paragraph and tell me if it makes sense. I’m thankful for
two understanding sons, Luke and Thomas.They had to sacrifice a lot of “Daddy time” at nights
and weekends while I was writing this book.
I don’t think this book gets written if it was not for the constant encouragement of my cur-
rent and former doctoral students asking me to write this book. When I first started teaching
structural equation modeling, I initially wrote the first version of this book. It was really more
like a 95-page manual that I thought would be a good aide for students to understand the sub-
ject. Each year, I would get students asking me if I was going to turn this into a book and each
year I would say no, that is a huge undertaking. Every time I taught the class, I added a little
more to the document and each time the students kept telling me this needs to be turned into
a book because it would really help researchers figure out how to run their unique analysis.
I did not seriously consider writing the book until someone I did not know approached me at
a conference and said she had got a copy of my SEM manual used in class and could not thank
me enough for giving her a tool to finally understand structural equation modeling. That day,
I decided that I was going to start writing a full book on the subject. Without the encourage-
ment of my current and former doctoral students, I don’t think that initial 95-page document
ever gets turned into a full book.
I think inspiration comes in many ways, but it seems to come with more frequency when
I am around my fellow colleagues. I have a group of friends affectionately called the “Dirt
People” who have been a great resource through this whole process. One of my colleagues,
Adam Farmer, is a straight shooter and that is what we love about him. I told him over lunch
that I was going to write this book and he asked what is the title going to be? I told him and
he said that is a weird title for a book. Why don’t you just call it Applied Structural Equation
Modeling. After a brief discussion, I agreed, and the title of the book was settled on over
lunch. Other colleagues who have supported me in countless ways include Mike Breazeale,
Carol Esmark Jones, Kevin Shanahan, Frank Adams, Rob Moore, Jason Lueg, Nicole Ponder
and many more.
A debt of gratitude goes to Mississippi State University and, specifically, to Melissa Moore
who encouraged me to write this book and also supported me in getting a sabbatical. This
xii Acknowledgments
book would have taken me twice as long to write without her giving me dedicated time focus
on the book. She was incredible through the whole process and has always tried to help me in
any professional capacity. She believed in me from the very beginning that I could make this
book a reality. A special thanks also needs to be extended to my Dean, Sharon Oswald, for also
supporting me in the writing process and encouraging me to write this book.
I would also like to thank my current and former coauthors. Many of our research projects
spurred me to learn new and different SEM techniques that were often out of my comfort
zone. Those coauthors include Donald Barnes, Alex Krallman, Mark Pelletier, Allyn Cascio,
Sherly Kimes, Bob Barnwell, Jennifer Stevens, Stacie Waites, Tyler Hancock, Christian Barney,
Brett Kazandjian, and numerous others. A special thanks needs to be given to Shannon West-
lake. She was instrumental in the early drafts and was a great resource to producing a strong
final product.
Finally, I would like to thank Lucy McClune at Taylor and Francis. From the very begin-
ning, Lucy could see the value of this book and how it could help researchers in various fields.
I am sure it was not an easy task convincing her boss why a marketing professor, who is not a
formal statistician, should be the next author to publish a structural equation modeling book
at Taylor and Francis. Lucy fought for me and the vision of the book I wanted to write. She
has been great through the whole process and I owe her special debt of gratitude. Similarly,
I would like to thank Kate Fornadel and the team of associates at Apex CoVantage. This book
was a nightmare in regards to the layout and I was quite particular in the details throughout
the book. Kate was especially accommodating and ultimately kept revising the book until I was
happy with the final output. I am grateful for her and everyone who helped in this process
along the way.
Chapter 1
Introduction to Structural
Equation Modeling
Y Y
Increasing Decreasing
(Posive) (Negave)
linear paern linear paern
X X
I know this might look like an intimidating formula initially, but it is really not once you
break down what all the symbols mean. In this formula, we are looking at the covariance
value across two variables. Let’s call one of the variables “X” and the other variable “Y”. In
our formula,
Let’s look at a quick example to clarify things. In this example, let’s say I wanted to test if the
number of advertisements over a month increased a business’s sales. Each week I would need
to get the number of advertisements the business placed, and the total sales at the end of the
week. I would do this for four weeks. Thus, I would have four data points for this analysis. See
the example in Table 1.1.
The X–X̄ value for week 1 is the number of ads (10) minus the mean (8.5) over the
week = 1.50. You would need to get this value for each week. The Y–Ȳ for week 1 is 7,000
minus the mean 6,150 = 850. Again, you would need to get the value for each week. The next
step is to multiply the X–X̄ value by the Y–Ȳ value. If you sum up all these products, you get
the numerator for our equation (16,700). The denominator of our equation is the total num-
ber of samples subtracted by the value of 1. Thus,
16,700
Cov (Ads, Total Sales) = = 5,566.67
4 –1
Our covariance value is 5,566.67. This positive value lets us know that the relationship
between the two variables is positive and increasing. Outside of that, the value of 5,566.67
does not give us any more information other than directionality. To determine the strength of
the relationship, we will need to assess the correlation between the constructs.
Covariance of X and Y
Correlation ( X, Y ) =
Standard Deviation of X *Standard Deviation of Y
r=
(
Cov X, Y )
Sx Sy
The lowercase “r” represents the correlation coefficient and the uppercase “S” represents the
standard deviation of the variable. Using our previous example, if we assume the standard
deviation for X (# of Ads) is 3.11 and the standard deviation for Y (total sales) is 1,844.81,
then we can calculate the correlation between the two variables.
5566.67
r=
( 3.11) (1844.81)
5566.67
= .97
5737.35
Introduction to SEM 5
The correlation between number of ads and totals sales is .97, which shows a strong positive
relationship between the two variables. Again, you will probably never hand calculate these
values because we have software programs that can do the work for you in seconds. Saying
that, understanding how the values are calculated can help in understanding how a SEM analy-
sis is accomplished.
With SEM, you are initially going to get an “observed” sample covariance from the raw
data, where you are getting a covariance across all possible combinations of variables. This
observed covariance matrix will then be compared to an “estimated” covariance matrix
based on your denoted model. The estimated model does not look at all possible variable
combinations but solely focuses on combinations that you denote as having a relationship.
For example, let’s look at a simple four variable model. In this model, the variables of Trust
and Satisfaction are proposed to positively influence a consumer’s attitude toward a store.
This attitude evaluation is then proposed to positively influence a consumer’s intention to
shop at that store. Notice that we are proposing only three relationships across the vari-
ables. See Figure 1.2.
Trust +
Atude + Intenons
+
Sasfacon
To calculate the observed covariance matrix, you would assess the variance for each vari-
able and then determine the covariance for each possible variable combination. Here is an
example of how the observed covariance matrix would be calculated with our four variable
model.
After you have conceptualized your model, you are now going to “estimate” those specific
relationships in your model to determine how well your estimated covariance matrix com-
pares to the observed covariance matrix. The estimation of proposed relationships is done
through a series of bivariate correlations, and the estimates will determine the strength of each
relationship. These estimates are interpreted just like regression coefficients. Unlike other
techniques, SEM does not treat each calculation separately. With SEM, all relationships are
calculated simultaneously, thus providing a more accurate picture of the relationships denoted.
6 Introduction to SEM
You will also see the term “model fit” used in SEM to determine how well your “esti-
mated” covariance matrix (based on the denoted model) compares or fits the observed covari-
ance matrix. If the estimated covariance matrix is within a sampling variation of the observed
covariance matrix, then it is generally thought to be a good model that “fits the data”.
SEM is a great technique to determine how variables influence one another, but to deter-
mine causation you would really need to use an experimental design. While the majority of SEM
research has been performed with non-experimental data, SEM is more than capable of analyz-
ing experimental data. SEM can examine the differences of a control and a manipulation group
while exploring their influence on multiple dependent variables, which can overcome many of
the limitations of other statistical techniques. Though SEM requires a large sample, this statistical
technique can provide you with flexibility in the conceptualization and analysis of an experimental
Introduction to SEM 7
design. So, while a SEM analysis itself will not determine causation, you can use SEM to analyze
an experimental design study to aid in understanding causation between constructs. Later in this
book (Chapter 8), I will talk more about how to use SEM to analyze experimental data and pro-
vide a detailed example of how to analyze data with numerous experimental groups.
Accept
A B
or
X1 X2 X3 Y1 Y2 Y3
2. Alternative Models Approach—more than one theoretical model is suggested, and you test
to see which one has a superior fit (Figure 1.5). Most of the time, researchers are hard
pressed to find two alternative models supported by the literature.
A B
> C B
X1 X2 X3 Y1 Y2 Y3 X1 X2 X3 Y1 Y2 Y3
3. Model Development Approach—a model is initially tested using SEM and any area of the model
that is non-significant or ill-fitting is changed based on the data. Hence, an alternative model
is suggested based on the data analysis. These suggestions are often based on modification
indices or analysis properties that point out where stronger relationships exist. This is by far
the most common method. There is a drawback to this approach because these “developed”
or modified models can be hard to replicate. The suggested changes to a model may just be
an artifact of a specific data set. Thus, you are often capitalizing on chance if your data set is
determining your model conceptualization. Once a “developed” model is found to be accept-
able, it is a good idea to achieve another data set to verify the structure of the revised model.
Assumptions of SEM
With any statistical technique, assumptions are made. Here are a few of the assumptions with
SEM that you need to be aware of going forward:
7. Adequate sample size—this is one of the challenging assumptions with SEM because this
technique does require a large sample size compared to other techniques.
8. Unidimensionality of a construct—the idea that you are solely capturing a construct of
interest.
SEM Software
This book will detail how to use SEM techniques using the AMOS software. AMOS stands for
“Analysis of Moment Structures”. Moment structures refer to means, variance, and covari-
ance. AMOS is a program tied to SPSS that uses a graphical interface for input. Saying that,
I will provide some examples using the SPSS program when the data needs to be altered or
calculated before using the AMOS program. There are other data input programs that you
can use, but SPSS has the most seamless transition to AMOS of the statistical programs. Ulti-
mately, I find AMOS to be the most user friendly of all the SEM software programs, especially
for new users. There are other SEM software programs that are comparable to AMOS, such
as LISREL, EQS, and MPLUS. The big difference between these programs is that AMOS is
designed to conceptualize and analyze models in a graphical interface format whereas the
other programs focus on inputting code to analyze a model.
There is also a SEM program that uses a variance-based matrix as its input. This soft-
ware is called PLS or SMARTPLS. The PLS stands for partial least squares. I find this type
of SEM analysis to be especially problematic and do not recommend the use of variance-
based SEM. For a full discussion on why covariance-based SEM is more advisable to variance-
based SEM, see Chapter 5.
Engagement. Examining unobserved constructs has even expanded into diverse areas such
as wildlife and fisheries, with constructs like Attitudes toward wildlife/pollinators and
Intentions for conservation practices. These unobservable constructs are often measured
by “indicators”, or “measurement items”, which often take the form of survey questions.
For example, you might ask survey questions (indicators) to measure a consumer’s level
of trust with a company (unobservable).
T he diagram shape represented for error terms is a circle and one-w ay arrow.
Introduction to SEM 11
The diagram shape for a covariance is a curved line with two arrowheads.
X Y
Figure 1.6
Construct Indicator = True or Actual Score of Concept + Error in Measuring the Concept
Or, put in mathematical form: X = A + e
With this formula, the construct indicator (X) is the measured item which is going to cap-
ture the “true” value of the concept (A) while also accounting for any error in the meas-
urement (e). You will often see unobservable constructs using a single measured indicator
to measure the concept. This can be problematic for a number of reasons. With a single
measure, you are making the claim that a single item can capture the “true” value of an
12 Introduction to SEM
A A B
X1 X2 X3 X1 X2 X3 Y1 Y2 Y3
Figure 1.9
with the influence and significance between constructs. The term “full structural model”
means that the measurement and structural relationships of each construct are included in
the model testing.
Parameters—the term “parameter” indicates the size and nature of the relationship between
two objects in a model. Parameters can be fixed to a constant or can be estimated freely from the
data. A parameter estimate will take place on the measurement level with indicators and error
terms as well as on the structural level between constructs.
Latent Constructs
x (Ksi) Represents an independent latent variable
h (Eta) Represents a dependent latent variable
Item Measures
X Indicator measures associated with independent latent constructs
Y Indicator measures associated with dependent latent constructs
Structural Relationships
g (Gamma) Parameters representing regression relationships from independent latent con-
structs to dependent latent constructs
b (Beta) Parameters representing regression relationships from dependent latent con-
structs to dependent latent constructs
14 Introduction to SEM
Error Terms
z (Zeta) Error term for a latent dependent construct
e (Epsilon) Measurement error terms associated with Y item measures
d (Delta) Measurement error terms associated with X item measures
Measurement Relationships
l (Lambda) Is the relationship from the latent construct to its indicators. Lambda repre-
sents the relationship to X and Y indicators from a latent construct.
Covariances
j (Phi) Represents covariances between latent constructs
Table 1.2 contains a list of English and Greek letter symbols for your reference.
λx1,1
δ1 KNWL (X1)
Job
Knowledge (ξ1)
ζ3
γ3,1 PERF 1 (Y8) ε8
λy8,3
γ1,1 Performance
Evaluaons λy9,3
ε1 RA 1 (Y1) λy1,1
(η3) PERF 2 (Y9) ε9
λy2,1 λy10,3
Role Ambiguity
ε2 RA 2 (Y2) β3,1
(η1) PERF 3 (Y10) ε10
λy3,1
ε3 RA 3 (Y3)
γ1,2 ζ1
δ2 ORG 1 (X2)
λx2,2 This is an example of a Full Structural
Organizaonal
Support (ξ2) β2,1 Model with Greek Notaons. Note
that the parameter numbering is
δ3 ORG 2 (X3)
λx3,2
based on where the arrow is poinng
and then where it came from.
ε4 SAT 1 (Y4)
γ2,2
λy4,2
Job
ε5 SAT 2 (Y5)
λy5,2
Sasfacon
(η2) ζ2
ε6 SAT 3 (Y6) λy6,2
λy7,2
ε7 SAT 4 (Y7)
6. SEM uses diagrams to denote relationships. The symbols used in these diagrams are:
a. Unobserved variables are circles
b. Observed variables are boxes
c. Path relationships are single headed arrows
d. Error terms are represented by a circle and a one way arrow
e. Covariances between variables are double headed arrows
7. Independent variables, also known as exogenous variables, will influence dependent vari-
ables, also known as endogenous variables.
8. It is preferred to measure unobservable constructs with multiple indicators. Measur-
ing an unobservable construct with a single indicator is problematic because you cannot
determine measurement error in the indicator.
9. A measurement model examines the relationships from the constructs to their indica-
tors. A structural model examines the relationships between constructs. A full structural
model examines the relationships between constructs while also including the measure-
ment model properties of each construct.
References
Hair, Joseph F., William C. Black, Barry J. Babin, and Rolph E. Anderson. (2009), Multivariate Data Analysis (7th
ed.). Upper Saddle River, NJ: Prentice Hall.
Joreskog, Karl G. (1993), “Testing Structural Equation Models”, in K.A. Bollen and J.S. Long (eds.) Testing Struc-
tural Equation Models. Newbury Park, CA: Sage.
Chapter 2
Before you can assess if one construct is influencing another, you need to make sure you are
actually capturing the construct of interest via your observed variables/indicators. In Chap-
ter 2, I will go over how to initially screen your data for problems before you even start the
analysis. After addressing any issues with the data, the next step is to assess the reliability of a
construct’s indicators. Following this analysis, I will discuss degrees of freedom in a model and
why that is important in assessing viability of a model’s structure. The chapter will conclude
with a discussion of sample size in SEM models along with an initial discussion on types of
validity that need to be addressed in order to have confidence in your findings.
Data Screening
The first step before analyzing your SEM model is to examine your data to make sure there are
no errors, outliers, or respondent misconduct. We also need to assess if you have any missing
data. Once your data has been keyed into a data software program like Excel, SAS, or SPSS, the
first thing you need to do is set up an “ID” column. I usually do this on the first column of the
data, and it is simply an increasing number from 1 (on the first row) to the last row of the data.
This is done to make it easier to find a specific case, especially if you have sorted on different col-
umns. After forming an ID column, it is a good idea to initially examine if you have any respond-
ent abandonment or misconduct.The quickest and easiest way to see if respondent abandonment
has occurred is simply to sort the last few columns of the data in an ascending order. Hence, you
can see if the respondent dropped out of the survey and stopped answering questions. These
incomplete rows are then subject to deletion. If a respondent failed to answer the last few ques-
tions, you need to determine if this amount of missing data is sufficiently acceptable to retain
the respondent’s other answers. If the respondent has an excessive amount of missing data, then
you are better off just deleting that respondent from the overall data. Later in this chapter, I will
discuss how much missing data is acceptable in order to proceed with an analysis.
After making a determination if respondents who failed to complete the survey should
be deleted, the next thing you need to assess is respondent misconduct. Let’s say you have a
survey asking Likert scale questions (1 to 7 scale).You want to assess if a respondent simply
marked the same answer for every question. The likelihood that the respondent feels the
exact same way for every question is small and is subject to deletion because of respondent
misconduct. Sometimes you will also hear this called “yea-saying”, where the respondent
18 Data Screening, Assessing Reliability
is not reading the questions and just marks agreement at the same level for the rest of the
survey. An additional step you can take to assess if respondent misconduct is taking place is
to add attention check measures to your survey. These questions are added simply to make
sure the respondent is paying attention to the questions, and they may ask the respondent
to specifically select a number on the 1 to 7 scale.
To see if you have a problem in your data set, examining the standard deviation of answers
for each specific respondent is a good way to assess if respondent misconduct is present. While
SPSS is great at analyzing data, accomplishing this task in SPSS is quite laborious. If your data
is in SPSS, a better (and quicker) option is to use Microsoft Excel; you copy the “ID” column
and the Likert scale indicator questions from SPSS and paste this data into Excel. Go to the
last column that is blank and simply input the standard deviation function =STDEV.P(selected
columns) and highlight “only” the Likert Scale items in the row (do not include the ID column).
This will allow you to see the standard deviation for each row (respondent). Anything with a
standard deviation that is less than .25 is subject to deletion because there is little to no variance
among the responses across the survey. Saying that, it does not mean that if a standard devia-
tion is under .25, you need to automatically delete the record. As the researcher, you need to
determine what is an acceptable level of agreement (or disagreement) within the questions,
and this can be a matter of how large or small the survey is as well.You may have an extremely
hard to get sample with a short survey, and in that instance, you might want to lower the value
before deleting records. There are no golden rules that apply to every situation, but if you have
a standard deviation of a respondent that is under .25, then you need to strongly consider if
this respondent’s answers are valid moving forward. See Figure 2.1 for assessing the standard
deviation of a respondent’s answers in Excel.
Here is the funcon in Excel along with the row highlighted (excluding the first column which is the
ID column). You can see that the standard deviaon for each row is greater than .25, which means
no column is subject for deleon because of “yeah saying” or respondent misconduct.
After selecting “Descriptives”, a pop-up window will appear. Let’s say I want to see if any
of my customer delight indicators have an impermissible value. I select all three indicators for
analysis and move them into the “Variable(s)” field. I also want to select the “Options” button
in order to see all the necessary fields. The “Options” window will give you lots of analysis
choices. I like to see the Mean, Standard Deviation, and, most importantly, the Minimum
and Maximum values to determine if a value is outside of an acceptable range. You can also
examine if an indicator has a high degree of kurtosis or skewness on this options page. Once
20 Data Screening, Assessing Reliability
I have selected all my options, I hit the continue button and then hit the “OK” button on the
main descriptives page.
The descriptives output (listed below) lets you see the minimum and maximum value for
each indicator. With all three indicators on a 7-point scale, the maximum value should not
be below 1 or higher than 7. With some online survey companies, I have actually seen where
data from the company is converted to other numbers. Instead of a 1 to 7 scale, the software
changes the scale to a 14 to 20 scale. This is rare, but in the event something like this does hap-
pen, you will know what analysis to use to catch this impermissible response.
With closed-ended questions where the respondent is making a choice (via Likert or Seman-
tic Differential), you will rarely find that your responses are out of an appropriate range. The
area you see this most frequently is with open-ended questions where the respondent inputs
the data directly. For instance, lets say we perform the exact same analysis again but examine
the “Age” of the respondents this time.
Data Screening, Assessing Reliability 21
The results of the analysis show us the minimum age was 18 and maximum age was 270.
Unless Dorian Gray was one of the respondents, the 270 record is most likely respondent
error. Based on the mean, the respondent was probably 27 but could be 70. In this instance, it
is better to delete the record and then impute the missing data. As stated earlier, this analysis
will let you see if any of your values are outside of an accepted range. Failing to address this
issue could significantly skew your data depending on the sample size.
After choosing the “Frequencies” option, a screen will appear (Figure 2.5) where you will
select the three delight indicators and move them into the Variable(s) input section. I also like
to choose the “Statistics” option on the right-hand side of the screen in order to select all the
information I want presented. After selecting all the needed options, I hit the “Continue” but-
ton and then the “OK” button in the initial “Frequencies” window.
Figure 2.5 Frequencies–Statistics Options
For clarity, I will show you how to perform all four approaches discussed in order to
address missing data. To use a series mean imputation and linear interpolation imputation, this
can be easily accomplished in SPSS (Figure 2.6). To replace missing values in SPSS, you need
to go to the “Transform” option at the top and then select “Replace Missing Values”. Once you
click “Replace Missing Values”, a pop-up window will appear where you will need to select
which indicators have missing values and need to be imputed. When you select the indicators
to impute, the default imputation is “series mean”, labeled as “SMEAN”. SPSS will impute the
series mean for these indicators and create a new variable with an underscore and “1” as the
new variable name. For instance, delight1 is renamed delight1_1 where all the missing values
in this indicator are replaced with the series mean.
It is a very similar method to impute using the linear interpolation method. After select-
ing the “Transform” and “Replace Missing Values” options again, you need to select each
indicator for imputation. As stated earlier, the default method is series mean, but another
option under the “Name and Method” section is linear interpolation. You will need to
highlight each indicator (individually), change the method to “Linear interpolation”, and
then hit the “Change” button. Make sure to hit the “Change” button for each indicator.
You will also see that SPSS will try to create a new column for the imputed indicator. In
the example below, you will see that the indicator delight2 is (by default) being changed
to delight2_1. If you do not want another column for the imputed data and simply want
to keep your existing labels, you just need to change the name back to the original. In
the example in Figure 2.7, delight1 is being imputed with a linear interpolation (listed as
LINT), and I am keeping the same name which tells AMOS to impute the missing values
in the existing column.
Once you have made your changes and hit the “OK” button at the bottom, SPSS will impute
the missing data and will give you an output of how many values were imputed. Take note in
the SPSS data file that all the imputed columns (even if you kept the same name) will now be
moved to the very last set of columns.
The last two imputation methods of regression imputation and full information maxi-
mum likelihood will be addressed using the AMOS program. It is much easier to address
these methods in AMOS than in SPSS. In Chapter 10, I go into detail on how to address
regression imputation and full information maximum likelihood with the AMOS program
(page 314).
Assessing Reliability
After you have screened your data on both the respondent and variable levels, the next
step is to assess the reliability of your indicators to predict the construct of interest. While
26 Data Screening, Assessing Reliability
having a single indicator for a construct might be easy, it does not provide us a lot of
confidence in the validity of the response. What if the respondent did not understand
the question? Asking multiple questions allows us to see the consistency of response to
a construct’s indicators. A good rule of thumb is that having at least three indicators for
each construct will allow you to determine the reliability of your items. One of the most
popular techniques for assessing reliability with indicators is to calculate Cronbach’s alpha
(also called coefficient alpha a). Cronbach’s alpha ranges from 0 to 1, where higher num-
bers denote a more reliable scale. This analysis measures the degree to which responses
are consistent across the items within a construct (internal consistency). Nunnally and
Bernstein (1994) state that an acceptable level of reliability is a Cronbach’s alpha that is
greater than .70. Cronbach’s alpha does have some drawbacks that need to be addressed.
First, Cronbach’s alpha is inflated when a construct has a large number of indicators, and
second, Cronbach’s alpha assumes that all indicators have an equal influence. Even with
those drawbacks, it is still the most widely used technique to assess the reliability of a
construct’s indicators.
Let’s go back to our example with the three indicators measuring customer delight, and
let’s determine the reliability of those indicators to capture delight. To calculate Cronbach’s
alpha, you need to go to the SPSS file where your data is located. Next, go to the Menu func-
tion “Analyze”, then go to “Scale”, then to “Reliability Analysis”.
A pop-up window will appear where you will select your construct’s indicators of interest.
In this case, we are going to select all three delight indicators. Make sure the model selection
is listed as “Alpha”.
Data Screening, Assessing Reliability 27
Next, select the “Statistics” button in the upper right-hand corner. This will let you see
numerous details about each indicator. When simply calculating reliability, I usually select
only “Item”, “Scale”, and “Scale if item deleted”. The “Scale if item deleted” lets you know how
Cronbach’s alpha changes if a specific indicator was deleted from the analysis. After making
your selections, select “Continue”, then “OK” on the main reliability analysis screen.
In the output (see Figure 2.11), the Cronbach’s alpha value is .900, which is well above the
.70 criteria of acceptable reliability. By including the “Item” statistics in the output, you can
see if one indicator has a large standard deviation, which could contribute to unreliability if
this is present. Lastly, the “Scale if item deleted” presents the change in Cronbach’s alpha if an
item was removed.
Here is your
Cronbach’s alpha.
presented in Chapter 4 in the confirmatory factor analysis section (page 87). Composite
reliability has the same range and cutoff criteria as Cronbach’s alpha for acceptable level
of reliability >.70.
I do not like to delete indicators unless there is an obvious problem. Yes, deleting an
indicator could raise Cronbach’s alpha levels, but as long as alpha is greater than .70,
I am often hesitant to delete an item. Later in the book, I will discuss how validity issues
with items can lead to deletion, but having multiple items gives the reader assurance that
you have captured the construct from multiple perspectives. In theory, the more items
you have, the better your chances of capturing the construct. Saying that, I think some
researchers go overboard with the number of items to capture a construct. I have seen
some constructs that have more than 20 indicators.This seems like overkill and ultimately
leads one to believe that this scale could be refined to still have a comparable level of
accuracy with a far smaller number of indicators. I think brand new concepts obviously
need a higher number of indicators. Well-established constructs that have been refined
can have a much smaller number. At a minimum, you need at least three indicators to
calculate Cronbach’s alpha, but the choice on number of indicators should be based on
the complexity of the construct.
X + Y = 10
In this example, you have more parameters to estimate (X and Y) than observations (10). It
is impossible to find a unique solution. The same principle applies in SEM. If you have more
parameters to estimate than observations in the covariance matrix, SEM will not produce an
answer because your model is considered under-identified.
Extending the example, let’s say now it is the following:
X + Y = 10
2X + Y = 16
Now we have two observations and two parameters to estimate. In this instance, we can figure
out that X = 6 and Y = 4. Having a model with the exact same number of observations and
30 Data Screening, Assessing Reliability
parameters is called a “just-identified” (or saturated) model. When a model is saturated, you
cannot determine how well your model fits the data (fit statistics are invalid). Just-identified
models often do not test a theory because the model fit is determined by the circumstances.
These models often have very little interest to researchers.
The desired position in a SEM model is to be “over-identified”. This means you have
more observations than parameters that need to be estimated. When researchers talk about
identification, they will often discuss them in terms of “degrees of freedom”. The degrees
of freedom (df) in a model is the difference between the total number of observations in
a covariance matrix and the number of parameters to be estimated in your model. For
instance:
AMOS does a lot of the work for you in regards to identification. AMOS will give you a break-
down of proposed estimated parameters and elements in the covariance matrix. All of this
information is in the output AMOS provides under a tab titled “Parameter Summary”. If you
have an under-identified model, AMOS will indicate the specific constructs or errors terms
where the problem is originating. Other SEM programs are not as helpful and just state your
model is under-identified (good luck finding out where). Though AMOS provides this infor-
mation to you, it is beneficial to understand how to calculate degrees of freedom. I do this
sometimes when I am reviewing for a journal and I think the ultimate analysis is inaccurate.
df = m * (m + 1)/2 − 2*m − X * (X − 1)/2 (Don’t freak out; it looks worse than it is.)
M = number of indicators
X = number of exogeneous (independent) latent constructs
• The first term, m * (m + 1)/2, represents the total number of elements in the variance-
covariance matrix (maximum df).
• The second term, 2*m, represents the number of parameters to be estimated.
• The third term, X * (X − 1)/2, represents the free off-diagonal covariances of the
constructs.
For instance, let’s say we have a simple measurement model that has two latent (unobserved)
constructs that have three indicators each.
Data Screening, Assessing Reliability 31
Φ21
X1 X2
M1 M2 M3 M4 M5 M6
E1 E2 E3 E4 E5 E6
Let’s look at an example of a structural model. This simple model tests how an individu-
al’s levels of Social Anxiety and Shyness influence Loneliness perceptions. These Loneliness
perceptions will then directly influence evaluations of Depression. Let’s try to calculate the
degrees of freedom.You have 12 indicators, 4 constructs, 2 gamma relationships, and 1 beta
relationship.
32 Data Screening, Assessing Reliability
Social
Anxiety
Gamma Relaonships Beta Relaonship
Loneliness Depression
E1 E2 E3
E4 E5 E6
df = 12 * (13)/2 − 2 * 12 − 2(1) / 2 − 2 − 1 =
78 − 24 − 1 − 2 − 1 = 50
We have 50 degrees of freedom in this structural model. Again, AMOS will calculate the
degrees of freedom for you, but it is still handy to know how to calculate degrees of freedom
if you are verifying another researcher’s work.
The closer you are to a just-identified model, the more skepticism reviewers have about
your model unless you have a very simplistic model with few unobserved constructs. As
stated earlier, a just-identified model will not allow you to assess how well your proposed
model fits the data. Similarly, when you start approaching a just-identified model (df < 3),
model fit indices start to bias upward. The bigger issue is a just-identified model or nearly
just-identified model is often conceptualized where every construct is influencing every
Data Screening, Assessing Reliability 33
other construct in the proposed model. These types of models have unflatteringly been
called “Big TOE” models, where the “TOE” represents “Theory of Everything”. A Big Toe
model infers that everything is affecting everything else. Ultimately, that type of model
is not discriminatory and just lets every construct have a relationship with every other
construct in the model. These models are often met with skepticism, mostly because the
theory underlining your proposed model is not going to justify that every construct in a
model is interconnected and has a relationship. Having an over-identified model is a better
option, as you can truly assess if the proposed model fits the data.
number of indicators, a researcher can make this argument. If it is a new construct and the
researcher includes a small number of indicators (like two), you set yourself up for criticism
that you may not have achieved content validity. Content validity is often an “eyeball” test by
simply assessing if these indicators even attempt to measure the unobserved construct on face
value.This type of validity is focused on appearance. Do the indicators asked in a survey appear
to measure the specified construct? One could argue that this is a superficial assessment, but
it is only one of many steps to determine the validity of a construct.
Convergent Validity—this type of validity determines if the indicators for a construct
are all measuring the “same” thing. Do all indicators “converge” in measuring this construct?
A lack of convergent validity notes that your indicators are weakly measuring your construct
or that your indicators are actually a better measure for a separate and maybe similar construct.
Discriminant Validity—this involves a set of indicators presumed to measure a con-
struct and that differentiate from other constructs. This can be problematic with constructs
that have multicollinearity or a high correlation between constructs. For instance, if the con-
structs of Speed and Efficiency were trying to be measured and the final analysis showed that
these two constructs had a correlation of .90, you could make the argument that you are not
actually measuring two different things (very few distinguishing characteristics between the
measurements). In essence, discriminant validity assesses if your construct is distinct and dif-
ferent from other potential constructs of interest.
Predictive Validity—does the construct actually predict what it is supposed to be
predicting?
10. Understanding the validity of your measures is important. Four important validity
concerns are content validity, convergent validity, discriminant validity, and predictive
validity.
References
Bentler, P.M. and Chih-ping Chou. (1987), “Practical Issues in Structural Equation Modeling”, Sociological Methods
Research, 16 (1), 78–117.
Eekhout, Iris, Henrica De Vet, Jos Twisk, Jaap P.L. Brand, Michiel de Boer, and Martijn W. Heymans. (2013), “Miss-
ing Data in Multi-Item Instrument Were Best Handled by Multiple Imputation at the Item Score Level”, Journal
of Clinical Epidemiology, 67 (3), 40–55.
Garver, Michael S. and John T. Mentzer. (1999), “Logistics Research Methods: Employing Structural Equation
Modeling to Test for Construct Validity”, Journal of Business Logistics, 20 (1), 33–57.
Hair, Joseph F., William C. Black, Barry J. Babin, and Rolph E. Anderson. (2009), Multivariate Data Analysis (7th
ed.). Upper Saddle River, NJ: Prentice Hall.
Hoelter, Jon W. (1983), “The Analysis of Covariance Structures Goodness of Fit Indices”, Sociological Methods
Research, 11 (3), 325–344.
Kim, Kevin H. (2005), “The Relation Among Fit Indexes, Power and Sample Size in Structural Equation Modeling”,
Structural Equation Modeling, 12 (3), 368–390.
Little, Roderick J.A. and Donald B. Rubin. (2002), Statistical Analysis With Missing Data (2nd ed.). New York, NY:
Wiley.
McQuitty, Shaun. (2004), “Statistical Power and Structural Equation Models in Business Research”, Journal of Busi-
ness Research, 57 (2), 175–183.
Nunnally, Jum C. and Ira H. Bernstein. (1994), Psychometric Theory (3rd ed.). New York, NY: McGraw-Hill.
Rigdon, Edward E. (1994), “Calculating Degrees of Freedom for a Structural Equation Model”, Structural Equation
Modeling, 1 (3), 274–278.
Schafer, Joseph L. and John W. Graham. (2002), “Missing Data: Our View of the State of the Art”, Psychological
Methods, 7 (2), 147–177.
Schreiber, James B., Frances K. Stage, Jamie King, Amaury Nora, and Elizabeth A. Barlow. (2006), “Reporting
Structural Equation Modeling and Confirmatory Factor Analysis Results: A Review”, The Journal of Educational
Research, 99 (6), 323–337.
Stevens, James P. (1996), Applied Multivariate Statistics for Social Sciences. New York, NY: Routledge and Taylor &
Francis.
Chapter 3
The AMOS software is nicely designed for you to use a graphic interface to draw your struc-
tural equation models. Unlike other SEM programs that are all coding, AMOS allows you to
quickly draw a model and visually see the paths and relationships between constructs. The
software is flexible in that it allows you to use icons to select options or to even use hot keys
if you feel more comfortable that way. I will initially explain the basic functions of setting
up a structural equation model in AMOS, and then I will present tips on how to be more
efficient using the program.
Along with the boxes on the left-hand side, AMOS will pin a ribbon of icons to the screen.
These icons represent the most frequently used functions in AMOS. All of these same func-
tions are also offered in the menu bar at the top of the screen. You can move these icons to
either side of the screen and customize what icons are seen. There are many more functions
and options in AMOS that are not listed in the pinned icon ribbon. Most of those are located
at the menu bar at the top of the screen as well.
38 Understanding the AMOS Program
This function allows you to draw an observable variable.You can drag the square in the graph-
ics window to the size of the box you want.
Example 3.1:
This function allows you to draw an unobservable variable.You can drag the circle in the graphics
window to the size of the circle you want. Note: you will rarely need to use this function. AMOS
provides a better option for drawing unobservable variables.
Example 3.2:
This function allows you draw an unobservable variable that includes indicators and error terms.
This is the primary function you are going to use for drawing unobservable variables because it
will include the indicators.You will initially draw/drag a circle to the size you want and then left-
click on this circle to include an indicator. If you click twice on the unobservable (circle), AMOS
will include two indicators.You can choose the number of indicators. If you have drawn the unob-
servable construct and indicators but forgot to add an indicator, just select this function and click
on the unobservable, and it will add another indicator.
Example 3.3:
Example 3.4:
This function lets you draw a path (parameter) between two objects in the graphics window.
Example 3.5:
40 Understanding the AMOS Program
This function lets you draw a covariance. Note, if you drag this double headed arrow left to
right, the arc of the line will be at the top. If you drag it right to left, the arc will be at the bot-
tom. If you drag it top to bottom, the arc will be on the right. If you drag it from bottom to
top, the arc of the line will be on the left.
Example 3.6:
This function lets you add an error term to a variable. If a variable already has an error term
added, then selecting this function and clicking on the variable again will rotate the error
term.You can select the position you want the error term to be located.
Example 3.7:
Example 3.8:
Understanding the AMOS Program 41
This function will let you add a title to the graphics window. There is no real need for this unless
you are printing your model or trying to share it with another person.
Example 3.9:
After clicking this function, you will get a pop-up window to enter a title along with position.
This function will allow you see all the variables that have been labeled in the drawn model.
Example 3.10:
This function will show you all the variables that are listed in your data set. It will show the
variable’s name, label, and the column number.
Example 3.11:
42 Understanding the AMOS Program
This function will allow you to select one object at a time. When you select an object, it will
highlight it in blue.
Example 3.12:
Select “x1”.
This function will allow you to select every object that is on the graphics window.
Example 3.13:
This function will allow you to deselect all objects that are selected/highlighted.
Example 3.14:
Understanding the AMOS Program 43
This function will allow you to delete an object that is in the graphics window.
Example 3.15:
Select “x1”.
This function will allow you to move an object around the graphics window. If you select just
this icon, you can move one object at time. If you want to move more than one object at a
time, see the “preserve symmetries” function.
Example 3.16:
Move “x3”.
Example 3.17:
Move “Y”.
44 Understanding the AMOS Program
This function will create a duplicate of an object. If you choose this function and then select an
object and drag, you will see a duplicate. This function will duplicate only one item at time
unless the “preserve symmetries” button is selected, too. Note, the duplicate will have the same
label, so this will need to be changed if it remains in the graphics window.
Example 3.18:
This function will allow you to change the shape of an object. You can change the height and
width of an object.This is a handy function in order to see full variable names if they are bigger
than the original object size. This function will let you resize only one object at time unless the
“preserve symmetries” button is selected.
Example 3.19:
Resize
“satisfaction3”.
Understanding the AMOS Program 45
This is the preserve symmetries button which will allow you to change or move multiple objects
within an unobservable construct that has indicators and error terms. This function is especially
handy with the “move”, “resize”, and “copy” functions.
Example 3.20:
Move ‘X’
indicators
This will allow you to move all the “x” indicators at once instead of one at a time.You can
space them out or move them in or out from the unobservable construct.
Example 3.21:
Move
error
terms
This will allow you to move all the error terms at once instead of one at a time.You can
space them out or move them in or out from the indicators.
Example 3.22:
Move the
unobservable
construct
This will allow you to move the unobservable construct and all objects attached to it. In
essence, this will move everything associated with the construct.
46 Understanding the AMOS Program
Example 3.23:
With the preserve symmetries icon selected, you can resize numerous objects at once.
If we were trying to resize the indicators, the boxes for all the indicators would resize
to the desired size.
Example 3.24:
With the preserve symmetries icon selected, you can resize all the error terms at once
instead of one at a time.
Example 3.25:
With the preserve symmetries icon selected, you can copy an unobservable and all its
indicators. It makes a duplicate of the unobservable and all objects attached to it. Again,
the labels are exactly the same in the duplicate, so you will need to change those if it is
going to stay in the graphics window. This function is handy to use before the constructs
have been labeled and you need another construct with the exact same number of indi-
cators and error terms.
Understanding the AMOS Program 47
This function will allow you to rotate the indicators around the unobservable construct.
Example 3.26:
This function will reflect the indicators of an unobserved construct. It is like a mirror function.
Example 3.27:
This function will allow you to move parameter labels so that you can see them clearly.
48 Understanding the AMOS Program
Example 3.28:
Move
‘B_Path’
This is the touch up icon. It will rearrange paths and covariances to make them easier to see.
It makes the paths and covariances pleasing to the eye from a graphical standpoint. Click the
areas you want to clean up.
Example 3.29:
This is the select data file function. This is where you will link the raw data to AMOS.
Example 3.30:
Understanding the AMOS Program 49
This is the Analysis Properties icon. This function will allow you to see numerous options for
the output you want displayed after running the analysis. After clicking this icon, a pop-up
window will appear. There are eight tabs at the top of the pop-up window that will allow you
to choose different output options.
Example 3.31:
This is the calculate results icon.This is the icon you will select when you are ready to run your
analysis.
This is the view output icon. Selecting this icon will take you to the text output after an analy-
sis has been run.
This is the copy model to the clipboard icon. This will copy the model drawn on the graphics
window to the clipboard for you to paste in another area or document.
50 Understanding the AMOS Program
This is the save current model icon. This will let you save your work.
This is the zoom on a specific area function. After selecting this icon, you can drag a box
around a specific area and that selection will be zoomed in.
Example 3.32:
This is the zoom-in function. It will zoom the whole page on the graphics window in order for
everything to become larger.
This is the zoom-out function. It will zoom out the whole page on the graphics window in
order to see more of the page.
This is the Object Properties function. This is where you can change the properties of an
object such as changing a variable name or label. You can also name and fix parameters.
Another option available in this function is to change text size, style, and color scheme. There
are five tabs at the top that will change different properties of an object.
Example 3.33:
Understanding the AMOS Program 51
This is the drag properties function. This function will let you drag object properties to other
objects in the graphics window. Note that the drag properties pop-up window has to be active
for the “dragging” function to work across properties. You can drag an object’s properties to
numerous objects if they are selected/highlighted first.
Example 3.34:
This is the reposition model function. This where you can scroll your model to the left and right
and see more of what is on the graphics window.This is usually needed only if you have zoomed in
on an area and need to see a subsequent area that is off the screen.
This is the examine diagram with loupe icon. This is just a big magnifying glass that lets you
see in a desired area without zooming in.
Example 3.35:
This is the “zoom page” function. This function will magnify to view the whole page. Selecting
this icon will either zoom in or out to let you see the whole page AMOS graphics is using.
This is the resize whole model to fit the page icon. This is where AMOS will resize the entire
model to fit on the page. I would caution you not to use this option. It will force the model to
the page in often weird and cramped ways.
52 Understanding the AMOS Program
This is the Bayesian Analysis function. Selecting this icon will take you to a pop-up window
that will perform Bayesian analysis.
This is the multi-group analysis function. Choosing this icon will label parameters across
groups and also suggest models to compare across groups.
This is the print function. This icon will allow you to print the model on the graphics window.
It will also allow you to print unstandardized and standardized estimates on the model. You
can also choose between groups on the model you choose to print.
Example 3.36:
This is the specification search function. This function lets you explore what the fit of a model
is if you remove paths from the initial model.
Understanding the AMOS Program 53
Example 3.37:
Tip 2: Display Variable Names Instead of Labels. When you drag a variable from the variable
list into the AMOS graphics window, the variable will be displayed as its label in
AMOS. The label is often where you will see the actual question asked in a survey.
Hence, instead of just listing a short name for each variable, you have a huge variable
label that lists the whole question asked. To have AMOS change from displaying vari-
able labels in the graphics window to displaying the variable name, you need to go
to the interface properties window. In the tab at the top called “Misc”, you will see a
series of checkboxes that are already checked. One of those checkboxes is “Display
Variable Labels”.You want to uncheck this box. By doing this, the variable name will
now be displayed instead of the label.
54 Understanding the AMOS Program
Example 3.38:
Tip 3: Have AMOS label all your error terms. If you have a model with numerous constructs
and indicators, you will find that it can be quite laborious to label all the error terms
for every indicator. AMOS has a function that will label all error terms for you. In the
“Plugins” menu option at the top, you need to select “Name Unobserved Variables”. This
will label all error terms with a letter “e” and a number. AMOS will start numbering
error terms based on the order of creation. The first unobservable construct and error
terms created in AMOS will be where the error numbering will start.
A word of caution: this function will try to label unobserved constructs, too, if you
have not labeled them already.The unobserved constructs will be labeled a letter “F” and
a number. I would not recommend letting AMOS label your unobservable constructs,
but I do find this function quite handy in labeling all the error terms in your model.
Example 3.39:
Plugins – Name
Unobservable
Variables
Tip 4: Browse Path Diagrams to find previously saved models. If you are like me, you may have numer-
ous versions of a model you are working on and sometimes the name of the saved file does
not help me find a specific version of a model. The browse path diagrams function lets you
preview previously saved files to find the specific model you desire. To use this function, go
to the “File” menu option at the top and then to the “Browse Path Diagram” option.
Example 3.40:
Tip 5: Let AMOS draw covariances between independent variables. All independent variables should
have a covariance between them. If you have a large model, this can be quite a few
covariances to add. If you select/highlight all the independent unobservable constructs
56 Understanding the AMOS Program
(circles), then go to the “Plugins” menu option at the top and select “Draw Covariances”.
This option will draw a covariance between all variables selected/highlighted. It is a
good idea to hit the “deselect” button when you are done.
Example 3.41:
Tip 6: AMOS can resize all observables/indicators to fully show a variable name. The variable
names for your indicators can vary wildly in length, and AMOS can help with the
resizing of the boxes to fully show the variable names. In the “Plugins” menu at the
top, select the “Resize Observed Variables”. This will change the size of all observable
variables in the model to fully contain the variable name within the box. Instead of
resizing observables/indicators after every construct that is added to the model, you
can wait until all constructs are included in the model and use this function to resize
all the boxes to fit the variable names.
Example 3.42:
Tip 7: Save the middle of the page for paths/relationships. With full structural models, you can
have a lot of indicators and error terms that can really make it hard to see the relation-
ships between constructs. Try to keep indicators and error terms near the edge of the
Understanding the AMOS Program 57
page and leave the middle of the page for structural relationships.You will need to rotate
indicators around the unobservable constructs to accomplish this.
Example 3.43:
The top model is very busy and hard to see the structural paths because of all the indica-
tors. The bottom model has moved the indicators to the edges of the page so that the
structural paths are easier to see.
Tip 8: Standardize the look of your observable and unobservable constructs. One way to standardize
the look of your observables is to use the “square” function [ ] . If you select the
square function and then draw an observable on the graphics window, it will draw every
box as a square. Similarly, if the “square” function is selected, ever drawn unobservable
will be a perfect circle. There is a subsequent function called “Golden” [ ] which
will create rectangles with observables and ovals with unobservables.
58 Understanding the AMOS Program
Example 3.44:
Tip 9: Force Objects in the Graphics Window to line up on a grid line. If you would like for all of
your boxes or circles to be in a straight line down the graphics window, you need to
use the option called “Snap Spacing”. In the Interface Properties window, you want to
go to the “Misc” tab and then change the Snap Spacing option from “off ” to a number.
When snap spacing is turned on, AMOS will include (invisible) grid lines in the graphics
window and will space the gridlines out based on your preference. If you choose a snap
spacing of 24, then AMOS will separate the grid lines by 24/96 = .25 inches apart. If
you select a snap spacing of 12, then the separation is 12/96 = .125 inches apart. To
turn the grid lines back off, just change Snap Spacing to “off ”. If you are researcher that
likes to have your objects in the graphics window in an orderly pattern, then Snap Spac-
ing will save you some time from trying to eyeball objects to be in line with one another.
Tip 10:Automatically show text output after running an analysis. After running an analysis, AMOS
will require you to select the “View Output” icon to see your results. The newer
Understanding the AMOS Program 59
version of AMOS will allow the text output to automatically appear after running an
analysis. In the Interface Properties option , there is a tab at the top of the pop-up
window called “More”. Clicking on this tab, you will see an option titled “Automatically
show text output”. Clicking this option will allow you to automatically see the output of
an analysis without having to select the “View Output” icon.
Draw a Covariance
Select One Object at Time
View a larger area of the model Creates standard rectangles and ovals
View a smaller area of the model Data Recode function (lets you recode
categorical data into numerical data)
Understanding the AMOS Program 61
treat all unobserved variables as exogenous or independent variables. Thus, you will draw a
covariance double headed arrow between each unobservable construct in a CFA. If you don’t
do this, AMOS will give you an error message stating that a covariance should be drawn
between all unobserved constructs in your CFA.
As an example, let’s use our Customer Delight construct mentioned earlier, and now let’s
include another construct of how likely a consumer is to spread positive word of mouth about
an experience. The diagram of this simple CFA would look like this:
Covariance
Customer
Posive Word
Delight Unobservable
of Mouth Variable
1 1
Indicators
Delight1 Delight2 Delight3 WOM1 WOM2 WOM3
Error Terms
E1 E2 E3 E4 E5 E6
A word of caution: do not use “E” and a number for an unobserved or observed variable
name. The letter “E” is reserved for an error term.
uses a covariance matrix and is more adept at handling comparisons across samples. An EFA will
also consider data rotation that is often done to achieve a better loading of indicators on a con-
struct or sometimes a reduction of cross loading with other constructs. A CFA does not worry
about rotation because you are denoting the specific items that are loading on a construct. For
a graphic representation of EFA versus CFA, see Figure 4.2.
EFA
Customer Posive Word of
Delight Mouth
then your indicator is providing value in explaining the unobserved construct. If you are not
explaining at least half of the variance, that indicator is contributing little to the understand-
ing of the unobservable construct. Once we have determined the standardized value for each
factor loading, we can also determine the measurement error for each indicator. The measure-
ment error for each indicator is simply 1 − R2. Thus, the lower the explained variance is in an
indicator, the higher the measurement error.
the better the model fit. You are penalized for having a complex model. Second, chi-square
is very sensitive to sample size. In very large samples, even tiny differences between the
observed model and the perfect fit model may be found. A better option with chi-square
is to use a “relative chi-square” test, which is the chi-square value divided by the degrees of
freedom, thus making it less dependent on sample size. Kline (2011) states that a relative
chi-square test with a value under 3 is considered acceptable fit. I have seen some research-
ers say that values as high as 5 are okay (Schumacker and Lomax 2004). Conversely, some
researchers state that a value less than 1 is considered “overfitting” and a sign of poor fit
(Byrne 1989). Ultimately, reporting chi-square and the degrees of freedom is always advis-
able when presenting model fit statistics.
Comparative Statistics: these type of model fit statistics (also called an incremental fit statis-
tics) compare competing models to determine which provides a better fit.
Null Model: many of the fit indices require a test (comparison) to be done against a “null
model”. The default “null model” in AMOS allows the correlations among observed variables
to be constrained to 0 (implying that the latent variables are also uncorrelated).The means and
variances of the measured variables are also unconstrained.
Comparative Fit Index (CFI): this test compares the covariance matrix predicted by your
model to the observed covariance matrix of the null model. CFI varies from 0 to 1. A CFI
value close to 1 indicates a good fit. The cutoff for an acceptable fit for a CFI value is > .90
(Bentler and Bonett 1980)—indicating that 90% of the covariation in the data can be repro-
duced by your model. CFI is not affected by sample size and is a recommend fit statistic to
report.
Incremental Fit Index (IFI): this is calculated by (chi-square for the null model − chi-square
for your model)/(chi-square for the null model − degrees of freedom for your model). IFI
should be .90 or higher to have an acceptable fit. IFI is relatively independent to sample size
and is one that is frequently reported.
Normed Fit Index (NFI): this is calculated by (chi-square for the null model − chi-square for
your model)/(chi-square for the null model). An NFI statistic equal to .50 means your model
improves fit by 50% compared to the null model. An acceptable fit is above .90 or above. Note
that NFI may underestimate fit for small samples and does not reflect parsimony (the more
parameters in the model, the larger the NFI).
Tucker Lewis Index (TLI): this fit index is also called the Non-Normed Fit Index. It is cal-
culated by (chi-square for the null model − chi-square for your model)/(chi-square for the
null model/degrees of freedom for your model − 1). As with the other fit indices, above .90
equals an acceptable fit.
Relative Fit Index (RFI): this is calculated by (chi-square for your model/degrees of freedom
for your model)/(chi-square for the null model/degrees of freedom for your model). RFI
close to 1 indicates a good fit. Acceptable fit is .90 and above.
Root Mean Square Error of Approximation (RMSEA): This is a “badness of fit” test where
values close to “0” equal the best fit. A good model fit is present if RMSEA is below .05.
There is an adequate fit if it is .08 and below—values over .10 denote a poor fit (MacCal-
lum et al. 1996). AMOS will also give you a 90% confidence interval of the RMSEA value.
Instead of just examining a single estimate, examining confidence intervals will provide
Measurement Model Analysis 67
more information on the acceptability of the model to the data. If your RMSEA value is .06,
this value initially appears to be an adequate fitting model. If you examine the confidence
intervals and see that the lower bound is .04 and the upper bound is .16, then you can see
that the fit is not as good as you once thought when simply viewing only the RMSEA value.
This wide range in the confidence interval lets you know that the initial estimate may not
be a very accurate determination of model fit. Conversely, if the confidence interval is small
around your initial estimate, then you can conclude that the RMSEA value is quite precise
in regard to model fit.
Unlike some of the other model fit assessments, the RMSEA test does not compare against
the null model but is calculated by:
X 2 − df
df ( N − 1)
Standardized Root Mean Square Residual (SRMR): this is the average difference between
the predicted and observed covariances in the model based on standardized residuals.
Like RMSEA, this is a badness of fit test in which the bigger the value, the worse the fit.
A SRMR of .05 and below is considered a good fit and a fit of .05 to .09 is considered
an adequate fit (MacCallum et al. 1996). This fit statistic has to be specially requested in
AMOS compared to other fit statistics that are presented in the analysis. To request this in
AMOS, you need to select the “Plugin” tab at the top menu screen and then select “Stand-
ard RMR”.
Goodness-of-Fit Index and Adjusted Goodness-of-Fit Index (GFI/AGFI): not to be confused
with the other indices that examine the “goodness of fit” of a model to the data, this index
with the name of goodness-of-fit index and adjusted goodness-of-fit index were initially
created as another option to understand the proportion of variance being captured in
the estimated covariance matrix. While this index was quite popular in its infancy, it was
shown to be problematic because of its sensitivity to sample size (Sharma et al. 2005). As
well, these indices were not very responsive to identifying misspecified models. Thus,
the growing consensus was that these specific indices needed to be avoided (Hu and
Bentler 1999).
provides guidance on what is an “acceptable” model fit to the data. Even if a researcher exceeds
the .90 threshold for a model fit index, one should use caution in stating a model is a “good”
fit. Kline (2011) notes that even if a model is deemed to have a passable model fit, it does not
mean that it is correctly specified. A so-called “good-fitting” model can still poorly explain the
relationships in a model.
Let me be clear: model fit indices have value, and it is still an important step in the analysis.
If you can pass the initial step of assessing if the observed covariance matrix and estimated
covariance matrix are similar, then you have initial evidence that the model is appropriately
specified. Again, it should be a first step in making that determination based on not only model
fit but also the parameters and relationships that need to be estimated.
Modification Indices
Modification indices are part of the analysis that suggest model alterations to achieve a better
fit to the data. Making changes via modification indices should be done very carefully and have
justification. Blindly using the modification indices to achieve a better model fit can capitalize
on chance and result in model adjustments that make no sense.With a large sample size, even a
small discrepancy can trigger a modification indices flag. With modification indices, improve-
ment in fit is measured by the reduction of chi-square. In AMOS, modification indices are
concerned with adding additional covariances within a construct’s indicators or relationship
paths between constructs. Note that the modification indices option in AMOS will not run if
you have missing data.
In the output of the modification indices, AMOS will list potential changes by add-
ing covariances between error terms and also presenting possible relationships between
constructs (listed as regression weights). In a CFA, we are concerned only with covari-
ances between error terms. All other modification indices for a CFA are inappropriate.
The modification indices will have an initial column that simply says “MI”, which stands for
modification indices threshold. This value presented under the MI heading is the reduc-
tion of the chi-square value by adding an additional covariance. A modification indices
threshold value needs to be at least be 3.84 to show a significant difference. If you look at
a chi-square difference table (see the Appendix), a reduction of one degree of freedom by
adding a covariance will require a change in a chi-square value of 3.84 to be significant on
the .05 level. In AMOS, the default threshold is a value of 4 where any potential modifica-
tion below this value is not presented. The next column in the modification indices output
is “Par change”. This column is the estimated change in the new parameter added when the
model is altered.
As stated, with a CFA, you are concerned only with modification indices related to the
covariances, but to clarify this, covariances of indicators within a construct. It is inappropriate to
covary indicators across constructs even though the modification indices will suggest it. Below
are some suggestions of “dos and don’ts” with modification indices using our previous example
of Customer Delight and Positive Word of Mouth.
Customer Posive Word
Delight of Mouth Example 1:
Unacceptable – You
should never covary
Delight1 Delight2 Delight3 WOM1 WOM2 WOM3
error terms across
constructs.
E1 E2 E3 E4 E5 E6
Example 2:
Customer Posive Word
Delight of Mouth Unacceptable – You
should never covary
error terms with
the unobservable
Delight1 Delight2 Delight3 WOM1 WOM2 WOM3
construct. This an
impermissible
modificaon.
E1 E2 E3 E4 E5 E6
Acceptable – You
may add
Delight1 Delight2 Delight3 WOM1 WOM2 WOM3 covariances
between error
terms within the
E1 E2 E3 E4 E5 E6
same construct.
In instances where an unobserved variable has multiple indicators, you might want to
correlate the error terms if it is theoretically justifiable and helps to explain the variance
within the construct. This is often done when the error of one indicator helps in know-
ing the error associated with another indicator. Frequently, indicators within a construct
are very similar to one another and there is redundancy between the indicators.
How big does the modification indices value need to be to add another covariance?
I rarely consider any valid modification suggestion if the chi-square value is not chang-
ing by at least 10. A chi-square value of 10 at the expense of one degree of freedom is
almost significant at a .001 level. Saying that, I do not always covary error terms even
when a modification suggestion is over 10. I look for instances where the change is
extreme. It is not uncommon to have a modification suggestion greater than 20 in large
models.You want to explore what modifications will actually make an impact in regards
to your model. A modification suggestion with a chi-square change of 7 will probably
show relatively little influence or change in the model itself. Correlating error terms
can strengthen factor loadings within a construct, and in rare cases I have seen it actually
lower factor loadings. Ultimately, correlating an error term is about explaining com-
mon variance across indicators instead of treating them as independents which could
hurt your overall model fit.
If you have multiple error terms within a construct that are showing high modifi-
cation indices levels, then you have cause for concern. This is a sign that you are not
capturing different parts of the unobservable construct. The unexplained error in the
construct is very similar across the indicators. This could be a sign that your indicators
are extremely redundant and you are not really asking different questions.You may find
that model fit is substantially increased when you correlate multiple error terms within
a construct, but you are also raising other concerns that your indicators are lacking in
regards to capturing the unobservable. An equal concern for multiple high modification
indices within a construct is the possibility that this shared unexplained error is the
result of a method bias in how the data was collected.
Some researchers from a traditional perspective think that you should not corre-
late error terms even within the construct (Gerbing and Anderson 1984). The rationale
is that the need for a covariance between error terms suggests there is an unknown
common source or construct that is the result of this common unexplained variance.
Potential remedies instead of correlating error terms were to include an “unknown”
factor into the model, which ultimately was equally problematic. In my opinion, the
idea that you should never correlate error terms is too restrictive. Complex models and
constructs with numerous indicators are inevitably going to have error terms that are
eligible to be correlated. Before correlating an error term, you need to assess if this high
modification index is a result of redundancy in your indicators or if you have a poten-
tially larger problem of a missing influence or a method bias.
Measurement Model Analysis 71
The construct of Adaptive Behavior has 5 indicators, and the other two constructs have 3
indicators each. Once I have collected and screened my data, I am ready to perform a CFA.
The first thing you need to do is to read in your data file to AMOS (I have listed the data file as
Customer Delight Data).You need to select the “Data Files” icon. The following window
will appear:
Click on “File Name”, find your data file, and then hit OK.You should also see the number
of responses in the data file (N). Next, you need to click the variable icon:
72 Measurement Model Analysis
Variable Icon
You will then draw out your unobservable variables along with denoting the indicators for
each construct. Remember, the “Draw Latent Variable” icon is the easiest way to do this .
After selecting this icon, drag your circle (indicating the unobservable) to the desired size,
then click in the circle to add the number of indicators. If you click in the circle three times,
it will add three indicators. If you forget to add enough indicators, no problem; just make
sure the “Draw Latent Variable” icon is selected and then click in the circle again to add
another indicator. Once you form the unobserved variable and indicators, you will then drag
in from the variable window your measured items to the indicator boxes for the specific
construct.You will also need to label your unobserved constructs.You can let AMOS do it for
you, but I do not suggest this. To label the unobserved construct, you need to right-click on
the unobserved variable you want to label. Next, you need to select “Object Properties” (you
can also double click into a variable and it will bring up object properties). In the variable
Measurement Model Analysis 73
name section, you will label your construct. Please note that all variable names for your
constructs and indicators must be unique.You cannot have the same name for multiple things
in your model, or AMOS will not be able to clearly run the analysis and will ultimately give
you an error message.You cannot have spaces between words in a variable name; AMOS will
recognize the space as an illegal character and stop the analysis. I typically use the underscore
character to denote a space between words. After dragging in your indicators from the vari-
able view and labeling your unobserved constructs, you might need to select the “Change
Shape” icon . This will let you change the size of your circles or squares of your variables
to see the full name of each one listed. You will also notice that with each indicator added,
AMOS will automatically include an error term for that indicator. Every error term has to
be labeled as well. This can be a painstaking process if you have a lot of indicators. As noted
in the “Tips” section in Chapter 3, AMOS has a function that will label all the error terms
for you.
A few things need to be addressed about AMOS before we move on. First, you will notice
that AMOS automatically sets the metric with one of your indicators (constrained to 1.0),
so that you do not have to do that. If you decide for whatever reason to delete that indicator,
you will need to set the metric on another indicator. This can be done by double clicking on
another indicator arrow which will bring up the “Object Properties window”. You will then
need to select the “Parameters” tab at the top of the pop-up window, and then place a “1” in
the “Regression Weight” field. Second, all unobserved constructs in a CFA are considered
74 Measurement Model Analysis
independent constructs, which means a covariance needs to be added between every con-
struct. In small models with a few constructs, it is just easier to select the “Draw Covari-
ance” button and connect the constructs one at a time. If you have a very large number
of constructs, then see the “Tips” section in Chapter 3 on how to covary multiple independent
constructs at once. Lastly, AMOS will require you to save and label the project you are work-
ing on before an analysis will take place.You would be well served to save your file names that
list the specific analysis and subject of the project.
To see the completed graphical diagram of the CFA for our three construct model, see
Figure 4.7.
Before you run the CFA analysis, you need to select the “Analysis Properties” icon .
This will start a pop-up window that will ask how much detail you want in the output of the
analysis. Go to the “Output” tab at the top of the pop-up window, which will give all the pos-
sible options. I prefer to select “Minimization History, Standardized Estimates, and Square
Multiple Correlations”.You can also select “Modification Indices” and even change the thresh-
old for how big a modification index needs to be in order to be visible. Other analysis options
provide more information in the output, but I find that these options are all you really need
for a simple CFA.
Measurement Model Analysis 75
Analysis Properes
opons that are
desirable for a
confirmatory factor
analysis.
After selecting these options, cancel out of this window and then hit the “Run Analysis” but-
ton . Once the analysis is complete, you will see either an “OK” or “XX” in the “models”
window. An “OK” means the model ran to completion; a “XX” means there is an error and the
analysis did not finish. If an analysis is completed, you will also see the chi-square and degrees
of freedom listed in the “Computational Summary” window.
“Models” window
denong “OK” or that
the analysis finished.
“Computaonal
Summary” Window
lisng chi-square and
degrees of freedom.
Let’s now take a look at the output. To get to the output results, you need to hit the “View
Text” button. This icon looks similar to the data file icon; make sure you choose the right
one. Once selected, the output will come up in a separate window. You can see on the left-
hand side links to different output results. The first link is “Analysis Summary”, and this just
gives the time and date of analysis (not that useful). The next link is “Notes for Group”. This
link will state your sample size and if the model is recursive or non-recursive. In a CFA, you
should never have a non-recursive model. More information on what a non-recursive model
is appears on page 310.
The next tab is “Variable Summary”. An example of the output is provided in Figure 4.12.
This is a breakdown of your model that lists each variable and if it is an independent or depend-
ent variable. You will see that all unobserved latent variables and all error terms in the CFA
analysis are listed as independents and all indicators are listed as dependent variables.
The next link is “Parameter Summary”. This is a detailed breakdown of all the parameters
in your model.
78 Measurement Model Analysis
Next is the “Notes for Model” link; this will list your degrees of freedom in your model
along with the chi-square test. The Notes for Model output will also be where AMOS presents
error messages if your model does not run to completion.
The next tab is the “Estimates” tab. This tab is where a lot of the information you need will
be located. In the Estimates tab, you will find the unstandardized and standardized regres-
sion weights (for a CFA, these are referred to as factor loadings). The first regression weights
presented are the unstandardized regression weights. Next, you will see the column “S.E.”,
which stands for Standard Error.The next column is the critical ratio (C.R.); this is the t-value
to determine significance. The next column is the p-value. If the p-value is under .001, it will
just be listed as stars. Right under the unstandardized regression weights is the standardized
regression weights.You will notice that it does not include C.R. or p-values. These values are
the same as the unstandardized values above. Normally, in a CFA, you present standardized
regression weights (factor loadings) along with the t-values for each. You need to pay close
attention that you choose the corresponding t-value from the unstandardized regression
Measurement Model Analysis 79
output when presenting the standardized factor loadings and t-values. After the standardized
weights, the “Estimates” tab will provide information on your covariances and correlations.
These values can help determine if you have a possible multicollinearity issue. At the bottom
of the page will be the squared multiple correlations (R2). If you remember from earlier, this
is nothing more than a standardized regression weight that is squared. For a full example of
the “Estimates” output, see Figure 4.15.
Unstandardized
Esmates with t-values
(C.R.) and p-values.
Standardized regression
weights. No significance
level is presented
because it is the same
as the unstandardized
regression weights.
Covariances and
Correlaons between
constructs.
R2 values for
each indicator.
The next tab I want to discuss is the “Model Fit” tab. This tab provides you with a list of vari-
ous model fit indices. On the first line, you will see NPAR, which stands for number of param-
eters.The next column, CMIN, is your chi-square value, while DF is the degrees of freedom in
the model and P is the p-value for a chi-square test. The last column, CMIN/DF, is the relative
chi-square test or, specifically, chi-square divided by the number of degrees of freedom. In this
tab, your model will be listed as the “Default” model. AMOS gives you an overabundance of fit
tests, but I will highlight here the ones I think are most relevant.
Chi-Square Test
Comparave fit
indices: CFI, TLI,
NFI, and IFI
Root Mean
Square Error of
Approximaon
(RMSEA)
Below the Estimates tab in the output is the “Modification Indices” tab (you will see this tab
only if you requested this in the Analysis Properties Window). The values listed are modifica-
tions for possible covariances and also modifications if a regression weight (path) was added.
With the covariances data, the M.I. value is how much the chi-square value would decrease if
you added the covariance. The second column “Par Change” is how much a parameter would
change if this covariance was added. See Figure 4.17.
The last links to be discussed in the output are “Execution Time” and “Minimization His-
tory”. The execution time tab tells you how long the analysis took, which is not that useful. The
minimization history tab tells you how many iterations were needed for the analysis to come to
completion. Neither of these links is especially pertinent when it comes to reporting results.
Overall, if we look at the results from the CFA, we can be encouraged that each unob-
servable construct is being reflected in its indicators. From the “Estimates” tab, we can
see that all of our indicators significantly loaded on the specified unobservable construct.
All loadings were also at an acceptable level (> .70), which denotes that each indicator
is explaining an acceptable amount of the variance. From the “Model Fit” output, we can
see that the relative chi-square fit test is just above 1.0, which means an acceptable fit is
achieved. As well, the comparative fit indices of CFI, TLI, and IFI are all above .90, further
supporting the fit of the model to the data. Lastly, our RMSEA value is .03, providing
additional support that the model “fits” the data. From this CFA, there is evidence that our
indicators are measuring their intended concept.
82 Measurement Model Analysis
Standardized Residuals
Along with modification indices, AMOS also provides a test of model misspecification through
standardized residuals. The standardized residuals are the difference between the observed
covariance matrix and the estimated covariance matrix for each pair of observed variables.
You will specifically need to request for this information to be presented in the analysis of
a SEM model. In the Analysis Properties Window, you will see a tab called “Output” and at
the bottom of the window is a checkbox option for “Residual Moments”. You will need to
select this box to see the Standardized Residuals in the analysis. After running the analysis,
you will need to go into the output under the Estimates link and then select the Matrices
option. AMOS will provide you with the unstandardized and standardized residuals, but only
the standardized residuals need to be examined. Because the data is standardized, the unit of
measurement is transformed to allow for easier comparison. If a residual value exceeds 2.58,
then the residual of the observed and estimated covariance matrix is determined to be large
(Joreskog and Sorbom 1988) and a sign of possible model misspecification. In the example
output (see Figure 4.18), you can see that the biggest residual is 1.199, the difference of
delight3 and adapt4. These indicators are across constructs, so no adjustment would be made
in this instance. If the high residual value was within construct, then you would consider add-
ing a covariance between the constructs’ error terms.
With all the AVEs for each construct having a value greater than .50, there is support that
there is convergent validity for the indicators of each unobservable variable. After assessing
convergent validity, let’s now investigate the discriminant validity of the constructs. The first
thing we need to do is create a composite score for each construct. We will do this in the SPSS
data file.
84 Measurement Model Analysis
In SPSS, you need to go to the “Transform” menu at the top and then select “Compute Vari-
able”. Let’s start by computing the composite variable for Adaptive Behavior. The first thing
you need to do is create a new name for the composite variable. I have called the new variable
“comp_adapt”, which denotes composite variable of the Adaptive Behavior construct. Next,
you need to go to the “Numeric Expression” box, where you will input the formula desired.
We want to initially sum all the adapt (1–5) indicators. You can select an indicator and then
use the arrow key to insert that variable name in the numeric expression window. This just
keeps you from having to type in all the names manually. Once you have denoted that all adapt
indicators should be summed (make sure to put a parenthesis around the summation), then
you need to divide by the total number of indicators. Once you hit the “OK” button at the bot-
tom, SPSS will form the composite variable in the last column of your data file.You will need
to repeat these steps for all the other constructs so we can perform a correlation analysis with
all the composite variables that are formed.
Formula
Field
Arrow to insert
indicators in the
formula field.
Adaptive Behavior 1
Customer Delight .65 1
Positive WOM .34 .44 1
To determine the shared variance between each construct, you will square the correlations
and compare them to the AVE values for each construct. Let’s examine the discriminant validity
of Adaptive Behavior. The shared variance between Adaptive Behavior and Customer Delight is
(.65)2 = .42, which is far lower than the AVE for Adaptive Behavior (.78) or Customer Delight
(.75). Thus, there is evidence that these constructs discriminate from one another. Similarly, the
shared variance between Adaptive Behavior and Positive Word of Mouth (.34)2 = .11 is lower
than the AVE values for either construct.You will need to examine every correlation and perform
this comparison of shared variance to AVE to determine if you have any discriminant validity
problems in your model. With our current example, all AVE values exceed the shared variance
between constructs, thus supporting the discriminant validity of our constructs in the model.
1 Ki Kj 2 K i −1 K i
2
K j −1 K j 2
HTMT ij = ∑ ∑ rig , jh ÷ � ∑ r �
∑ ig,ih K K −1 ∑ � r
∑ jg, jh
K i K j g =1 h =1 K i ( K i − 1) g =1 h = g +1 j (j )
g =1 h = g +1
If you were like me the first time I saw that formula, you are thinking, “What in the world
does all this mean?” While the formula might look a little scary, when you break it down into
its parts, it is pretty simple. So, let’s take this formula and put it into layman’s terms using an
example. Let’s say we wanted to determine if there was any discriminant validity problems
between our constructs of Adaptive Behavior and Positive Word of Mouth. The first thing we
need to assess is the value for the average heterotrait correlations. This value is the average
of all the correlations across indicators of Adaptive Behavior and Positive Word of Mouth.
Next, we need to determine the average monotrait correlation value.You will have an average
86 Measurement Model Analysis
monotrait correlation value for each of your constructs. This is the average of the correlations
of indicators within a construct. So, let’s look at our formula again in a simplified form.
HTMT Formula:
Average of the indicator correlations across Adaptive Behavior and Positive WOM
AverageCorrelation
within Adaptive Behavior indicators * AverageCorrelation
within PositiveW
W
OM indicators
Let’s look at the correlation matrix of the two construct’s indicators to help clarify the issue.
(Correla on Matrix)
Heterotrait Correlations:
.31 + .32 + .29 + .34 + .30 + .26 + .28 + .24 + .30 + .27 + .25 + .28 + .24 + .29 +
.27 = 4.24/15
Average Heterotrait correlation = .282
Monotrait Correlations:
Adaptive Behavior = .82 + .78 + .78 + .77 + .81 + .78 + .81 + .77 + .73 + .77 = 7.82/10
Average monotrait correlation for Adaptive Behavior = .782
The HTMT value across the Adaptive Behavior and Positive Word of Mouth constructs is .365.
Kline (2011) states that if a HTMT value is greater than .85, then you have discriminant
validity problems. Values under .85 indicate that discriminant validity is established and the
two constructs are distinctively different from one another. In our example, we can conclude
that discriminant validity has been established across the constructs of Adaptive Behavior and
Measurement Model Analysis 87
Positive Word of Mouth. If you had other constructs in your model, you would need to get
an HTMT value for each pair of constructs to show discriminant validity across your model.
I would love to tell you that AMOS has an easy function to handle HTMT, but right now it
does not. Hand calculating HTMT is a little tedious, and there are other options. You can get
your correlation matrix and import it into an Excel spreadsheet and then highlight the cells
you need to average.This is a little quicker than doing it by hand.There is also a plugin, created
for AMOS by James Gaskin, that will calculate all the HTMT values in a model. That plugin
can be found at http://statwiki.kolobkreations.com/index.php?title=Main_Page. There is a
growing trend to use the HTMT method to assess discriminant validity because it is purported
to be the best balance between high detection and low false positive rates in determining the
discriminant validity of a construct (Voorhees et al. 2016).
2009). This reliability test is calculated based on the factor loadings of indicators obtained
from a confirmatory factor analysis. The only downside to this test is that AMOS does not
calculate composite reliability and so you have to calculate it by hand (or, if you are savvy
enough, design a script to calculate it). To calculate composite reliability, you need the
standardized factor loadings of each construct. Here is how to calculate a composite reli-
ability for each construct:
An indicator’s measurement error is calculated by taking 1 minus the R2 value for an indicator
of a construct (this is the variance you are not explaining).
The composite reliability for the Adaptive Behavior construct is .94. You may notice that the
composite reliability technique and Cronbach’s alpha will produce slightly different values.
Though Cronbach’s alpha may the easiest and most widely used analysis for reliability, I find
composite reliability to be a better representation of the reliability of indicators when the
measurement model is included as well.
indicators the same term (Like an “A”). By labeling all of the paths to the indicators the same
name, it will constrain all the paths to be equal. So, the unstandardized estimates will all be the
same using this technique, but the standardized estimates will reflect the difference in the indica-
tors. This is not an ideal method to address a Heywood case, but it is an option if all else fails.
Note: you can have unstandardized loadings greater than 1 and it is perfectly acceptable.
Example 4.1:
Example 4.2:
Table 4.1 Confirmatory Factor and Reliability Analysis
best represent the data for both groups. To accomplish this, you need to set up a two group
analysis, which will examine if model fit is established across the groups. If strong model fit is
present across both groups, then you can say with confidence that the data is invariant across
the groups from a configural or structural perspective.
Let’s look at how to set up a multi-group analysis and test for configural invariance. Refer-
ring back to our original example, we now want to see if first-time customers are different
from repeat customers. The first step is to go to the “Groups” area in AMOS. If no groups are
specified, AMOS will default to one group and call it “Group number 1”. You will need to
double click into “Group number 1” to bring up the “Manage Groups” window.
(You can also access the “Manage Groups” window by going to the “Analyze” menu at the
top of AMOS and then select Manage Groups). In the Manage Groups window, change the
name of the group to whatever you desire. I am calling the first group “First_Time” to rep-
resent the first-time customers. To create a second group, you need to hit the “New” button
on the bottom of the Manage Groups window. This will form a new group (AMOS will call it
Group 2 by default) and you should change the name to represent the second group. I’ll call
the second group “Repeat”. After forming the groups, you need to tell AMOS where the data
is for each group. Select the data file icon and then select the first group “First_Time”.
Next, you can click the file name button and read the data file in for the first group. If the
data for the second group is in a separate file, then you will click the second group “Repeat”
and perform the same process of reading the data file into the group. If the groups are in the
same data file, you will read in the same data file for each group, then you will need to hit
the “Grouping Variable” button. This will ask what variable name the group distinction is in
your data. Next, you need to click the “Group Value” button, and this is where you can note
which value corresponds to which group. For instance, I have a column in the “Customer
Delight Data” called “experience” which lists if the customer was a first-time or repeat cus-
tomer. Customers who are new customers are listed as a “2” and customers who are repeat
customers are a “1”.
After reading in the data for each group, you will need to uniquely label every parameter in
your CFA for each group.You can imagine what a pain this would be to do this individually, but
AMOS has a function that will do it for you. Hit the button (Multiple Group Analysis).
Once you select this button, the following pop-up window will appear (See Figure 4.24).You
can go ahead and hit “OK”. It is just stating that it is going to label every parameter and suggest
potential model comparisons across the groups.
Measurement Model Analysis 93
The next window that will appear is the multiple group “Models” window. Since you just
requested both groups’ parameters to be labeled, AMOS will provide an unconstrained model
where no parameters are constrained across the groups. It will also provide you with up to
8 constrained models. The first one is a measurement weights comparison where AMOS will
constrain the measurement weights (factor loadings) for each group to be equal. Subsequent
models can constrain structural weights, covariances, and errors. In a measurement model
invariance test of a CFA, AMOS will propose three constrained models. I usually just hit “OK”
here and let AMOS give me the models whether I will specifically use them or not.You do have
the option of unchecking the boxes for a specific model if you do not want to see a specific
aspect of the model constrained.
After hitting “OK” you can go back to the main window and see on the left-hand side your
groups (First_Time and Repeat). Right below that will be the unconstrained model along with
all the constrained models. See Figure 4.26 for an example of what your model should look
94 Measurement Model Analysis
like for running the analysis. Note, if you ask AMOS to label all your parameters, it will use
the letter “a” for factor loadings, “v” for error terms, and “ccc” for covariances.
In the “Groups”
window you can
see both groups.
You can select
each one to
see the specifics
of the group.
Unconstrained
and Constrained
Models
You can see where AMOS has uniquely labeled the factor loading from
Customer Delight to delight2 as “a1_1” for the First_Time Group and “a1_2”
for Repeat group. Your first denoted group will have all parameters listed as an
_1 and your second group is listed as an _2.
After labeling your groups and setting up your models, click the run analysis button
and then let’s look at the output.
Inially, we are tesng
only configural invariance
which is tesng the
unconstrained model
across groups. You need
to go to the “Model Fit”
link on the le-hand
column. Here is an
example of the output.
With configural
invariance, we are trying
to see if the factor
structure is a good fit for
both groups. You want to
look at the model fit
stascs for the
unconstrained model.
Based on these results,
the unconstrained model
has a good fit. This tells
us that the exisng factor
structure is a good fit for
each group. We can now
move on to our next test.
The next model you want to assess is the metric invariance. (This is usually what most review-
ers are concerned with in assessing invariance between groups.) Metric invariance establishes
the equivalence of the basic “meaning” of the construct via the factor loadings across the
groups. In essence, are your indicators measuring the same thing across the groups? With this
multi-group analysis, you will constrain the factor loadings for each group to be equal. You
will then look at the change in chi-square (from the unconstrained model) to the constrained
model of factor loadings across the groups to see if there is a significant difference. If it is
significant, then the meaning of your unobservable constructs is different across groups (You
want non-significance here.) On the upside, once you have tested the configural invariance, it
is a pretty easy process to find the metric invariance. Going back to the main graphics page in
AMOS, we have already set up the two group analysis. We have also requested a constrained
model where the factor loadings are constrained across the groups. In the model window, you
will see it listed as “Measurement weights”.
Let’s run the analysis again and return to the output. To assess metric invariance,
you need to go to the “Model Comparison” link on the left-hand side of the output. The
model comparison output compares the unconstrained model to all the constrained models
Measurement Model Analysis 97
you requested. For the metric invariance test, we are concerned only about the difference
between the unconstrained and constrained measurement weights model.You can see below
that once we constrained the 8 factor loadings across the groups and compared it to the
unconstrained model, there was a non-significant difference in the chi-square value. Just to
clarify, we had 11 total factor loadings but 3 are constrained to 1 in order to set the metric.
Thus, only 8 factor loadings are freely estimated.
For many research studies, this is as far as you need to go. In some instances, further invari-
ance testing is beneficial. There are three more potential tests for invariance that build off the
98 Measurement Model Analysis
metric invariance test. With each test, more and more constraints are added to the constraint
model. These tests are run the same way as the metric invariance test, except they are listed
as different models in AMOS.
1. Scalar invariance—this is where you constrain factor loadings and measurement intercepts
(means) and compare this to the unconstrained model. In AMOS, that constrained model
is called “Measurement intercepts”.
2. Factor variance invariance—this test constrains factor loadings, covariances, and vari-
ances of the constructs across groups. This constrained model is called “Structural
covariance”.
3. Error variance invariance—this is the most restrictive model; it constrains factor loadings,
covariance, variances in the construct, and also error terms of indicators. In AMOS, this
is referred to as the “Measurement Residuals” model comparison. It is highly unlikely to
get a non-significant finding with this test especially if you have a lot of indicators in your
model.
Again, with any of these tests, you are trying to determine if a significant chi-square difference
exists between the unconstrained and constrained models. The goal is to have a non-significant
finding, noting that the measurement properties do not differ across the groups.
Let’s say in our example, we think there is an invariance problem with the PositiveWord of Mouth
construct. The first thing I want to do is create a new constrained model in AMOS that will allow
me to constrain only one factor loading at a time. First, let’s go to the models window in AMOS and
double click on the “Unconstrained” model.This will bring up the “Manage Models” pop-up window.
I want to select the “New” button at the bottom to form a new model. A new window will pop up
where you need to label the model. I like to call the new model simply “Constrain 1”.The first indi-
cator in Word of Mouth (WOM1) is constrained to 1 to set the metric, so this item will not help us.
The second indicator (WOM2) is labeled a3_1 (or a3_2 for second group). I want to constrain just
this indicator to be equal across the groups and to see if there is a significant chi-square difference just
for this one factor loading. In the pop-up window, I denote that a3_1 = a3_2. (If you double click
on the variables on the left-hand side, it will pull the variable over to the parameter constraint field
without having to type it in.) After constraining this one factor loading, I hit the “Close” button and
then run the analysis again . Let’s now look at the output in the “Model Comparison” window.
I want to see if indicator “a3” is significantly different across the groups. The results are
non-significant. With one degree of freedom, you will need a chi-square value at least 3.84
to be significant at the .05 level.
Let’s go back to the AMOS graphics screen and double click the “Constrain 1” model in the
models window. This will bring up the pop-up window again. Let’s now look at WOM3 which
is labeled as ‘a4’. Erase all the ‘a3’ constraints from the constraint window and replace it with
‘a4’ constraints. Let’s run the analysis again and go back to the “Model Comparison” window.
We can see that constraining just “a4” across the groups did find a significant difference
(p-value of 0.013).You can now run a partial metric invariance test where you are constrain-
ing the factor loadings to be equal across the groups except for WOM3 (a4), which is now not
constrained across the groups. If you are still not achieving a non-significant invariance test,
you will need to see if other individual factor loadings are significantly different across the
groups.You may have to perform this individual constraint test for multiple constructs if you
are having a problem zeroing in on where the invariance problem lies. As I said, this can be
time consuming and laborious, but it is necessary to achieve partial metric invariance.
Another way to assess exactly where you have an invariance issue in your model is to create
a separate model comparison test for each factor loading. By doing this, you can see where the
potential invariance issues are across the whole model instead of performing multiple tests
one at a time. In our example, we have 8 factor loadings that are constrained to be equal across
the groups (the factor loadings that are set to “1” are excluded). To perform the invariance
test this way, you would need to bring up the Manage Models window, then name the model
comparison “a1 test”, and then constrain the a1_1 parameter to be equal to a1_2 parameter.
You would repeat this process and create 8 new models that would test each factor loading
that is labeled separately.
After running the analysis again, if we go to the results and click on the Model Comparison
link, you will see the individual invariance tests for each factor loading. The test of all 8 factor
loadings are presented at once so you can see exactly where your invariance problems lie in
your model. In this instance, it appears that only a4 (WOM3) has a significant invariance test.
All other factor loadings are invariant across the groups. Again, this is just another option in
invariance testing.You can create one new constrained model and test each factor loading one
by one, or you can create a constrained model for every factor loading at the beginning and
see all the invariance tests at once.
In the event that you cannot achieve even partial metric invariance, you have a serious
measurement problem that will not let you proceed. You will ultimately need to go back to
the data collection phase and determine how you can assess the same construct across differ-
ent groups.
1. Harman’s Single Factor Test—this simplistic test performs an EFA with all the indicators in
your model to determine if one single factor will emerge. If a single factor does appear,
then common method bias is said to be present in the data. You will also see a Harman’s
Measurement Model Analysis 103
single factor test performed with a CFA where all indicators are purposely loaded on one
factor to determine model fit. If you have an acceptable model fit with the one construct
model, then you have a method bias. There is an ongoing debate as to whether Harman’s
single factor test is an appropriate test to determine common method bias. On one side,
researchers have questioned this approach and have concluded that it is insufficient to
determine if common method bias is present (Malhotra et al. 2007; Chang et al. 2010).
Other researchers (Fuller et al. 2016) have argued that if common method bias is strong
enough to actually bias results, then Harman’s single factor test is sensitive enough to
determine if a problem exists. While Harman’s single factor test is easy to implement, it
is a relatively insensitive test to determine common method bias compared to other post-
hoc tests. In my opinion, if you know a test is inferior to others, then there is very little
justification for using this method.
2. Marker-Variable Technique—to use this test, the researcher has to plan ahead in the survey
design phase of your research. This technique requires you to introduce a variable in a
survey that is theoretically unrelated to any other construct in your study. This “mole”
variable is also called the marker variable. CMB is assessed by examining the correlation
between the marker variable and the unrelated variables of your study. Theoretically, the
correlation between your marker variable and the variables of the study should be low.
If the correlations are not low, there is a good chance you are going to have a significant
method bias. To determine if this bias is present, you need to partial out the effect of the
marker variable from all the correlations across constructs. In essence, you are going to
strip out any inflated correlation because of a method bias from your other constructs.
Here is how to obtain the adjusted correlation between constructs with the marker variable’s
influence removed:
RA = Adjusted Correlation
RM = Correlation of Marker Variable
RU = Unadjusted Correlation
RU − RM
RA =
1 − RM
In the past, a researcher would use the lowest correlation of the marker variable and another
construct in the model to be the correlation that needs to be partialed out of all other cor-
relations. Lindell and Whitney (2001) state you should use the second smallest correlation of
your marker variable and a variable in your study so that you do not capitalize on chance. They
make the argument that it provides a more conservative estimate.
Let’s look at an example to add more context to this discussion. Using our CFA example
from before, I have initially formed composite variables for each construct in the model, and
I have also included a marker variable. The marker variable was a construct called Price Con-
sciousness, which is how price sensitive a customer is. This unrelated construct should have a
low correlation to the other constructs of the model. Next, I am going to perform a correla-
tion analysis with those variables of the model along with the marker variable of price con-
sciousness. Here is an example of the correlation analysis before any adjustments are made.
104 Measurement Model Analysis
Adaptive Behavior 1
Customer Delight .65 1
Positive Word of Mouth .34 .44 1
Price Consciousness (Marker) .04 .05 .07 1
Let’s initially examine the correlation of Adaptive Behavior and Customer Delight. The
unadjusted correlation is .65. The second lowest correlation of Price Consciousness (marker)
to any other construct in the model is .05. Next, let’s get the adjusted correlation for Adaptive
Behavior and Customer Delight.
.65 − .05 .60
= = .63
1 − .05 .95
The adjusted correlation is .63. Since we are parceling out a level of correlation, your adjusted
correlation should be smaller. You will need to find the adjusted correlation for each value in
the correlation analysis for the constructs of your model.
Here is the adjusted correlation for each construct with the marker variable’s influence
removed from the other constructs.
Adaptive Behavior 1
Customer Delight .63 1
Positive Word of Mouth .30 .41 1
Price Consciousness (Marker) .04 .05 .07 1
Once you get the adjusted correlation for every construct of your study, you will then use
this adjusted correlation matrix as your input for your AMOS model. To see how to use a cor-
relation matrix as the input of your model, see Chapter 5.
The downside of using this technique is you are asking an “out of the blue” question in your
survey, which could confuse the respondent. The biggest concern is this technique almost
necessitates that you use composite variables in your analysis. One of the primary strengths
of SEM is to model measurement error. With this technique of using an adjusted correlation
matrix as your input, you are just examining the relationships between composite variables,
which could present a slightly different picture of your results compared to a model that had
all the indicators for each construct included in the analysis.
3. Include a Latent Common Method Factor—the most popular way to handle common method
bias is to include a common method factor in your CFA. A common method factor is a
latent variable that has a direct relationship with each construct’s indicators. The com-
mon method factor will represent and account for variance across constructs (due to the
potential methods bias). You will first model your CFA, then you will include a latent
Measurement Model Analysis 105
After drawing a path from the common method construct to all the indicators, you will
need to constrain all the relationships from the common method factor to be equal. We are
doing this to see what is the common influence across all the indicators. If common method
bias is present, it should affect all the variables of the survey equally. Right click on one of the
relationships (arrows) from the common method construct; the Object Properties window
should appear. Under the Parameters tab at the top, put a letter in the “regression weight” line.
In this example, I labeled the regression weight simply “a”, but you could call it anything you
want. After labeling the parameter, you can cancel out of this screen.
106 Measurement Model Analysis
You can go into each relationship and constrain all the parameters to the letter “a”, but this
might be extremely time consuming if you have a large number of indicators. AMOS has a
function that lets you copy a constraint to other relationships. So, we will copy this constraint
of letter “a” and paste it in all other relationships from the common method construct. To do
this, the first thing you need to do is select all the other relationships from the common method
variable (do not select the one that is already constrained with an “a”). The easiest way to do
this is to use the (select) button and select each relationship.You can also hold down the
left-click button on your mouse and drag over the relationships, and it will also highlight them.
Next, you need to select the “Drag Properties” button . A pop-up window will appear.
Select “Parameter Constraints” in the Drag Properties window. Now, go back to the relation-
ship that has the regression weight labeled “a” and drag the “a” to all the other highlighted
relationships. Make sure the “Drag Properties” pop-up window is active on the screen, or it
will not perform the drag function. The Drag Properties icon is a handy function, especially if
you have a larger number of indicators.
Drag Properes
window—Parameter
Constraints
Figure 4.38 Using the Drag Function to Constrain All the Relationships to “a”
Measurement Model Analysis 107
Next, you will run the analysis for the model . AMOS will initially warn you that your
unobserved variables in the CFA do not have a covariance to the common_method construct.
You do not need to covary your constructs in the model with the common_method construct.
Just hit the “Proceed with the Analysis” button to continue without adding additional covari-
ances. After the analysis finishes, go into the output and go to the model fit link.With the com-
mon method test, we will perform a chi-square difference test to determine if bias is present.
Specifically, you are concerned with the chi-square values of the CFA model. The CFA com-
parison will examine what the chi-square value was for your CFA when the common method
construct was not included, and then a comparison will be made to the chi-square value of the
CFA when the common method construct was included. In the analysis, you should see only
1 degree of freedom difference between the two models. Remember, we constrained all the
relationships in the common method construct model to be equal. Hence, we need to see if
the difference in chi-square is significant which would indicate a common method bias.
indicators and observe which indicator is loading at a high level. This is a good indication of
where the common method bias is coming from that is causing a significant chi-square differ-
ence test between the original CFA and the CFA with a common method variable included.
1 1
Figure 4.42 Example of Second Order Model With Two First Order Dimensions
unusual to have a second order construct made up of multiple first order constructs. Sec-
ond order constructs are sometimes also referred to as higher order constructs. Assessing
the validity of a second order construct will take place in the first order level. For this
example, the constructs of Surprise and Empathy would be included in a CFA to deter-
mine the validity of the indicators to their constructs. Investigating the relationships from
the first order constructs to the second order construct would not take place in a CFA.
This would be assessed in the structural model where the between-construct relationships
are examined.
You cannot create a composite variable of your second order construct. Trying to com-
bine multiple constructs to form a composite variable is inappropriate. You can form
composite variables of the first order constructs and then form relationships to the second
order construct. With second order constructs, the first order constructs are conceptual-
izing the second order concept. Since multiple different constructs are coming together
to define another concept, the idea of reflective and formative indicators needs to be
discussed.
Since formative indicators do not derive their meaning from the unobservable construct
but instead define the unobservable construct, formative measures are not required to be
positively correlated with each other. Thus, it would be perfectly acceptable for forma-
tive indicators of an unobservable construct to be uncorrelated or even negatively cor-
related with another. Nunnally and Bernstein (1994) note that two formative indicators
can be negatively correlated and still serve as meaningful indicators of an unobservable
construct. Thus, it is not necessarily the case that a set of formative indicators has a
similar theme or content (Jarvis et al. 2003). Unlike reflective indicators, each formative
indicator describes a part of the unobserved construct. Thus, formative indicators are not
interchangeable, and dropping a formative indicator from a measurement model specifi-
cation can result in a change in the definition of an unobservable construct. In fact, Bollen
and Lennox (1991) state that “omitting an indicator is omitting a part of the construct”
(p. 308). This emphasizes why the process of defining a construct with a measurement
model composed of formative indicators is such an important process; by doing so, the
researcher is actually describing and specifying what dimensions are forming the latent
construct.
Because the underlying assumptions of a measurement model specified by formative indica-
tors require no correlation among indicators, traditional procedures to assess internal consist-
ency/reliability and construct validity are not appropriate. Bagozzi (1994) notes “reliability
in the internal consistency sense and construct validity in terms of convergent and discrimi-
nant validity are not meaningful when indexes are formed as a linear sum of measurements”
(p. 333). Similarly, Bollen and Lennox (1991) state that since “causal indicators are not invali-
dated by low internal consistency . . . to assess validity we need to examine other variables that
are effects of the latent construct” (p. 312).
Though traditional validity concerns are not relevant for formative indicators, Diaman-
topoulos and Winklhofer (2001) detail four areas of concern with formative indicators
that must be addressed. The first one is content specification. This concern is based around
the idea that you have fully specified all the dimensions that will “form” this construct. The
next area is indicator specification. This concern details that you have included enough
indicators or items in your model to fully capture the particular aspect of the construct.
Next is indicator collinearity: multicollinearity between indicators is problematic with
formative indicators. Excessive collinearity among indicators makes it difficult to separate
the distinct influence of indicators on the unobserved construct. The last concern is exter-
nal validity. A formative indicator model should have the ability to extend into multiple
contexts.
The last distinction between formative and reflective indicators relates to the specification
of error terms. In a reflective measurement model, error terms are associated with each indi-
cator. A formative measurement model, however, must by definition represent error on the
construct level. Thus, error must be assessed for the set of indicators (i.e., the index) rather
than on the individual indicator level. This construct level error evaluation is meant to capture
the missing facets or causes of the construct (Diamantopoulos 2006). Figure 4.43 contains
some examples of formative models.
Example 1
Unique
Experience
E1 E2 E3
E1
Example 2 is a formave first order construct.
You will rarely see a construct like this. A
Example 2
Unique formave construct is oen developed by
Experience numerous different concepts coming together
to “form” a new unobservable construct.
Noce that error is modeled on the
construct level now.
Unique1 Unique2 Unique3
E1 Example 3
Example 3 is the most
Unique
common type of formave
Experience
construct. The first order
constructs are reflecve but
the relaonships from the
Surprise Empathy first order constructs to the
second order construct is
formave.
1 1
Surp1 Surp2 Emp1 Emp2 Emp3
E1
Example 4
Unique Example 4 is a formave first
Experience order and second order
model. This model is not that
common due to the first order
Surprise Empathy formave construct.
Unique1
E1
Reflecve
Unique Construct
Opon 2 Experience
R1 R2 R3
Surprise Empathy
1 1 Reflecve
Construct
Surp1 Surp2 Emp1 Emp2 Emp3
In my opinion, the MIMIC model approach is far superior to the option of achiev-
ing identification through the structural relationships with other reflective constructs.
I have found that the second option of using structural paths for identification will often
wreck your model fit and can have adverse effects on your structural relationships. In
my previous work, I have tested both methods for identification in a model, and the sec-
ond option (structural path for identification) has consistently produced worse results.
Measurement Model Analysis 115
If you know you have a formative construct, ask the two identification questions in your
survey and use the MIMIC model approach. It is not dependent on other constructs and
allows for a cleaner analysis.
Unique
Posive Word
Experience
of Mouth
1
Surprise Empathy W1 W2 W3
1 1
Unique1
E1 1 Unique2
Adapve Unique
Behavior Experience
A1 A2 A3
Surprise Empathy
1 1
The results of the CFA (Figure 4.47) show us that each construct’s indicators load to a
significant degree with all the factor loadings in excess of .70. Further analysis finds that all
reliabilities exceed the recommended cutoff and the AVE for each construct is above .50, indi-
cating convergent validity and no shared variance exceeds the AVE for each construct. Lastly,
the model fit for the CFA is acceptable as well.
Standardized
regression weights
are over .70 and
each item is
significantly loading
on its respecve
factor.
After establishing the validity of the reflective constructs, we can now examine the
higher order relationships along with the structural relationship to Positive Word of
Mouth.
Notice that the two first order constructs have a formative relationship to the higher
order construct of Unique Experience. The higher order construct also has two reflec-
tive indicators (Unique 1 and Unique2) for identification purposes. Since the first order
constructs have a direct influence to the higher order construct of Unique Experience, a
dedicated error term must be included on the higher order construct. In this instance, that
error term is labeled “e14”. AMOS will treat the two first order constructs like independ-
ent variables, so you will need to include a covariance between the first order constructs.
If there are other independent variables in the model, you will need to include a covariance
from the first order constructs to those independent variables as well. One last thing to
pay special attention to is setting the metric with the identification indicators. In one of
the two identification indicators, you will have to constrain the relationship to “1” to set
the metric. In this example, I constrained the relationship to Unique1 to a value of “1”.
Lastly, you will see the structural relationship included from the higher order construct
of Unique Experience to the construct of Positive Word of Mouth. Let’s now look at the
results.
In the Es mates link,
you can see that both
of the first order
dimensions have a
significant rela onship
to the higher order
construct of Unique
Experience. As well,
Unique Experience
has a significant and
posi ve rela onship
to Posi ve Word of
Mouth.
Example 4.3:
Note: Two identification items were included on the higher order construct of Unique Experience.
Both items significantly loaded on the higher order construct with factor loadings greater than .70.
The wording for those items were:
—If I had to sum up my experience, I felt my experience was distinctive (Unique1)
—If I had to sum up my experience, I felt my experience was special (Unique2)
1. The model is unidentified—after running the analysis, this error message will appear in
the “Notes for Model” link of the output.
This unidentified model means you are trying to estimate more parameters than observations.
This can often be caused by including too many relationships or covariances in your model.
Among the more likely reasons for this message is that you failed to set the metric with one of
your items in a construct, or you have deleted an item from a construct and that specific item
was set to “1” to set the metric for the construct. Once you have deleted the item and not set
another indicator to 1, AMOS will give you an unidentified model error message. Another
reason for an unidentified model error could be that you deleted an indicator but failed to
delete the corresponding error term. The error term is essentially a stand-alone construct still
in the model. This will also prompt an unidentified model error message.
2. Not an observed variable message—one of the messages you might receive from AMOS
is that your observed variable cannot be found in the data. In our CFA example, we had
a measurement indicator that was named “delight2”. If I misspelled this name during the
input to “delightt2”, there is no data that matches that exact name. Hence, AMOS will
give you an error message that you have a variable in a square/rectangle and it has no data
associated with that variable name.You can also get the “not an observable variable” mes-
sage if the variable name is correct, but there is no data under that name in the data file.
If the column under that name is blank, you will get this message.
Customer Delight: customer’s profoundly positive emotional state resulting from expecta-
tions being exceeded to a surprising degree. Construct was measured with a 7-point
Likert scale of Strongly Disagree to Strongly Agree.
Positive Word of Mouth: customer’s intention to spread positive information to others about
a previous experience. Construct was measured with a 7-point Likert scale of Strongly
Disagree to Strongly Agree.
Unique Experience: customer’s perception that an experience was distinctive or different
compared to a normal experience with the retailer. Construct is a higher order con-
struct that is measured by the first order dimensions of surprise and empathy.
Surprise: the degree that a customer is astonished by the experience delivered in the ser-
vice/retail setting. Construct was measured with a 7-point Likert scale of Strongly Disa-
gree to Strongly Agree.
Empathy: The level of compassion directed at the customer from the employee in meet-
ing the needs of the customer. Construct was measured with a 7-point Likert scale of
Strongly Disagree to Strongly Agree.
8. In a CFA, the only modification indices that are a concern are the potential error covariances
that can be added within a construct. Error terms should not be covaried across constructs.
9. In the AMOS output, factor loadings and squared multiple correlations (R2) are located under
the “Estimates” link in the output. Model fit statistics have a link simply titled “Model Fit”.
10. Standardized residuals is another analysis that will indicate model misspecification along
with potential error covariances to improve fit.
11. To assess convergent and discriminant validity, the Fornell and Larcker (1981) method
is a good template. Convergent validity is determined by calculating the average vari-
ance extracted for each construct. The average variance extracted should exceed .50 to
support convergent validity claims. Discriminant validity is assessed by determining the
shared variance between constructs. The shared variance between constructs should not
exceed the average variance extracted determined for each construct.
12. The heterotrait-monotrait ratio of correlations (HTMT) is another method to determine
discriminant validity. This method examines the correlations within construct indicators
as well as the correlations of indicators across constructs.
13. Composite reliability is an assessment of internal consistency that is based on the stand-
ardized factor loadings of the CFA. This reliability test does have advantages over other
reliability tests such as Cronbach’s alpha.
14. Standardized factor loadings greater than 1 or error terms that are negative (also known
as a Heywood case) are impermissible solutions.
15. Measurement invariance is often done to assess if differences in the measurement of a con-
struct appear across two different groups. Often, your goal is to show that the measurement
of your constructs is valid across two different groups. Invariance testing frequently takes place
through configural invariance testing, metric invariance testing, and scalar invariance testing.
16. Partial metric invariance is where invariance across the groups is established but not all
indicators are constrained within a construct.
17. Common method bias is where an inflation of estimates takes place because the independ-
ent variables and dependent variables were measured at the same time.
18. Common method bias can be addressed through Harman’s single factor test, the marker
variable technique, and including a latent unmeasured common method factor.
19. A second order or higher order construct is where multiple constructs form the higher
order concept. Formative indicators are required for a higher order construct.
20. Formative constructs often have identification issues that require additional identification
indicators to be included that represent the overall concept of the formative construct.
A MIMIC model approach is most often used to address the identification issues with
formative models.
References
Bagozzi, Richard P. (1994), Structural Equation Models in Marketing Research: Basic Principles. Cambridge, MA: Blackwell.
Bentler, P.M. and D.G. Bonett. (1980), “Significance Tests and Goodness of Fit in the Analysis of Covariance Struc-
tures”, Psychological Bulletin, 88 (3), 588–606.
Bollen, Kenneth and Richard Lennox. (1991), “Conventional Wisdom on Measurement: A Structural Equation
Perspective”, Psychological Bulletin, 110 (2), 305–314.
Byrne, Barbara M. (1989), A Primer of LISREL: Basic Applications and Programming for Confirmatory Factor Analytic Models.
New York, NY: Springer-Verlag.
Measurement Model Analysis 127
Chang, Sea-Jin, Arjen van Witteloostuijn, and Lourraine Eden. (2010), “From the Editors: Common Method Vari-
ance in International Business Research”, Journal of International Business Studies, 41 (2), 178–184.
Diamantopoulos, Adamantios. (2006), “The Error Term in Formative Measurement Models: Interpretation and
Modeling Implications”, Journal of Modeling in Management, 1 (1), 7–17.
Diamantopoulos, Adamantios and Heidi M. Winklhofer. (2001), “Index Construction With Formative Indicators:
An Alternative to Scale Development”, Journal of Marketing Research, 38 (May), 269–277.
Fornell, Claes and Fred L. Bookstein. (1982), “Two Structural Equation Models: LISREL and PLS Applied to Con-
sumer Exit-Voice Theory”, Journal of Marketing Research, 19 (November), 440–452.
Fornell, Claes and David F. Larcker. (1981), “Evaluating Structural Equation Models and Unobservable Variables
and Measurement Error”, Journal of Marketing Research, 18 (February), 39–50.
Fuller, Christie M., Marcia J. Simmering, Guclu Atinc,Yasemin Atinc, and Barry J. Babin. (2016), “Common Meth-
ods Variance Detection in Business Research”, Journal of Business Research, 69 (8), 3192–3198.
Gerbing, David W. and James C. Anderson. (1984), “On the Meaning of Within-Factor Correlated Measurement
Errors”, Journal of Consumer Research, 11 (1), 572–580.
Hair, Joseph F., William C. Black, Barry J. Babin, and Rolph E. Anderson. (2009), Multivariate Data Analysis (7th
ed.). Upper Saddle River, NJ: Prentice Hall.
Henseler, Jorg, Christian M. Ringle, and Mario Sarstedt. (2015), “A New Criterion for Assessing Discriminant Valid-
ity in Variance-Based Structural Equation Modeling”, Journal of the Academy of Marketing Science, 43 (1), 115–135.
Hu, L. and P.M. Bentler. (1999), “Cutoff Criteria for Fit Indexes in Covariance Structure Analysis: Conventional
Criteria Versus New Alternatives”, Structural Equation Modeling, 6 (1), 1–55.
Jarvis, Cheryl Burke, Scott B. MacKenzie, and Philip M. Podsakoff. (2003), “A Critical Review of Construct Indi-
cators and Measurement Model Misspecification in Marketing and Consumer Research”, Journal of Consumer
Research, 30 (2), 199–218.
Joreskog, Karl G. (1999), “How Large Can a Standardized Coefficient Be?” Retrieved October 2018 from: www.
ssicentral.com/lisrel/techdocs/HowLargeCanaStandardizedCoefficientbe.pdf.
Joreskog, Karl G. and Dag Sorbom. (1988), LISREAL 7: A Guide to the Program and Applications. Chicago, IL: SPSS, Inc.
Kline, Rex B. (2011), Principles and Practice of Structural Equation Modeling (3rd ed.). New York, NY: Guilford Press.
Lee, Nick and John W. Cadogan. (2013), “Problems With Formative and Higher Order Reflective Variables”, Journal
of Business Research, 66 (2), 242–247.
Lindell, Michael K. and David J. Whitney. (2001), “Accounting for Common Method Variance in Cross-Sectional
Research Designs”, Journal of Applied Psychology, 86 (1), 114–121.
Lord, Frederic M. and Melvin R. Novick. (1968), StatisticalTheories of MentalTest Scores. Reading, MA:Addison-Wesley.
MacCallum, Robert C., M.W. Browne, and H.M. Sugawara. (1996), “Power Analysis and Determination of Sample
Size for Covariance Structure Modeling”, Psychological Methods, 1 (2), 130–149.
MacKenzie, Scott B., Philip M. Podsakoff, and Cheryl Burke Jarvis. (2005), “The Problem of Measurement Model
Misspecification in Behavioral and Organizational Research and Some Recommended Solutions”, Journal of
Applied Psychology, 90 (4), 710–730.
Malhotra, Naresh K., Ashutosh Patil, and Sung S. Kim. (2007), “Bias Breakdown”, Marketing Research, 19 (1), 24–29.
Marsh, Herbert W., Kit-Tai Hau, and Zhonglin Wen. (2004), “In Search of Golden Rules: Comment on Hypothesis-
Testing Approaches to Setting Cutoff Values for Fit Indexes and Dangers in Overgeneralizing Hu and Bentler’s
(1999) Findings”, Structural Equation Modeling, 11 (3), 320–341.
Nunnally, Jum C. and Ira H. Bernstein. (1994), Psychometric Theory (3rd ed.). New York, NY: McGraw-Hill.
Schumacker, Randall E. and Richard G. Lomax. (2004), A Beginner’s Guide to Structural Equation Modeling (2nd ed.).
Mahwah, NJ: Erlbaum.
Sharma, Subhash, Soumen Mukherjee, Ajith Kumar, and William R. Dillon. (2005), “A Simulation Study to Inves-
tigate the Use of Cutoff Values for Assessing Model Fit in Covariance Structure Models”, Journal of Business
Research, 58 (7), 935–943.
Voorhees, Clay, Michael K. Brady, Roger Calantone, and Edward Ramirez. (2016), “Discriminant Validity Testing
in Marketing: An Analysis, Causes for Concern, and Proposed Remedies”, Journal of the Academy of Marketing Sci-
ence, 44 (1), 119–134.
Yang, Yanyun and Samuel B. Green. (2011), “Coefficient Alpha: A Reliability Coefficient for the 21st Century”,
Journal of Psychoeducational Assessment, 29 (4), 377–392.
Chapter 5
Path Analysis
So far, we have talked only about the measurement model; now let’s talk about the struc-
tural model. The structural model’s focus is on examining the relationships between constructs.
Hence, we will look at how independent constructs influence dependent constructs or, in
more complex models, how dependent variables influence other dependent variables. The
first type of structural model we will examine is called a path analysis. In a path analysis, you
are assessing only relationships between constructs (no measurement model items included).
It is inappropriate to examine a path analysis until you have performed a measurement model
analysis to determine if your measures are valid. Once the measurement model has been
established, you can form composite variables for each construct. A path analysis examines
the structural relationships between composite variables. Refer to Chapter 4 on how to form
composite variables in SPSS.
Adding to our existing example, let’s say we have a simple model where we want to test
if “Adaptive Behavior” and another construct called “Servicescape” directly influence percep-
tions of Customer Delight. Just to clarify, Servicescape refers to customers’ perceptions
about the built environment in which the service takes place, which could include atmos-
phere, furniture, and other things related to the environment such as displays, colors, etc.
From the Customer Delight construct, let’s explore if it has a relationship to Positive Word
of Mouth (WOM) and another construct called “Tolerance to Future Failures”. The Tolerance
to Future Failures construct is how likely a customer is to be tolerant to a service failure in
the future.
Adapve + Tolerance to
Behavior + Future Failures
Customer
Delight
+ Posive WOM
Servicescape
+
After forming composite variables of each construct and saving the file in SPSS, you will
need to read in the revised data file to AMOS. By forming a composite of a construct’s mul-
tiple indicators, you have now graphically changed the construct from being a “circle” to a
“square”. In essence, you have made the construct an observable. So in a path model, we will
be using only squares to graphically represent the constructs. The next thing you need to do is
drag in the composite constructs from the variable view to the work area.
Next, you will have to add directional arrows to denote a relationship. You also need to
let all the independent variables covary. In this model, comp_adapt and comp_servicescape
are allowed to covary. Lastly, you need to add an error term to all dependent variables.
Make sure to label each error term as well. See Figure 5.3 of a path model in graphical form
in AMOS.
After forming the model, you will need to run the analysis . Make sure the “Models”
window says “OK” and the computational summary window lists the chi-square value and
degrees of freedom. If this is present, then you can go to the output and see your results.
If we look at the
modificaon indices, the
covariance secon has only
one suggeson of concern,
the connecon of e2 and
e3. This is a covariance
across constructs which is
not advisable. The
regression weight secon
has a suggested relaonship
from Posive WOM to
Tolerance to Future Failures,
but this is not strong enough
to really consider, and there
is no theorecal support to
do so, either. Thus, no
changes are necessary in the
model.
Looking at the overall results of our path model test, it appears that both constructs of
Adaptive Behavior and Servicescape have a relationship to Customer Delight. The standard-
ized regression weights tell us that Adaptive Behavior had a relatively stronger influence
on Customer Delight (.568) compared to Servicescape (.187). The influence of Customer
Delight on Positive Word of Mouth and Tolerance to Future Failures was also significant.
Again, examining the standardized regression weights lets us see that Customer Delight had
a stronger relative influence on Tolerance to Future Failures (.524) than on Positive WOM
(.444), though both were significant.
One thing to take notice in a SEM model is whether the regression weights are positive
or negative. In our example, all of the relationships are positive, which means the depend-
ent construct is being positively influenced. Based on our results when Customer Delight
increases, you will also see increases in an evaluation of Positive WOM and Tolerance to Future
Failures. If the regression weights were negative, that means the dependent variable is being
weakened. So, if the relationship from Customer Delight to Positive WOM was negative, this
would indicate that when Customer Delight evaluations increase, Positive WOM evaluations
would decrease. In essence, a positive influence means that both your constructs in the rela-
tionship are moving/changing in the same direction, whereas a negative influence means your
constructs in the relationship are moving in opposite directions.
The squared multiple correlation (R2) for Customer Delight was .450, with the other
dependent variables of Tolerance to Failure (.274) and Positive Word of Mouth (.197)
showing an acceptable level of variance being explained. Unlike a CFA, there is no set or
Path and Full Structural Models 133
suggested criteria necessary to be explained with the squared multiple correlation values of
the overall construct. These R2 values are based on the structural relationships and exhibit
how much of the variance in the dependent variable is explained by the antecedent relation-
ships of other variables. The R2 values of a dependent variable is influenced by how many
antecedent relationships are present. In our example, Positive Word of Mouth has an influ-
ence only from Customer Delight, and the R2 value of Positive Word of Mouth is how much
of the variance is being explained by Customer Delight. With new and hard-to-capture
concepts, having a R2 of 30% might be really good while having a R2 of 30% might be quite
inadequate with a well-established construct that has numerous antecedent relationships
included in the model.
The overall results for our path model in regard to model fit is a little troubling.
One of the biggest drawbacks to using a path model is that you are not accounting for
measurement error, which could explain some of the variance in your model. When a
composite variable is formed, all the unexplained error in the measurement items are
lumped together, which makes it hard to explain the variance in a model (thus having a
weaker model fit). With few degrees of freedom, some model fit indices will be inflated,
while others such RMSEA and relative chi-square/df test are more true to assessing how
the model fits the data. Though using a path model is easy and efficient, it has issues in
assessing model fit. Using a path model is very similar to other statistical techniques
(e.g., PROCESS) that use composite variables, but many of those other techniques do
not even assess model fit. In my opinion, if you are going to use SEM for your research,
it is always better to use a full structural model that models not only measurement items
but also structural relationships. More to come in this chapter about how to set up a full
structural model in AMOS.
If you so desire, you can also use the covariance matrix as input. See Figure 5.8 for an exam-
ple of the specific format needed in SPSS to use the covariance matrix as input.
I have included an example that shows the analysis of the path model run with the
correlation matrix and another one run with the raw data. The results are near identical.
Often, research papers will provide the correlation matrix along with means and standard
deviations. If you want to see if a researcher ran the data correctly, you can use that data
given as your input and see if the analysis produces similar results to the one provided in
the research article.
Correlation Matrix Data Input
Notice that in the example, only the composite variables were used and, thus, a path model
would be appropriate to use. If you had a full structural model where you wanted to include
every indicator in the model test, then you would create a correlation/covariance matrix that
included all indicators to be tested in the model.This would be a very large correlation/covar-
iance matrix depending on the number of indicators to be included. Regardless of whether it
is a composite variable or individual indicators, AMOS will allow you to run the analysis from
a correlation or covariance matrix.
If you are looking for an easy way to find the correlation matrix and covariance matrix
along with means and standard deviations for each construct, SPSS has numerous options to
find this information. One of the best options is to use the correlation analysis function and
ask for additional information. To view a correlation matrix in SPSS, you will go to “Analyze”
in the top menu, select “Correlate”, and then select “Bivariate”.You will include the variables
you want a correlation matrix for and then hit the “Options” button. You can then select the
checkbox of “Means and standard deviations”. The next checkbox of “Cross-product devia-
tions and covariances” will give you the covariance matrix.
the CFA, then you will start including the direct paths between constructs. This is a more
robust model and will account for each indicator individually. Unlike a composite vari-
able path model, each indicator of a construct is included along with its effect on other
constructs.
Let’s go back to the path model example and look at it as a full structural model. With the
full structural model, the unobserved constructs and indicators are modeled along with the
relationships between constructs. See Figure 5.12.
Just like in the path model, you need to include error terms for each dependent con-
struct and to make sure all error terms are labeled. In the CFA, all constructs were
considered independent constructs, but that is not the case in a full structural model.
A construct is considered an independent if it has a structural relationship that influences
another construct and is not being influenced by any other construct in the model. In
this example, Adaptive Behavior and Servicescape are the only independent variables.
Since these two constructs are considered independent, a covariance needs to be added
between them.
After adding the structural relationships and labeling all error terms, you are ready
to run the analysis. A full structural analysis will give you not only the structural rela-
tionships between constructs but also the measurement properties or factor loadings for
each construct. With a full structural model, the degrees of freedom will be substantially
higher, which should alleviate any model fit inflation that happens when a model is close to
just-identified. Let’s take a closer look at the output of this full structural model test; see
Figure 5.13.
Aer seng up
your model and
running the
analysis, let’s go to
the output. I want
to first look at the
“Esmates” link.
You will see at the
top the
unstandardized
esmates for the
structural
relaonships and
below that will be
the measurement
relaonships for
each construct.
You can see the
t-value (C.R.) and
p-value for each
relaonship.
Next, let’s look at the modification indices. With the full structural model, we should have
already assessed the measurement model when we performed a CFA; thus, our focus is not on
adjusting/covarying error terms with constructs. At this point, the modifications that concern
us are the regression weights between constructs. As you can see, there are no modifications
that are substantial or worthy of consideration (See Figure 5.15).The modification indices will
suggest unacceptable alterations such as indicators having structural relationships with other
indicators. Even if the modification index is high, these are nonsensical suggestions and should
not be considered.
Path and Full Structural Models 141
The overall results of the full structural model show that the relationships from Adaptive
Behavior and Servicescape to Customer Delight were significant. Additionally, the relation-
ships from Customer Delight to Positive Word of Mouth and Tolerance to Future Failures were
also significant. If you compare the results from the path model to the full structural model,
you will see that all the structural relationships are stronger in the full structural model, and
this is a function of explaining more of the variance in the model with the indicators included.
This is also reflected with the stronger model fit indices for the full structural model over the
path model. Overall, a full structural model will provide a stronger test in assessing relation-
ships between constructs than using a path model.
142 Path and Full Structural Models
One function not yet discussed is the “View Output Path Diagram” function. After you run
your analysis, you can go back to the graphics window and view the standardized or unstand-
ardized results for every path on the actual diagram. The view output path diagram function
is what will display these values on the model. This function is located at the top of the graph-
ics window right above the “Groups” window. The graphic interface looks like this: . It
is represented with an arrow pointed up. You have to run the analysis first, but then you can
click this button and it will give you the regression coefficients for each parameter. It will not
give you significance of a parameter; just the regression value. If you want the values to go
away, just hit the input path diagram button, which is the part of this interface with the arrow
pointed down.
Example 5.1:
Table 5.1 Structural Model Test Results
All functions in this window are accomplished through the banner icons at the top:
The icon allows you to select a relationship or covariance and make it optional.
The icon shows a short list of the top 10 best potential models. This is handy if you
After the specification search window comes up, select the icon and start select-
ing which relationships you want to be optional. In our previously used structural model,
I decided to make all the structural relationships optional. A relationship that is selected to be
optional will be highlighted (pink by default). You will also notice that most of the icons on
the left-hand side ribbon are grayed out. When the specification search window is active, most
functions will take place in the specification window.
Path and Full Structural Models 145
After specifying the optional relationships in the model, we are almost ready to run the
analysis. Before we do that, I like to see different options for the results in the output, so
I will select the “Options” icon, and this will bring up a pop-up window. In that pop-up
window make sure you are in the “Current Results” tab at the top. Scroll down on the display
option and select “Derived fit indices”. This will provide you with the RMSEA and CFI fit
indices of all the potential models proposed.
After selecting these options for more details, hit the cancel button (or X button in the right
corner) and then run the analysis by selecting the icon. In the specification search win-
dow, all the possible combinations of your model will appear with the relationships denoted as
optional. An example of the output is in Figure 5.20.
In this output, 16 different possible models are suggested.You will see that in the output,
the best-fitting model will be in bold. For the CFI fit index, the bold value will be the satu-
rated model, which gives you a value of “1”. With the CFI results, you are looking for the
second-best results. If you want to see the specifics on which relationships were included/
excluded with each model, you need to double click into the model number. Based on the
results, model 16 had the best results, which was the original model where all relationships
were included. The second-best model was model 12, which had the relationship from Ser-
vicescape to Customer Delight removed, but all other relationships were included. If you
are struggling to get a good model fit, this is a good tool to help “trim” your model.
(Edwards 2008). There is a very good discussion about how to form and test alternative
models in SEM from the work of MacCallum et al. (1993). The authors detail the process
of using the “replacing rule”, under which the predictors and dependent variables may be
swapped to see if the relationship is better in reverse than initially predicted. Addition-
ally, the authors suggest using trimmed models or models where the relationships are
directed to different dependent variables than initially proposed. Lastly, if there are rival
explanations to a construct or concept, assessing the competing models will add credence
to the findings.
If you are going to propose a viable rival model, the way to assess the superiority of a model
is often through the model fit statistics. Looking at the model fit tests, you can see if your
original model is a better fit than the “alternative” model. To do this, you can examine the
fit indices, or you can look at the chi-square values for each model and perform a difference
test based on the degrees of freedom. As stated earlier, you could also use the specification
search tool to examine “trimmed” models to see if they have a better fit. The idea of examining
potential alternative models is a good idea and adds some validity that your proposed model
is capturing the observed covariance matrix. One should use caution that proposing a rival/
alternative model is not just an exercise in trying to find the worst-fitting model because this
provides little justification for the superiority of the original model.
After forming the groups, you need to specify where the data is for each group. Each group can
have a separate data file or can be in the same data file, but you will need to specify the values of each
group for AMOS. Hit the “Data Files Button” and then select the “File Name” button and find
your data file. For this example, the file name is called Customer Delight Data. In this file, I have a col-
umn called “experience” that is populated with a 1 or a 2 value.The “1s” denote repeat customers and
the “2s” denote first-time customers. If you are using the same data file for both groups, you will need
to use the “GroupVariable” function to tell AMOS what column the group differences are in.You will
also have to tell AMOS what value corresponds with which group using the “Group Value” button.
Opons needed
to specify the
data for each
group.
Figure 5.24 Reading in the Data File for Each Group in the Analysis
In this example, we have an even split of the total 500 sample. With a two group analysis, you
need to make sure each group has a sufficient sample size to accurately capture the relationships
within each group. This can be a downside with two group analyses because each group has to
have a sufficient sample for power reasons, which means the overall sample size can be quite large.
After reading in the data file for each group, you need to hit the “OK” button.To run a two group
analysis, you will have to label every parameter and error term for each group. AMOS has a function
for this so that you do not have to label everything individually.You will need to use the “Multi-Group”
analysis button, which looks like a double headed icon . After selecting this icon, you will initially
get a pop-up warning window. This warning window is just stating that it is going to set up potential
models to test in AMOS and, if existing models are already set up, AMOS will delete those previous
models. In essence, it is going to start with the default models of a two group comparison.
Select the “OK” button on this warning window. Next, a pop-up “Multiple-Group Analysis”
window will appear and will let you know what potential models are being suggested to test.
The type of model AMOS will suggest will depend on the complexity of your model. In this
example, AMOS suggested five potential models. The checkmarks in this pop-up window
denote if you want these different parameters constrained to be equal across the groups. I usu-
ally just hit “OK” and let AMOS create the models even if I am not going to use that specific
model. It takes more time to deselect the parameters you do not need. If I have extra models
I do not need, I just ignore that output.
After hitting “OK”, you will see in the models window an unconstrained model across
the two groups, and then you will see five different models that are constraining the two
groups.
In a two group analysis, if you use the multigroup analysis icon to label your
parameters across the groups, AMOS will use an “a” and a number for factor loadings and
a “b” and a number for structural relationships between constructs. It is very important
that every parameter has a unique name across the groups. For instance, the structural
relationship from Servicescape to Customer Delight is labeled “b3_1” for the first-time
customer group and “b3_2” for the repeat customer group. This similar notation lets
you know that “b3” is the specific relationship from Servicescape to Customer Delight
but the underscore numbers after “b3” lets you know which group for clarification
purposes.
In Chapter 4, we talked about how to test for invariance, and specifically metric invariance
was a test of factor loadings being constrained across the groups. The measurement weights
model in AMOS specifically constrains all factor loadings (or parameters listed as an “a”) to
Path and Full Structural Models 153
be equal across the groups. The structural weights model constrains the factor loadings but
also constrains the relationships between constructs to be equal. If you double click into the
structural weights model on the graphics screen, you will see the measurement and structural
relationships constrained. See Figure 5.28.
If we run the two group analysis with the structural weights model, this will tell us if first-
time and repeat customers are different as a whole.This analysis is examining all of the relation-
ships in the model across the groups. If we find differences in this model, it tells us only that
the groups are significantly different as a whole; it gives us no indication exactly where in the
model they are different.You might have one relationship that is extremely different across the
groups and all other relationships were non-significant. When you examine the relationships
154 Path and Full Structural Models
as a whole, you cannot tell where in the model any differences are coming from. Hence, we
need to form a new model that is not a default model listed by AMOS. In the models window,
if you double click on the last model “Measurement Residuals”, the managed models pop-up
window will appear. At the bottom of the window is a button called “New”. Select this button,
and a new model will be created that is currently blank.You need to first title this model. We
are going to call this model “Constrain 1”. Next, we constrain one structural relationship at a
time to see if the specific relationship is different across the groups. Remember that structural
relationships are labeled as “b” and a number in AMOS. Let’s look at the first structural rela-
tionship of Adaptive Behavior to Customer Delight.
Figure 5.29 Adaptive Behavior to Customer Delight Constrained to be Equal Across the Groups
This relationship is labeled as b1 (b1_1 for first-time customers and b1_2 for repeat
customers). We need to constrain this specific relationship to be equal across the groups to
see if differences are present. In the “constrain 1” model, you are going to constrain b1_1
to be equal to b1_2. Note if you double click on the value listed in the left-hand menu, it
Path and Full Structural Models 155
will automatically include this in the parameter constraint window. After constraining this
relationship to be equal across the groups, hit the close button, and then we are ready to run
the analysis. Once the analysis has finished, you first go to the Model Comparison link in
the output. This will tell you if there is a difference in chi-square values across your models.
The output in this section will show comparisons of the different models listed. In the first
section, you will see a subheading that says, “Assuming model Unconstrained to be correct”.
This compares all the constrained models listed by AMOS to the unconstrained model where
no relationships were constrained to be equal. In this first section, we are concerned with
the “Constrain 1” model, where we are testing the relationship from Adaptive Behavior to
Customer Delight.
The results of the “Constrain 1” model show that the chi-square difference for the one
parameter that we constrained is 10.57, which is a p-value at the .001 level (Remember that
with one degree of freedom, significance at the .05 level requires a chi-square value of at least
3.84). These results for the Constrain 1 model mean that the relationship of Adaptive Behavior
to Customer Delight is significantly different across the groups. Now that we know a signifi-
cant difference is present, we need to see which group has a stronger or weaker effect on the
relationship. To do this, we need to go to the Estimates link in the output. In the Estimates
output, we are going to examine the strength of the relationships across the two groups. There
is a “Groups” window on the left-hand side of the Estimates output.You need to first select the
group you are interested in, and this will present the relationships for that specific group. See
Figures 5.31 and 5.32.
These are the results for the First_me
customers in the Esmates link. Let’s look at
the relaonships from Adapve Behavior to
Customer Delight.
If you look at the Adaptive Behavior to Customer Delight relationship across both groups,
you will see that the first-time customers have a much stronger relationship than the repeat
customers. Thus, we can conclude that adapting a service for a first-time customer has a sig-
nificantly stronger influence on Customer Delight than with repeat customers.You can see the
standardized regression weight for first-time customers (.650) is substantially stronger than
with repeat customers (.376).
158 Path and Full Structural Models
The results of this test (Constrain 1) show that there is no significant difference between
the groups for the Servicescape to Customer Delight relationship (∆χ2/1df = 0.663). Thus,
the groups are very similar in its relationship from Servicescape to Customer Delight. To fully
understand the differences across the groups, you will need to individually constrain all the
other relationships in the model.With a big model, this can be tedious to individually test each
relationship, but it is necessary to see exactly where differences lie across the groups.
Another option instead of testing one relationship at a time is to create a separate model
test for each structural relationship in the model. By doing this, you can see the differences
across groups for every structural relationship at once instead of running the same test over
Path and Full Structural Models 159
and over. For instance, in our example, we have four structural relationships. We could create
four additional model tests, and instead of calling the structural test “Constrain 1”, we can
call the test “b1 test”, “b2 test”, “b3 test”, and “b4 test”. With the b1 test, we would constrain
b1_1 = b1_2. We would repeat this with each of the structural tests.
After creating a separate model test for each structural relationship, you are now ready to
run your analysis and go back to the model comparison output. In the output, you can see the
individual structural relationships that are tested (b1–b4).
Now we can see all the structural relationship tests at once. We see that b1 and b4 are sig-
nificantly different across the groups, but b2 and b3 are non-significant. As stated before, you
would need to go back into the Estimates output to see which relationship is stronger or weaker
across the groups.
One last thing we need to address is model fit statistics with our two group analysis. If we
go into the Model Fit output, we do not get fit statistics for each group. With a two group
analysis, AMOS will give you a model fit across the two groups. It examines how the model
fits the data in the presence of both groups. In the output, we are only concerned with the
“Unconstrained” model fit statistics. This is assessing model fit across both groups. All other
model fit statistics are not that helpful in a two group analysis.
Example 5.2:
H1: Adaptive Behavior → Customer Delight .650 (9.06) .376 (4.00) 10.57*
H2: Servicescape → Customer Delight .095 (1.47) .034 (0.38) 0.66 n.s.
H3: Customer Delight → Positive Word of Mouth .357 (4.95) .367 (4.24) 3.16 n.s.
H4: Customer Delight → Tolerance for Future .386 (5.46) .505 (5.62) 12.38*
Failures
Model Fit Across the Groups: χ 2 = 418.33, df = 260, p < .001, CFI = .97, IFI = .97, RMSEA = .03
Note: *= p < .001; n.s. = not significant
Figure 5.39 Request a Test for Normality and Outliers in the Analysis Properties Window
results will give a Mahalanobis d-square result. This statistic represents the squared distance
from the centroid of a data set. The bigger the distance, the farther the item is from the
mean distribution. AMOS also presents two additional statistics, p1 and p2. The p1 column
shows the probability of any observation exceeding the squared Mahalanobis distance of that
observation. The p2 column shows the probability that the largest squared distance of any
observation would exceed the Mahalanobis distance computed. Arbuckle (2017) provides
a heuristic for determining which observations may be outliers stating that small numbers
in the p1 column are to be expected. Small numbers in the p2 column, on the other hand,
indicate observations that are improbably far from the centroid under the hypothesis of
normality. If you have p1 and p2 values that are less than .001, these are cases denoted as
outliers. Figure 5.40 shows an example of the output when I ran the outlier analysis for the
full structural model.
In this example, there
are quite a few
poten al outliers.
You can see sample
rows 124, 210, and 133
have a high
Mahalanobis distance.
Your data is still considered to be normal if your skew values range between −2 and +2.
For kurtosis, the range is −10 to +10 to still be considered normally distributed. Based on our
results, we can see that both the skew and kurtosis are in an acceptable range to be considered
“normal”.
If your data is non-normal, you can use another estimation method (GLM instead of maxi-
mum likelihood), which does not assume multivariate normality. A more common technique
to address non-normality is to run your model with the bootstrap technique. Bootstrapping
is a resampling procedure of the original data to determine if your estimated relationships fall
within a confidence interval. For a detailed explanation on how to use bootstrapping to assess
a model that has non-normal data, see page 287 in Chapter 10.
Variance-based or partial least squares SEM (PLS-SEM) has become more popular
because of its flexibility and potential problem-solving capabilities to address the chal-
lenges that are present with covariance-based SEM. For instance, PLS-SEM can be used
with small samples, uses weighted scores for greater explained variance, can handle
non-normal data, and is best used for “exploratory” research. While at face value this
seems like a great alternative to covariance-based SEM, if you look deeper, PLS-SEM
is a problematic alternative. First, PLS-SEM does not calculate any model fit statistics.
One of the primary advantages to SEM is the ability to assess a whole structural model.
This is done via the fit statistics that compare the estimated covariance matrix to the
observed covariance matrix. In PLS-SEM, model fit is ignored, which means model
Path and Full Structural Models 167
misspecification may be present, and it is simply not being assessed. This seems espe-
cially reckless with large and complex models.
Second, PLS-SEM is presented as an especially valuable technique for exploratory
research compared to covariance-based SEM, which is confirmatory in nature (Peng and
Lai 2012). Before a study takes place, the researcher should a priori have an idea of how
the constructs should influence one another and what indicators are needed to capture
the constructs. The theory used by the researcher should be the basis of the hypotheses
between constructs. In essence, a study should either support or fail to support the
hypotheses that were outlined a priori. This should be consistent whether you are using
PLS-SEM or covariance-based SEM. PLS-SEM has been used as an “exploratory” attempt
to understand a model but has been often categorized as data driven modeling (Ronkko
et al. 2016) where relationships are simply added or subtracted based on the data and
not theory. This data driven approach has the possibility of capitalizing on chance and
would be advisable only if a second sample could confirm the findings of the first model.
Third, PLS-SEM allows the researcher to vary the weights of indicators in a construct.
This is done to increase the reliability of the construct, but recent research has found
that it has no relative impact on a construct’s reliability and often inflates correlations
between constructs (Ronkko et al. 2016). Fourth, PLS-SEM is lauded as a program that
will work with small samples compared to covariance-based SEM that requires a larger
sample. The appropriate sample size for a SEM model should be based on the complex-
ity of the model and not the software. Sample size should be based on the necessary
power to find an effect. For those looking for more information on this topic, McQuitty
(2004) does a good job of outlining the necessary sample size needed based on complex-
ity of the model. A simple model with few degrees of freedom could be grossly under-
powered with a small sample. A small sample can bias results with a covariance-based
SEM approach, but previous research has found the PLS-SEM was just as problematic in
regards to a small sample size bias (Chumney 2013; Reinartz et al. 2009).
Fifth, PLS-SEM uses Ordinary Least Squares (OLS) regression, which has the same
assumptions about normality of data as covariance-based SEM. Previous research has even
noted that PLS has no more benefits of handling non-normal data than other covariance-
based programs (Dijkstra 2015). Lastly and most concerning, PLS-SEM is widely known to
produce inconsistent and biased estimations (Ronkko et al. 2016).The research by Reinartz
et al. (2009) found that estimations were biased from 6% to 19% based on the strength of
the path estimate. Overall, the evidence against using PLS-SEM is strong and convincing. In
my opinion, I would encourage you to stick to a covariance-based SEM approach.
Customer Delight: customer’s profoundly positive emotional state resulting from expecta-
tions being exceeded to a surprising degree. Construct was measured with a 7-point
Likert scale of Strongly Disagree to Strongly Agree.
Positive Word of Mouth: customer’s intention to spread positive information to others about
a previous experience. Construct was measured with a 7-point Likert scale of Strongly
Disagree to Strongly Agree.
Servicescape: customer’s perceptions about the built environment that the service takes place,
which could include atmosphere, furniture, and other things related to the environment
such as displays, colors, and cleanliness. Construct was measured with a 7-point Likert
scale of Strongly Disagree to Strongly Agree.
Tolerance to Future Failures: likelihood that a customer is understanding of a service fail-
ure with future interactions. Construct was measured with a 7-point Likert scale of
Strongly Disagree to Strongly Agree.
First-Time Customer (Group)—customers who are experiencing the service for the first time.
Repeat Customer (Group)—customers who have previous experience with the service.
a problem with an error term of an indicator.You can raise the iteration limit to a higher
number, but this will often not fix the underlying problem.
References
Arbuckle, James L. (2017), IBM SPSS AMOS 25 User’s Guide, IBM Corporation.
Chumney, F.L. (2013), Structural Equation ModelsWith Small Samples: A Comparative Study of Four Approaches. Doctoral
dissertation, University of Nebraska-Lincoln.
Dijkstra, Theo K. (2015), “PLS and CB SEM, a Weary and a Fresh Look at Presumed Antagonists” (keynote
address), Presented at the 2nd International Symposium on PLS Path Modeling. Sevilla, Spain. Retrieved from:
www.researchgate.net/publication/277816598_PLS_CB_SEM_a_weary_and_a_fresh_look_at_presumed_
antagonists_keynote_address.
Edwards, Jeffrey R. (2008), “Seven Alternative Model Specifications in Structural Equation Modeling: Facts, Fic-
tions, and Truth”, in Charles E. Lance and Robert J. Vandenberg (eds.) Statistical and Methodological Myths and
Urban Legends. New York, NY: Taylor & Francis Group.
MacCallum, Robert C., Duane T. Wegener, Bert N. Uchino, and Leandre R. Fabrigar. (1993), “The Problem of
Equivalent Models in Applications of Covariance Structure Analysis”, Psychological Bulletin, 114 (1), 185–199.
McQuitty, Shaun. (2004), “Statistical Power and Structural Equation Models in Business Research”, Journal of Busi-
ness Research, 57 (2), 175–183.
Peng, David Xiaosong and Fujun Lai. (2012), “Using Partial Least Squares in Operation Management Research:
A Practical Guideline and Summary of Past Research”, Journal of Operations Management, 30 (6), 467–480.
Reinartz, Werner, Michael Haenlein, and Jorg Henseler. (2009), “An Empirical Comparison of the Efficacy of
Covariance-Based and Variance-Based SEM”, International Journal of Research in Marketing, 26 (4), 332–344.
Ronkko, Mikko., Cameron N. McIntosh, John Antonakis, and Jeffrey R. Edwards. (2016), “Partial Least Squares
Path Modeling: Time for Some Serious Second Thoughts”, Journal of Operations Management, 47–48 (November),
9–27.
Chapter 6
Mediation
Introduction to Mediation
Up to this point, we have focused on how one construct can directly influence another con-
struct in a SEM model. Let’s now examine how the influence between two constructs may
take an indirect path through a third variable called a mediator. In these situations, the third
variable will intervene on the influence of the two constructs (Hair et al. 2009). In testing if
“mediation” or the presence of a mediator is in a model, you need to understand some of the
terminology that is used, such as direct effect, indirect effect, and total effects. A direct effect
is simply a direct relationship between an independent variable and a dependent variable. An
indirect effect is the relationship that flows from an independent variable to a mediator and
then to a dependent variable. The term total effect is the combined influence of the direct
effect between two constructs and the indirect effect flowing through the mediator.
Mediation can take numerous forms in a model. You can have what is called full media-
tion (also called indirect only mediation) where the direct effect between two constructs is
non-significant, but an indirect effect through a mediator does have a significant relationship.
Partial mediation is another form that mediation can take. This is where the direct effect
between two constructs is significant, and so is the indirect effect through a mediator. Lastly,
you can have complementary and competitive mediation. Complementary mediation is where
the direct effect and the indirect effect have a similar influence in regard to directionality. For
instance, the direct effect may a have positive influence, and the indirect effect has a positive
influence as well. A competitive mediation is where you have different directionality between
the direct effect and indirect effect. The direct effect might have a negative influence, but the
indirect effect might have a positive influence. With this type of mediation, the presence of the
mediator can change the directionality of the influence.
Let’s look at a simple mediation model to give some context to our discussion. We have an
independent variable (we will label it “X”) that has a proposed direct influence on a depend-
ent variable (we will call it “Y”). We will also propose that the influence of X to Y might flow
through a mediator variable (we will call it “M”). We have three variables in this simple model.
We are going to examine the direct effect of X to Y and also the indirect effect of X to M to Y.
The indirect effect is calculated by taking the product of the X to M relationship and the M to
Y relationship. We will simply multiply the regression coefficients for each of those relation-
ships to get the indirect effect.
From a statistical standpoint, you will often see the paths in a mediation model referred
to as the “A path”, the “B path”, and the “C path”. The commonly referred-to A path is the
Mediation 171
relationship from the independent variable to the mediator (X to M). The B path is used to
refer to the relationship from the mediator to the dependent variable (M to Y). The C path is
used when referring to the direct path from the independent variable to the dependent vari-
able (X to Y). This is common vernacular when discussing mediation, and you need to take
note of these parameter labels. To help clarify our discussion, the different types of mediation
are represented in graphical form. See Example 6.1.
Direct Effect Indirect Effect
X Y M
a b
X Y
c
X Y
X Y
+
X Y
-
172 Mediation
Step 1—make sure that X has a significant influence onY (C path; absent of M at this point).
Step 2—test that X has a significant influence on M (A path; no Y included); this needs to
be significant for mediation to be present.
Step 3—test that X has an influence on M and that M has an influence onY (A and B paths);
both paths need to be significant.
Step 4—test the direct and indirect relationships simultaneously and determine if and what
type of indirect effect is present (A, B, and C paths are all being evaluated).
The Baron and Kenny method was based on finding the unstandardized coefficients for each
relationship and then determining significance using a Sobel test. As research has progressed,
this method of testing mediation has changed, and Sobel testing has been rejected as a valid
means of testing mediation. For a good discussion on why Sobel testing should no longer be
used in assessing mediation, see Zhao et al. (2010). Even the initial steps outlined by Baron
and Kenny have changed as well. The first step that the C path needs to be significant is not a
requirement anymore. Indirect effects can be present even if a non-significant C path is initially
found. The justification is based on the idea that there are suppressor effects that prevent the
C path from being significant, but the indirect effect is still present. The idea that the A path
and the B path have to individually be significant has been rejected as well. Hayes (2018) notes
that an indirect effect is the product of the A and B paths, and statistical significance of either
the A path or the B path is not a requirement for mediation.
The revised method is now concerned with assessing the indirect effect by examining the
product of the A path and the B path while controlling for the direct effect of the C path. Since
the Sobel test is flawed for this type of test, the more accepted approach in mediation testing
is to use a bootstrap technique to determine significance. A bootstrap technique treats your
data sample like a pseudo-population and then takes a random sample with replacement to
determine if your indirect effect falls within a confidence interval.You can request the number
of bootstrap samples to increase the accuracy of predictions (the higher, the better). I find
that a bootstrap sample of 5,000 is sufficiently large, and any greater number of samples will
produce very little difference. Note that with a bootstrap sample, the computer program will
generate a completely different sample every time you run the analysis. With 5,000 samples,
the differences will be small, but the exact numbers in the results will not be the same if you
run the analysis twice. To control for this, you can ask AMOS to always use the same “seed”
number, which will produce the exact same results if you run the bootstrap analysis again.
Having a set “seed number” is a good idea because it keeps you from getting slightly different
results every time you run the analysis for the exact same model. I will discuss how to set the
seed number in AMOS later in the chapter on page 194. Lastly, you need to be aware that
Mediation 173
when you sample with replacement, the same case can appear in more than one generated
data set. Overall, the bootstrap technique has become the accepted method because of its ease
and accuracy of results.
Let’s look at an example in AMOS of a mediation test. Using the full structural model
example from earlier, we want to examine if the construct of Adaptive Behavior has an indirect
effect through Customer Delight to the construct of Positive Word of Mouth. Notice that I am
including a direct path from Adaptive Behavior to Positive Word of Mouth. This will allow us
to see what type of mediation is present in the analysis.
Figure 6.1 Mediation Test of Adaptive Behavior Through Customer Delight to Positive Word
of Mouth
200 samples. This is way too small. Change the number of samples to 5,000. You will also
need to select the “Bias-corrected confidence intervals” checkbox. AMOS will default a 90%
confidence interval, but significance in most research is at the .05 level, so you need to
change this to a 95% confidence level. I typically leave all the other options on this page
blank. See Figure 6.3. After selecting the option of indirect effects in the output and asking
AMOS to perform a bootstrap, you can cancel out of the Analysis Properties window and
then run the analysis.
Let’s look at the output to determine if mediation is present. In the Estimates link, you want
to select the “Matrices” link. This will let you see the total effects, direct effects, and indirect
effects for each relationship in your model. We want to select the indirect effects. AMOS will
give you the option to examine the unstandardized or standardized indirect effect. With most
mediation analyses, you will see the unstandardized indirect effect reported. If you were look-
ing to compare indirect effects within a model, you could easily do so with the standardized
Mediation 175
indirect effects, but normally, the unstandardized indirect effects are reported. In the “Indirect
Effects” tab, you will see all the possible indirect effects in your model. We are concerned
only with the relationship of Adaptive Behavior to Positive Word of Mouth through Customer
Delight. In our model, we have only one possible mediator from Adaptive Behavior to Posi-
tive Word of Mouth, so the indirect effect listed must be through the mediator of Customer
Delight. (If you have more than one mediator, I will discuss this on page 182.) If we look at
the intersection of Adaptive Behavior and Positive Word of Mouth, the unstandardized indirect
effect is .333. Again, to calculate an indirect effect, it is a very simple process. The indirect
effect is the product of the A path and the B path. The unstandardized regression coefficient for
the relationship from Adaptive Behavior to Customer Delight (A path) was .450. The unstand-
ardized regression coefficient for the relationship from Customer Delight to Positive Word of
Mouth (B path) was .740. Multiplying these two values together gives us the indirect effect
(.450*.740 =.333).
We now know the indirect effect, but we still need to know if the indirect effect is sig-
nificant and if it falls within the 95% confidence interval generated by our bootstrap. The
176 Mediation
indirect effects tab will give us the indirect effect but nothing else. We need to go to the
bootstrap analysis section to find the other information. On the left-hand side, in a box below
the output links is a section called “Estimates/Bootstrap”. Under that link will be another
option called “Bias-corrected percentile method”. This is where we will find all the informa-
tion we are looking for in regards to confidence intervals and significance levels. With the
confidence intervals, you are going to get an upper bound and lower bound estimate of the
indirect effect based on your bootstrap of 5,000 samples. If the range for the upper and lower
bound estimates do not cross over zero, then the indirect effect is considered significant.
AMOS will also give you a p-value if you need to show the specific level of significance in
the bootstrap test.
Note, you have to be in the “Indirect effects” link at the top of the window to even access
the bootstrap analysis in the bottom window. If you are not on the indirect effects tab at the
top, the bootstrap analysis will be grayed out and inaccessible.
Based on these results, we can conclude that Adaptive Behavior has a significant indirect effect
on Positive Word of Mouth through the construct of Customer Delight.We know that the indirect
effect is significant, but now we need to assess what type of mediation is present. Is it full media-
tion or partial mediation through the Customer Delight construct? To accomplish this, we need to
examine the C path, or the direct path, from Adaptive Behavior to Positive Word of Mouth in the
“Estimates” link in the output.We can see that Adaptive Behavior has a non-significant relationship
to Positive Word of Mouth (p = .455).This means that the influence of Adaptive Behavior on Posi-
tive Word of Mouth is fully mediated through the construct of Customer Delight.
Since we have only one mediator, we can easily assess if a significant indirect effect is from
Adaptive Behavior to the other dependent variable of Tolerance to Future Failures. We need to
change the C path, or the direct effect, from Adaptive Behavior to Tolerance to Future Failures,
and then we can run the exact same indirect, direct, and total effects analysis as we did before.
Figure 6.8 Mediation Test From Adaptive Behavior Through Customer Delight to Tolerance
to Future Failures
Mediation 179
The indirect effect of Adaptive Behavior to Tolerance to Future Failures is .313. Next,
let’s look at the same output for the confidence intervals generated by our bootstrap.
The lower bound confidence interval is .231 and the upper bound is .426. Since this
confidence interval did not cross zero, we know that the indirect effect is significant.
Examining the two-tail significance test in the output, the indirect effect is significant at
the p < .001 level.
The last thing we need to do is
assess the C path or direct effect
from Adaptive Behavior to Tolerance
to Future Failures to determine the
type of mediation that is present. In
the output of the Estimates link (Fig-
ure 6.11), you will see that the direct
relationship from Adaptive Behavior to Figure 6.9 I ndirect Effects Results for Adaptive
Tolerance to Future Failures has a non- Behavior to Tolerance to Future Failures
significant relationship (p. = .119).
Thus, we have a significant indirect effect and non-significant direct effect, meaning that Cus-
tomer Delight fully mediates the relationship of Adaptive Behavior to Tolerance to Future Fail-
ures. If you have only one potential mediator in your model, AMOS will give you all possible
indirect effects, which is a nice function and can save you time especially if you have a large
number of independent and dependent variables.
Example 6.2:
Table 6.1 Test for Mediation Using a Bootstrap Analysis With a 95% Confidence Interval
Adaptive Behavior → .057 .333 .221 .484 < .001 Full Mediation
Customer Delight → (0.74)
Positive Word of
Mouth
.095 .313 .231 .426 < .001 Full Mediation
Adaptive Behavior → (1.55)
Customer Delight →
Tolerance for Future
Failures
Note: Unstandardized coefficients reported. Values in parentheses are t-
v alues. Bootstrap sam-
ple = 5,000 with replacement.
Mediation 181
Once you have formatted and saved your summary data, you need to make sure AMOS
has the new data file as the input. In the Analysis Properties window, select the “Indirect,
direct, and total effects” option again. With the Bootstrap tab, select “Perform Bootstrap” and
change the number of bootstraps to 5,000.
Select the “Bias-corrected confidence inter-
vals” and change the confidence interval to
95. Since you do not have raw data, you also
need to select “Monte Carlo (parametric)
bootstrap” option. With a Monte Carlo boot-
strap, the bootstrap sample’s means, variances,
and covariances will match the summary data
input. In essence, it runs a simulation that will
match the summary data provided. If you do
not select the Monte Carlo option, AMOS will
give you an error message and say it cannot
run the bootstrap without the raw data. After
making these selections, you are ready to run
the analysis.The format for the output with the
Monte Carlo simulation will look exactly like
the output for the mediation test that used the
Monte Carlo Simulation Needed
Figure 6.13
raw data. Thus, you will need to go to the same for Bootstrap With Summary Data
place in the output to find your results. Input
182 Mediation
When you have multiple mediators, AMOS will require you to denote what specific rela-
tionships you are concerned with in testing for the indirect effect. To do this, you need to label
all the indirect parameters for the specific relationships you are concerned with in the model.
You will need to label the A path and the B path, and, if you so desire, the C path, but this path
is not necessary since it is a direct effect in the model. Saying that, I like to label the C path, too.
Ultimately, we are labeling these parameters so AMOS knows which relationships you want
to isolate and examine. Let’s say we want to initially explore the indirect effect of Adaptive
Behavior to Positive Word of Mouth through the construct of Customer Delight, but now the
construct of Satisfaction is included in the model. First, you are going to label the A path in the
mediation test by double clicking on the arrow from Adaptive Behavior to Customer Delight
and bringing up the Object Properties for that specific arrow. (You can right click on the arrow
and select Object Properties, too.) You need to label this specific parameter. You can call it
anything you want, but I am going to label it “A_Path” just to make it easier to interpret when
we get the final output.
The A_Path label will be in the regression weight field of the Object Properties window. Note
that you cannot have spaces in the name you give the parameter. I am going to select the arrow
from Customer Delight to Positive Word of
Mouth and label that relationship “B_Path”.
Now you are ready to use the estimands func-
tion. At the very bottom left-hand side of the
screen will be a default field of AMOS stating
“not estimating any user-defined estimand”. If
you click on this message, AMOS will prompt
you to either select an estimand or define a
new estimand.
This is where the esmand funcon is located. It is a simple text field at the
boom of the screen. If no esmand is being used, the default label will be
“Not esmang any user-defined esmand”. Just simply click on this field
to create a new esmand or retrieve a previously saved esmand.
Let’s choose to define a new estimand option. The estimand pop-up window will appear. In
the syntax window, we need to specify how AMOS should analyze the indirect effect. Remem-
ber that earlier, I said the indirect effect is the A path multiplied by the B path. Let’s call our
new indirect analysis simply “indirecttest”, and then you will put an equal sign and specify the
labels for the paths of the indirect effect you want to test. We are going to multiply the path
labeled “A_Path” by the path labeled “B_Path”. See Figure 6.16. After you have specified the
function in the window, you need to make sure you do not have any syntax errors. You will
need to select the check syntax icon in the window. If you have any errors, they will be
listed in the description section at the bottom. If no errors are present, the description section
will say “Syntax is OK’.
Please note that an estimand function will work only with a bootstrap analysis. If you do
not have a bootstrap analysis selected in the analysis options, an error warning window will
appear. It is a good idea to save this estimand function so that you do not have to type in the
syntax relationships again for future mediation tests. If you are trying to retrieve a previously
saved estimand, you will choose the “select estimand” function instead of defining a new esti-
mand. After saving the estimand, you can close out the pop-up window and run the analysis
. Let’s go to the output and see the results (Figure 6.17). In the Estimates link, you need
to choose the “Scalars” option. Within this link, you will see an option titled “User-defined
estimands”; select this option. The results presented will be the indirect effect for the specific
relationship you denoted in the estimand function. The indirect effect of Adaptive Behavior to
Positive Word of Mouth through Customer Delight is .384. Again, this is just isolating a spe-
cific indirect effect in a model where multiple mediators are present. Note that the indirect
effect is different with the multiple mediator model (.384) compared to the single mediator
model we tested earlier (.333) even though we are testing the same relationship. The indirect
effect with the multiple mediator model is now accounting for differences with the second
mediator (satisfaction) included in the model.
Mediation 185
This is the
unstandardized
indirect effect for the
rela onship listed in
the es mands
func on.
With the “User-defined estimands” option selected, you can now go to the bootstrap
analysis and selected the “Bias-corrected percentile method” option. This will give you the
indirect effect, confidence interval, and significance for the indirect effect. Note that if you
do not have the “User-defined estimands” option selected, all the bootstrap analysis will be
grayed out.
Figure 6.18 Bias-C orrected Percentile Method Results for Indirect Effect Test
A positive and significant indirect effect was found. We now need to assess the C path,
or the direct relationship from Adaptive Behavior to Positive Word of Mouth, to determine
what type of mediation is present. The results from the Estimates output (Figure 6.19) notes
that Adaptive Behavior does not have a significant relationship to Positive Word of Mouth
(p = 0.482), so we have full mediation. Take note in the Estimates output that our labels for
each relationship are displayed in the output as well.
186 Mediation
We have found the indirect effect from Adaptive Behavior to Positive Word of Mouth through
Customer Delight, but now let’s examine the indirect relationship from Adaptive Behavior
through the Satisfaction construct to Positive Word of Mouth. The first thing you need to do is
label the indirect paths when Satisfaction is the mediator.You can handle this two ways: (1) you
can delete the existing parameter names and label the relationship from Adaptive Behavior to
Satisfaction as the “A_Path” and the relationship from Satisfaction to Positive Word of Mouth
as “B_Path”; or (2) you can label the parameters a completely new name that is unique to only
those paths. For instance, you could label the relationship from Adaptive Behavior to Satisfac-
tion as “X_Path” and the relationship from Satisfaction to Positive Word of Mouth as “Y_Path”.
Choose which method works best for you.The advantage to labeling all the relationships unique
names is it allows you to see multiple indirect effects simultaneously using the estimands func-
tion. Let’s look at an example where we can isolate and analyze multiple indirect effects through
the estimand function.
First, we need to go back into your estimands function and select “edit” estimand. This
will bring up the existing estimand function. The first indirect test through Customer
Delight was called “Indirecttest”. We need to come up with another name for the indirect
test going through Satisfaction. Let’s call that indirect test “Sat_indirecttest”. For this test,
we will write the formula for the indirect effect like we did with the previous test. With
this test, we multiply the “X_Path” by the “Y_Path” to get the indirect effect. Make sure you
run the syntax check again. If the description says “Syntax is OK”, save the new function
and then cancel out of the window. If you have a problem with the syntax, this is primarily
because the labels in the estimand function are not matching the labels in the model (or
the labels are completely missing from the model). After saving the estimand, you are now
ready to run the analysis again.
In the output, go back to the User-defined estimands option and then select the Bias-
corrected percentile method. You can see now that both the “indirecttest” and “Sat_indi-
recttest” are listed (Figure 6.22). This gives us the indirect effect for each test along with
a confidence interval and p-value. The indirect effect through the Satisfaction construct is
non-significant with a p-value of .804. Notice how the confidence interval in the nonsig-
nificant indirect effect crosses zero. Again, these results are the unstandardized coefficients.
If you need to see the standard error for each indirect test, there is an option listed above
the Bias-corrected percentile method option that is simply called bootstrap standard errors.
Selecting this option will allow you to see the standard errors for each indirect test you
specified.
188 Mediation
Figure 6.22 Indirect Effects and Confidence Intervals for Both User-D efined Functions
Based on these results, we can conclude that the influence of Adaptive Behavior to Posi-
tive Word of Mouth flows only through customers’ perceptions of delight. If you have more
relationships to test, you can label those parameters and make adjustments in the estimands
function. By using the estimands function, you have the ability to isolate an indirect effect even
when multiple mediators are present.
which is the degree to which a customer is faithful to a retailer/service provider. With the
revised model, Adaptive Behavior will have a relationship to Customer Delight, which impacts
Positive Word of Mouth, and now Positive Word of Mouth influences Loyalty.
In this revised model, the influence or effect of Adaptive Behavior is proposed to flow
through Customer Delight and Positive Word of Mouth to Loyalty. Put another way, the indi-
rect effect of Adaptive Behavior to Loyalty flows through both constructs of Customer Delight
and Positive Word of Mouth. Our first step is to draw out our revised model in AMOS. Next,
we need to label the arrows (parameters) between each construct. To be consistent, let’s label
the path from the independent variable to the first mediator (Adaptive Behavior to Customer
Delight) as the “A_Path”. The path to the ultimate dependent variable from the mediator
(Positive Word of Mouth to Loyalty) we will label the “B_Path”. The path between the two
mediators (Customer Delight to Positive Word of Mouth) we will call the “D_path”. I don’t
want to call that relationship “C_path”; let’s save that label for the direct effect from Adaptive
Behavior to Loyalty. I also want to avoid labeling a parameter starting with the letter “E”. That
letter is saved for error terms. Again, the labels are arbitrary; just make sure you give it a label
that is unique and one that helps you recognize a specific path in the output. See Figure 6.23.
Now that we have uniquely labeled the parameters, we need to use the estimand function by
defining a new function. To calculate the indirect effect in serial mediation, you need to multiply
the intermediating relationships together. Specifically, you will multiply the regression coefficient
for each intervening relationship. In our example, we are going to multiply the “A_Path” times
the “D_Path” times the “B_Path”.This will give us the serial indirect effect. In the estimands func-
tion, let’s call our indirect test “SerialMediation”. In the syntax, we will specify the formula for
the indirect relationship. After doing this, we make sure to check for syntax errors, and then we
can save and exit the pop-up window. The analysis is now ready to be run. Going to the output,
we return to the Estimates link and then the Scalars option. Select the User-Defined estimands.
We can then go to the Bias-corrected percentile method to see the full indirect effect details.
190 Mediation
Serial Mediaon is
concerned with
finding the indirect
effect across
mulple constructs.
The indirect effect is
calculated by taking
the product of all the
intervening
relaonships from
the independent to
the dependent
variable.
The results of the indirect effect through both intervening variables to Loyalty was .055,
and it is significant at the p = .002 level. We initially can determine that the serial mediation is
significant, but we need to examine the direct effects to determine the type of mediation that
is present (see Figure 6.26). The direct effect (C_Path) is significant with a p value < .001.
These results show that both the indirect effect and the direct effect are significant. This means
partial mediation is present with this serial mediation test.
This test had only two mediators, but you could have more than two mediators in a serial
mediation test. If you have three mediators, the process would be exactly the same.You would
label all the parameters and then get the product of all the relationships from the independent
to dependent variable through the mediators. Using the estimands function will make this a
relatively easy process.
Since the indirect effect from Adaptive Behavior to Loyalty could go only through the two
specified intervening constructs, we should be able to get the same results from the “indirect
effects” output that AMOS initially gives us. In the output, let’s go to the Estimates tab, “Matri-
ces” option, and then down to the Indirect Effects.You will see that AMOS gives us all possible
indirect effects. The indirect effect of Adaptive Behavior to Loyalty is .055, the same as the
estimands function we ran earlier.
192 Mediation
If we go to the Bias-corrected percentile method from these indirect effects where the
bootstrap analysis is presented, you get the same confidence interval and p-value as the one
listed in the estimands output. See Figure 6.28 to view the full output of this bootstrap
analysis.
Remember, these results are similar only because the indirect effect is going through the
only two intervening variables in the model. In this example, the indirect effect from Adap-
tive Behavior to Loyalty has no other possible indirect effect but through the two mediators.
If other mediators were included, or if you had two competing serial mediations, you would
definitely need to use the estimands function.
These are the same
upper and lower
bound confidence
intervals along with
the same p-value as
the esmand test of
mediaon.
To provide greater clarity to the bootstrap analysis, I will often change the seed number and run the
analysis again to see the consistency of the results. Please note that I am not saying you should change
the seed number and keep running the analysis until you find the results you want. I am just saying
that running the bootstrap more than once can provide insight into the consistency of the results you
Mediation 195
are reporting.You might find that the first sample was slightly higher in estimates than when you run it
again.Your ultimate goal is to provide an accurate picture of your results to the reader.
7. You can use a correlation/covariance matrix as your input for a mediation test, but you
will need to use a Monte Carlo parametric bootstrap.
8. Parallel mediation is where you have multiple possible mediators from an independent
variable to a dependent variable in a model.To isolate the effect of a specific mediator, you
will need to use the estimands function in AMOS.
9. Serial mediation is a multiple mediator model that takes place when the first mediator
will have a direct relationship with a second mediator before ultimately having a relation-
ship to the final dependent variable.
10. The “seed” number in bootstrapping allows AMOS to draw the exact same sample as a
prior run so that you will not have slightly different results with each bootstrap analysis.
References
Baron, R.M. and Kenny, D.A. (1986), “The Moderator-Mediator Variable Distinction in Social Psychological
Research: Conceptual, Strategic, and Statistical Considerations”, Journal of Personality and Social Psychology, 51
(6), 1173–1182.
Hair, Joseph F., William C. Black, Barry J. Babin, and Rolph E. Anderson. (2009), Multivariate Data Analysis (7th
ed.). Upper Saddle River, NJ: Prentice Hall.
Hayes, Andrew. (2018), Introduction to Mediation, Moderation, and Conditional Process Analysis (2nd ed.). New York,
NY: Guilford Press.
Zhao, Xinshu, John G. Lynch, and Qimei Chen. (2010), “Reconsidering Baron and Kenny: Myths and Truths about
Mediation Analysis”, Journal of Consumer Research, 37 (August), 197–206.
Chapter 7
Moderation
Introduction to Moderation
Moderation is where the direct influence of an independent variable on a dependent variable is
altered or changed because of a third variable.This third variable, called the “moderator”, can influ-
ence the strength (and sometimes sign) of the relationship from the independent variable to the
dependent variable. A moderator is said to “interact” with the independent variable to determine
the influence on the dependent variable.Thus, you will hear the term “interaction” when testing for
moderation where the combined effect of the independent variable and the moderator is examined.
There are numerous ways to test for moderation using SEM. The first method I will discuss
is the “interaction term” method. An interaction term is where you form a product term of the
independent variable and the moderator. This interaction term will then let you know if the
presence of the moderator is significantly influencing the relationship from the independent vari-
able to the dependent variable. If your moderator is a continuous variable, the interaction term
method is the preferred option in moderation testing. Before moving on to an example, we need
to address the potential graphing discrepancy with moderation. For many researchers trying to
represent moderation graphically in a publication, they will simply draw a line from the mod-
erator that intersects the influence from the independent to the dependent variable.You cannot
graphically draw a moderator like this in AMOS. It will not simply let you draw a moderator
arrow that is intercepting a direct effect between two variables. I just wanted to clarify this point
that AMOS will not reproduce moderation the same way it is often graphically represented.
Let’s look at a moderation example that uses an interaction term. For simplicity, I am going
to use a path model with composite variables to initially show how a moderation test is per-
formed. Later in the chapter, I will show you how to perform a moderation test with a full
structural model.
Using our example from the path model test, adapting a service will lead to Customer
Delight, which will impact customers’ likelihood to spread Positive Word of Mouth. If we
198 Moderation
say that the relationship from Adaptive Behavior to Customer Delight is moderated by how
friendly the employee was during the service, we need to see how the interaction of Adaptive
Behavior and Friendliness influence Customer Delight.
Friendliness
To assess this interaction, we need to form a product term of Adaptive Behavior and Friend-
liness. A problem that can occur with a product term is the issue of high collinearity with the
original constructs which can cause problems in the analysis (Frazier et al. 2004). One way
to circumnavigate this problem is to mean center the variables in your data. There has been
an ongoing debate on whether mean centering is necessary. Previous research has stated the
results are essentially the same whether you mean center or leave the data in its raw form
(Echambadi and Hess 2007; Hayes 2018). While the differences between these methods are
minimal, the advantage of mean centering the data is not only are you accounting for potential
collinearity issues, but it also makes the interpretation of results easier. Thus, the recommen-
dation to mean center your data before analyzing the data is encouraged (Dawson 2014).
In testing for moderation, we need to mean center the independent variable and the
moderator before we form the product term. To mean center the data, we first need to get
the mean for the independent variable and moderator. In SPSS, go to the “Analyze” option
on the top menu, then
go to “Descriptive Statis-
tics” and then “Descrip-
tives”. This will bring up a
descriptives pop-up win-
dow. Since this is a path
model, we are concerned
only with the composite
variables of the independ-
ent variable and modera-
tor. In the Descriptives
window, you need to
select your independent
variable (comp_adapt)
and moderator (comp_
Friendly) and hit “OK”.
This will give us the mean
value for each composite
variable. Adaptive Behav-
ior was 6.12 and Friend-
liness was 5.78 (on a 1–7 Figure 7.1 Finding the Mean and Standard Deviation for a Vari-
Likert Scale). able in SPSS
Moderation 199
Once we have the mean values, we need to form a new variable that is mean centered. In
SPSS, go to the “Transform” menu option and “Compute Variable”. This function will allow us
to create a new variable that is going to mean center the original variable. For Adaptive Behav-
ior, let’s call the new variable “centerAdapt” and in the numeric expression we will subtract
the mean from the original variable of “comp_Adapt” (composite variable of Adaptive Behav-
ior). Let’s do the same thing with the moderator. We will call that variable “centerFriend”. The
new variables will be listed in the last columns of the SPSS data file.
If you are concerned that the new variable is mean centered correctly, you can do a simple
test in SPSS to verify your results. In SPSS, go to the “Analyze” menu option, “Descriptive Sta-
tistics”, and then “Descriptives”. The pop-up window will appear, and this time you will select
the recently formed mean centered variables of centerAdapt and then centerFriend. Hit the
OK button and run the analysis.You can see that the mean for those variables is listed as a zero.
The standard deviation is the exact same for the mean centered and original variables.You will
also notice that the minimum and maximum values have changed from the original variables.
The subtraction of the mean from all the variables has altered these values now. Again, if you
are curious if a variable was actually mean centered, here is a quick way to tell.
Table 7.1 SPSS Results Verifying the Variables Are Mean Centered
Once we have created the new centered variables, we need to create a product term (inter-
action) variable. Let’s go back to the “Compute Variable” function in SPSS. Now we are going
to multiply the two centered variables of “centerAdapt” and “centerFriend”. This will create
an interaction term that we are going to need to assess moderation. Let’s call the interaction
variable “CenterAdapt_X_Friend”. Once we have formed the mean centered variables and the
interaction variable, we are ready to save the data and then go to AMOS to draw our modera-
tion model in the graphics window.
Figure 7.3 Forming an Interaction Term of Adaptive Behavior and Friendliness in SPSS
Moderation 201
In AMOS, to test for moderation you need to include a path from the moderator and interac-
tion variable to the dependent variable, which in this example is Customer Delight. We will have
three paths leading to Customer Delight: the path from the independent variable, the moderator,
and the mean centered interaction of those two constructs. Note that you need only to bring in the
centered interaction variable to AMOS; all other constructs can be the original composite variables.
Once these constructs and paths have been added to the model, we are ready to run the analysis.
Let’s go to the “Estimates” link in the output. Notice that our interaction term is positive and
significant (See Figure 7.5). This means that the relationship from Adaptive Behavior is being
positively strengthened to Customer Delight by Friendliness. If the interaction was significant
but negative, this would indicate that in the presence of the moderator, the relationship from
Adaptive Behavior to Customer Delight is weakened. Our moderator has a significant direct
relationship to Customer Delight; but even if it was non-significant, that is okay because we are
really concerned only with the interaction to determine if moderation is present. If our inter-
action term was non-significant, then we could say that there is evidence that the construct of
Friendliness is not moderating the relationship from Adaptive Behavior to Customer Delight.
Just to recap, in testing for moderation with a continuous variable, you need to form a mean
centered interaction term that is a product of the moderator and independent variable. In AMOS,
you will form a direct relationship from the independent variable, moderator, and mean centered
interaction to the specified dependent variable. From there, you will examine the interaction term
in the analysis to determine if the “interaction” between the moderator and independent variable is
influencing the strength of the relationship of the independent variable to the dependent variable.
Let’s call the new variable “LowFriend”. In the “Transform” menu in SPSS, we go to the “Com-
pute Variable” function. We label our new construct and then take the mean centered compos-
ite variable of the moderator of “centerFriend” and add the standard deviation to it. I know
it seems odd to get the low moderator value by adding the standard deviation, but this is the
necessary process to represent the low levels of the moderator. Once you have formed the
“LowFriend” moderator, you need to create an interaction term with the low level moderator
(LowFriend) and the mean centered independent variable of Adaptive Behavior (centerAdapt).
Just to clarify, the interaction term will multiply “LowFriend” (mean centered moderator plus
one standard deviation) by the mean centered independent variable “centerAdapt”. Let’s call the
interaction term for the low moderator “Adapt_X_LowFriend”. Once you have formed this low
moderator and interaction variable, we are ready to go back to AMOS and form a model for mod-
eration testing. In AMOS, we will test this moderation the same way as we did before, except we
are now using the low moderator and the interaction with the low moderator. To be efficient in
creating the moderation model test, we can drag in the mean centered interaction of the Adaptive
Behavior variable and low level moderator. We will also need to drag in the mean centered low
level moderator variable. Lastly, we can leave the independent variable in the model as the original
composite variable that was used in the first moderation test. Once you have the model drawn, we
can run the analysis and then go to the Estimates link in the output.
Figure 7.8 Moderation Test With Interaction Term Including the Low Level of the Moderator
204 Moderation
In the output, the only relationship we are concerned with is that of Adaptive Behavior
to Customer Delight. We want to see how this relationship changes when low friendliness is
included. Notice that the interaction results and moderator relationship to Customer Delight
did not change from the original analysis. The results show that when the employee had a low
degree of Friendliness, the relationship from Adaptive Behavior to Customer Delight is still
significant but weaker. The original test had an unstandardized regression weight from Adap-
tive Behavior to Customer Delight of .279, and now under low levels of the moderator, the
relationship has weakened to .244.
We have examined the relationship when the moderator is low; let’s now examine when
the moderator is strong or at high levels. In SPSS, let’s form a new variable called “HiFriend”
which denotes high friendliness by the employee. We will take the mean centered variable of
Friendliness, and this time we
will subtract the standard
deviation to get the high level
moderator. After that, we
will form an interaction term
with “HiFriend” and the mean
centered Adaptive Behav-
ior construct “centerAdapt”.
Let’s call the interaction term
“Adapt_X_HiFriend”. Once
these variables have been cre-
ated and you have saved the
SPSS file, you can drag in the
high moderator variables in
AMOS and then you are ready Figure 7.10 C omputing the High Level of the Moderator
to run the analysis again. in SPSS
Moderation 205
Figure 7.11 A MOS Model With Interaction Term Including the High Level of the Moderator
When we go to the Estimates link in the output, the relationship from Adaptive Behavior
to Customer Delight is positive and significant again at high levels of the moderator. Hence,
the construct of Friendliness is moderating the relationship of Adaptive Behavior to Customer
Delight when Friendliness levels are weak and strong. When the moderator was high, the rela-
tionship from Adaptive Behavior to Customer Delight strengthened even more than the initial
test. The regression weight with high levels of the moderator was .315 compared to the first
mean centered test of .279. By probing the interaction, you get a better picture of the relation-
ship from the independent variable to the dependent variable in the presence of the moderator.
With moderation testing, you want to interpret and present the unstandardized results of
your analysis. The interaction term in a moderation test will not be properly standardized and
is not interpretable (Frazier et al. 2004).Thus, you need to focus on the unstandardized results
in testing for moderation.
Up to this point, we have discussed probing an interaction where you are choosing a specific point
above and below the mean of the moderator to determine how the moderator influences the rela-
tionship from the independent variable to the dependent variable.You can also use a floodlight analy-
sis (Spiller et al. 2013) to probe an interaction where it does not look at a specific point above and
below the mean; rather, it examines all possible points of the moderator to determine exactly where
the interaction becomes significant. A floodlight analysis uses an approach that was initially intro-
duced by Johnson and Neyman (1936).To examine the influence of all possible moderator values, a
206 Moderation
bootstrap is performed where you can see the regression weight of the interaction at different levels
of the moderator. A confidence interval is also performed to let the reader know the level of signifi-
cance at each level. The specific point where an interaction becomes significant is often referred to
as the Johnson-Neyman point.You will also hear the term “regions of significance” to refer to a range
of values that represent significance of the interaction of the moderator. Ultimately, the floodlight
analysis is quite handy in telling you exactly what level of the moderator must be present to signifi-
cantly influence the relationship from the independent variable to the dependent variable.
With having to calculate all possible values of the moderator, you can see where this would
be impractical without some computational muscle. Many programs like SPSS, SAS, R, and
others implement macros that can accomplish this analysis for you. I have even seen some
researchers perform a quasi-floodlight analysis where they will pick numerous points below
and above the mean of the moderator to assess the level of significance at different points. This
is probably closer to a “pick-a-point” or spotlight analysis than a true floodlight analysis.
Probing an interaction via a floodlight analysis has grown in popularity because it allows a
reader the ability to assess exactly where a relationship significantly changes in the presence
of a moderator. Instead of examining a specific point, the reader now has the ability to see
the entire range of the data. Saying that, you will often see a floodlight analysis presented in a
graphical form to give the reader an easier interpretation of the data.
There is good news and bad news in regards to performing a floodlight analysis in AMOS.
The bad news is that AMOS does not have a function that will calculate a floodlight analysis
or even give you Johnson-Neyman points. The good news is that there are some researchers,
such as James Gaskin, who are kind enough to develop and share a plugin for AMOS that will
perform this analysis. A simple search on the internet will direct you to those plugins. To view
an example of a floodlight analysis in graphical form, see Figure 7.13.
Upper Bound
Confidence Interval
Interacon of Adapve
Behavior and Friendliness
0.4
Regression Coefficient
0.3
0.2
Lower Bound
Friendliness – Confidence Interval
0.1
the moderator
-0.2
The posive Johnson-Neyman Point is 3.5. At a
moderator (Friendliness) of 3.5, the confidence
-0.3 interval does not cross zero. The interacon of .20
is significantly moderang the relaonship.This is
-0.4 the point where the moderator exhibits
significance. You can also see that the moderator
has a significant relaonship at the 1.5 level.
At this level, the moderator is significantly
weakening the relaonship. The confidence
intervals do not cross zero at this value of the
moderator as well. The values in-between 1.5
and 3.5 indicate non-significance of the moderator.
While this is not a true test of a full structural model because of the mix of latent and
composite variables, this approach can still provide an accurate examination of how a
moderator can influence the relationships between latent constructs. To probe the inter-
action using this method, you would need to form a new composite moderator that rep-
resented the low and high values of the construct (mean centered composite moderator
plus or minus 1 standard deviation). You would then need to create a new composite
interaction term that was the product of the composite independent variable and the new
high/low composite moderator variable. The process of probing the interaction is similar
Moderation 209
to the earlier discussion of probing an interaction in a path model that has all composite
variables.
Yes, you read that right. An interaction term for each pair of indicators across the independ-
ent and moderator variable. If you have a large number of indicators for either construct, you
will have a substantial number of interaction terms to create. To clarify this point, the first
indicator in the Friendliness construct “friendly1” will need to form a separate interaction
for each one of the five adapt indicators. You will then repeat this process for “friendly2” and
“friendly3” until you have 15 interaction terms across the two constructs.
The first step in creating your interaction terms is to mean center all the indicators for
your moderator and your independent variable. After you have mean centered all those indi-
cators, you can then start forming the interaction terms across all the indicators in SPSS
(Using the Transform function/Compute Variable). For the adapt1 and friendly1 interaction,
210 Moderation
I have decided to call the new variable “CAdapt1XFriend1”.You need to form a unique name
for every pairing of the indicators. Once those interaction terms are created, we need to go
back to AMOS and create an unobservable interaction construct. Let’s call the unobservable
interaction “Interaction_A_X_F” and then include the 15 interaction indicators to this unob-
servable construct. Lastly, we need to make sure a direct relationship is going from Adaptive
Behavior, Friendliness, and the new interaction term (Interaction_A_X_F) to the variable of
Customer Delight. The only mean centered indicators that need to be brought into the AMOS
model are the interaction terms. The other constructs can be the original indicators. After
drawing the model with the unobserved independent and dependent variables, moderator,
and interaction term, we are ready to run the analysis. To see a graphical representation of this
analysis, see Figure 7.17.
In the output of this moderation test, we have similar results to the test that was performed
using the path model (composite variables) and the mixed method approach. The full indica-
tor interaction method did produce slightly different results from those of the other tests but
as a whole is still consistent with the findings of previous tests. See Figure 7.18 for the full
structural model results.
Moderation 211
Here is the
“Esmates” output
from the moderaon
test with a full
indicator interacon.
The interacon is
significant and
posive, indicang the
relaonship from the
Adapve Behavior to
Customer Delight is
strengthened.
To be blunt, testing for moderation in a full indicator interaction model can be a tedi-
ous process. In this example, the moderator had only three indicators, which is usually
the minimum number needed to even assess the reliability of a construct’s measures. If
the moderator had five indicators like the independent variable, that number of interac-
tion terms balloons from 15 to 25. Subsequently, there is no shortage of critics for the
212 Moderation
full indicator interaction method. Researchers such as Ping (1998) note that models that
have constructs with a large number of indicators will be creating a very large number of
interaction indicators that can create covariance matrix issues where the model will result
in nonconvergence. As well, the increased number of interaction indicators can negatively
impact model fit estimation. Lastly, Ping notes that reusing the same indicator to form mul-
tiple interaction terms can also be problematic. Marsh et al. (2004) further state that using
the same indicator to form numerous interaction indicators can create artificially correlated
residuals. While this method allows us to use a full structural model with latent variables,
it has its drawbacks as well.
As for probing the interaction, this full indicator interaction method is similar to the pro-
cess outlined earlier for the path model and the mixed method approach. With the path model
example, we subtracted or added the standard deviation from the composite moderator vari-
able to get the high and low levels of the variable. In a full indicator interaction model, you
need to find the standard deviation for each indicator of your moderator variable. With each
indicator, you will subtract its specific standard deviation to get a high level indicator and you
will add that standard deviation to get the low level indicator. After forming the new indica-
tors for the moderator variable, you are ready to create an interaction term. Each low/high
level indicator needs to be multiplied by every mean centered indicator of the independent
variable. Just as before, you will have 15 interaction terms with the low level moderator and
a separate 15 interaction terms with the high level moderator. For instance, if you are run-
ning the high/strong level moderator analysis, you first want to make sure your unobserved
Figure 7.19 Full Indicator Interaction Term With High Levels of the Moderator
Moderation 213
moderator (Friendliness) has the high level indicators attached to the construct. With the
unobserved interaction variable (Interaction_A_X_F), you need to include the 15 newly
formed interaction terms for the high level of the moderator. See Figure 7.19 for a graphical
representation. To perform the low level moderation test, you simply change out the indica-
tors to the low levels for the moderator and the unobserved interaction variable.
When we probed the interaction with a path model, the only results that changed from
the initial analysis was the independent to dependent relationship (Adaptive Behavior to Cus-
tomer Delight).With a moderation test in a full indicator interaction model, you will often see
the “probing” relationships that include the moderator be slightly different from the initial test.
This is often a rounding issue that takes place when each indicator has to be uniquely changed
and then multiplied by the indicators of the independent variable. Subsequently, you are look-
ing at the collective effect of these indicators when assessing structural relationships.When we
are probing an interaction, those relationships are not our primary focus. Our main concern is
the change from the independent to dependent variable with different levels of the moderator.
In Figures 7.20 and 7.21, you will see the results for the high and low level interaction tests
for the full indicator interaction model.
Figure 7.20 Estimates Output for Low Level Full Indicator Interaction Term
Figure 7.21 Estimates Output for High Level Full Indicator Interaction Term
214 Moderation
Matched-Pairs Method
The matched-pairs method is a moderation test that uses latent constructs in a full struc-
tural model but circumnavigates some of the issues that were present with the full indicator
interaction method. The matched-pairs method uses a condensed interaction term instead of
modeling every possible indicator interaction. Marsh et al. (2004) note that a matched-pair
method follows two criteria: (1) the indicators of a moderator and independent variable are
accounted for in the interaction term, and (2) no indicator will be reused to form an interac-
tion term. Let’s consider an example of what this looks like. To make things easy, let’s imag-
ine that the moderator of Friendliness has three indicators and the independent variable of
Adaptive Behavior has three indicators. The matched-pairs method would form an interaction
term by creating a latent variable that included interaction indicators. The indicators would
be created with one indicator of the moderator by one indicator of the independent variable
until all the indicators had been used once and no indicator was reused to form the interaction
indicators. In the example provided, the latent interaction term is formed by multiplying the
first Friendliness indicator by the first Adaptive Behavior indicator. The process is repeated for
Friendliness 2 and Adaptive Behavior 2 along with Friendliness 3 and Adaptive Behavior 3. See
the graphical presentation provided in Figure 7.22.
Friend1
Friend3 Customer
Delight2
Delight
Adapt1
Adapve Delight3
Adapt2 Behavior
Adapt3
Friend 1XAdapt1
Interacon
Friend 2XAdapt2
Term
Friend3XAdapt3
I know many of you at this point have the question, which of the different possible interaction
combinations should I use as my matched-pair? As well, what if I don’t have the same number
of indicators for my moderator and independent variable? How do I form the matched-pair?
Marsh et al. (2008) note that all possible interactions should initially be assessed and then the
Moderation 215
best (highest loading) interaction indicators are used where no indicator is used more than
once. In the example, where you have three indicators in the moderator and the independ-
ent variable, you would choose three interaction indicators that would use all indicators once
and not reuse any indicator. You would initially create an interaction term with all possible
interaction indicators, choose the three with the highest factor loadings, and follow the rules
of using all indicators and not reusing one. If you have differing number of indicators from
the moderator and the independent variable, you will choose the construct with the lowest
number of indicators, and that will be your number of interaction indicators to include in
the newly formed interaction term. Again, you would assess all possible interaction indica-
tors and choose the interactions that used all of the indicators of the smaller construct along
with possible combinations of the larger construct. In essence, the smaller construct will use
all indicators at least once with a combination of indicators of the larger construct. The overt
problem with this method when the number of indicators differ across constructs is that you
are not using all of the indicators to form your interaction variable. Some of the indicators of
the larger construct will be left out.
Let’s look at a matched-pair example with our existing example of Friendliness moderating
the relationship from Adaptive Behavior to Customer Delight. To form the interaction term,
we need to first assess which matched-pair needs to be included, since we have five indica-
tors in the Adaptive Behavior construct and three indicators in the Friendliness construct. In
the previous example of the full indicator interaction, we included all possible interactions in
the interaction term construct. Looking at those results (Figure 7.18), the best matched-pair
based on factor loadings is Adapt1&Friend1, Adapt2&Friend2, and Adapt4&Friend3. Notice
that the smaller construct of Friendliness includes all the indicators at least once, but we are
using only a subset of three indicators from Adaptive Behavior. In AMOS, we are going to
model all constructs as latent unobservables with the indicators included along with the new
interaction latent construct that has the three matched-pairs included as the indicators; see
Figure 7.23. Let’s look at the results in AMOS.
The matched-pair
results show that
the interac on term
rela onship to
Customer Delight is
very near to the
results of the full
indicator interac on
method without
having to add nearly
as many interac on
indicators to the
model.
To probe the interaction with the matched-pair approach, you will need to get the high and
low values of the moderator and multiply those values by the three indicators of the independ-
ent variable that is selected to be “matched” with the moderator.
Figure 7.26 displays the results of the moderator Friendliness at low levels using the
matched-pair method.
Figure 7.26 Estimates Output for Matched-P airs Moderation Test With Low Level Moderator
Figure 7.27 displays the results of the moderator Friendliness at high levels using the
matched-pair method.
Figure 7.27 Estimates Output for Matched Pairs Moderation Test With High Level Moderator
Table 7.2 Comparison of the Moderation Results Across Methods
Ada ptiv e Behavior → Customer Delight .279 (8.18) .261 (7.69) .243 (7.08) .243 (7.04)
Friendliness → Customer Delight .376 (16.80) .331 (15.33) .355 (14.95) .355 (14.92)
Interaction Term → Customer Delight .026 (2.14) .026 (2.38) .033 (2.71) .030 (2.63)
Customer Delight → Positive Wor d of Mouth .648 (11.06) .766 (10.57) .764 (10.56) .764 (10.55)
Model Fit: χ 2 = 5.30 χ 2 = 90.42 χ 2 = 5769.81 χ 2 = 172.64
df = 3 df = 60 df = 370 df = 112
CFI = .99 CFI = .99 CFI = .81 CFI = .99
TLI = .99 TLI = .99 TLI = .80 TLI = .99
RMSEA = .04 RMSEA = .03 RMSEA = .17 RMSEA = .03
Note: Unstandardized results presented with t-v alues in parentheses.
Moderation 219
In Table 7.2, you can see a comparison of the different moderation testing techniques.
While there is consistency in the results, each one of these methods of moderation testing
has a drawback. The path model is the simplest way to test moderation, but you are not
assessing any of the measurement error in the model with this method, and the path model
is near saturation, which can skew model fit results. The mixed method approach accounts
for the measurement error in the independent and dependent variables but fails to run a
latent interaction test and, subsequently, does not account for measurement error in the
moderator. The full indicator interaction method is the most laborious approach and has
serious concerns in regards to assessing the fit of a model. In this example, the model fit
is unacceptable with the inclusion of so many interaction indicators in the model. The last
approach of matched-pair runs the moderation test in a full structural model with latent
constructs, but the interaction term accounts for only some of the influence of the inde-
pendent variable because it had a larger number of indicators than the moderator. As stated
earlier, each method has its drawbacks, but based on this analysis, the advised approach to
moderation testing would be the mixed method or matched-pair technique.
SPSS will create a new variable for each one of the variables selected in the Descriptives
window. At the end of the data, SPSS will add a “Z” in the front of the newly formed variable
along with the original variable name. See Figure 7.29.
These standardized variables are now mean centered and rescaled.You will then use these Z
score indicators to create interaction terms just like we did with the mean centered example.
I have included an example of what the graphic depiction would look like in AMOS. Notice
that the interaction terms are all reformed with the Z scores and all the labels have a Z at the
front to denote a Z score interaction.
Let’s now look at the results of our full structural moderation test with the standardized Z
score interactions and compare the results to the mean centered moderation test.
Esmates output
from the
manual mean
centered analysis.
Esmates output
from the
Z Score
variables.
Comparison of the results shows a small difference in the unstandardized regression weights
of the interaction variable. The t-value for the interaction is exactly the same across the differ-
ent tests. The standardized regression weights are also exactly the same across the two tests.
Any differences that are present across the two moderation tests is a result of rescaling the data
with the Z scores and rounding considerations with the mean centered option. The results are
essentially equivalent.
Probing the interaction with a Z score moderation test is accomplished in a slightly
different manner. Transforming the data to a Z score rescales the data where 1 unit (or
a value of 1) is 1 standard deviation. To create the high moderation variable, you would
need to take the Z score for each indicator of the moderator and subtract a value of 1.
For the low moderation, you would add a value of 1 to all the Z scores for the indica-
tors of the moderator. After that, you would form your interaction terms with the Z
score Hi/Low moderator indicators multiplied by the independent variables’ Z score
indicators.
Whether you use mean centering or Z scores, both methods should help to account for any
potential multicollinearity between the moderator and the independent variable. While the Z
score option may save you some time, you need to be aware that Z scores will rescale your data
and subsequently impact standard deviation values.With a mean centered value, your standard
deviation does not change from the original data, and the scale is still the same. One unit with
a mean centered value is still one unit.
We now know the relationship is different across the groups, but I do not know if a specific
category is strengthening/weakening a relationship compared to another category. To find out
this information, we need to go to the “Estimates” link in the output and examine the regres-
sion coefficients across the groups.
In the Esmates
link, you need to
select the
“First_Time” group
and then examine
the Adapve
Behavior to
Customer Delight
relaonship. The
relaonship is
significant with an
unstandardized
regression weight
of .384.
Figure 7.35 Examining the Direct Effects in the Estimates Output for the First-T ime Group
If you now select the “Repeat” group, you see the Adapve Behavior to
Customer Delight relaonship is significant, but the unstandardized
regression weight is much smaller (.152). Thus, we can conclude that
the first-me customers have a stronger influence on the Adapve
Behavior to Customer Delight relaonship than the repeat customers.
Our chi-square difference test shows us that the moderator is
significant and the examinaon of the regression coefficients lets us
know how the moderator influences the specified relaonship.
Figure 7.36 Examining the Direct Effects in the Estimates Output for the Repeat Group
Moderation 227
With categorical moderation testing, we are not creating interaction terms like with modera-
tion testing with a continuous variable. We treat the different categories of the moderator like
they are two separate groups. These groups are then compared to determine if the relationship of
interest is different across the groups and which group is stronger/weaker compared to the other.
In this example, I used first-time/repeat customers, but the moderation test could have been
a demographic variable such as Male/Female. Examples of other variables for moderation testing
could have been customers that just wanted dessert/customers that wanted a full meal. It could
even be the actions of the employee such as the employee broke a rule to make a customer happy/
employee did not break a rule to make a customer happy.The categorical moderator just needs to
be a distinct category. Presenting the results of a categorical moderation test will be similar to the
presentation of a two group analysis. You will present the regression weights and t-values across
the groups. You will also need to present the chi-square difference test. Since we are not mean
centering the data, you can also present the standardized regression weights if you want.
In the past, I would see numerous research studies where a researcher would take a continuous
variable and artificially break the variable into two categories. For instance, you would see a
variable like Ease of Use on a 7-point Likert scale that would be broken into two categories of
(a) Hard to use and (b) Easy to use. The division of the continuous variable was usually split at
the mean of the data.This two category Ease of Use construct would then be used for a modera-
tion test as the categorical moderator. There are numerous problems with taking a continuous
variable and splitting it into a categorical variable. First, the data might be extremely skewed
where the mean of the data is a 6 on a 1-to-7 scale.You would probably see values listed as a 5
combined into the low ease of use category based on where the mean lies. If you had a full range
of scores, a 5 might actually be considered a high ease of use response. Put another way, you are
actually taking relatively high ease of use scores and calling them low because of the skewness of
the data. Second, I often feel the cut point that distinguishes categories is determined by which
alternative produces the best results for the researcher. I have heard of researchers using three
different cut point options and the one they ultimately choose is the one that lines up with their
hypotheses. It feels very opportunistic when you are arbitrarily dividing a continuous variable
into categories. That said, I feel the best option for testing moderation with a continuous vari-
able is to use an interaction term. By using an interaction term, you also avoid the criticism that
you are just capitalizing on chance because of how this data set was divided.
The pairwise parameter comparison will show you all the possible constraints of parameters.
I will warn you that this is only a good option if you have a very small number of parameters;
otherwise, you will be drowning in all the possible combinations of parameter comparisons.
To make things simplistic, let’s use the path model example (composite variables) and test if
first-time customers/repeat customers are moderating the relationship from Adaptive Behav-
ior to Customer Delight. After forming the model, creating the groups, and labeling all the
parameters, go into the Analysis Properties window . In the Output tab, you will see a
checkbox on the right-hand side that says “Critical ratios for differences”; let’s check that box.
After doing that, cancel out of the window and run your analysis.
Figure 7.37 C ritical Ratios for Differences Function Located in the Analysis Properties
Window
Once the analysis finishes running, go into the output. You need to click the link titled
“Pairwise Parameter Comparison”. This output will give the critical ratio (t-value) for every
possible parameter comparison across the groups. It constrains all possible parameters across
the groups and present the results of those comparisons. The parameter comparison that we
are concerned with is the one from Adaptive Behavior to Customer Delight, labeled b1_1 (for
first-time customers) and b1_2 (repeat customers).To find the b1 parameter comparison, you
will need to find the b1_1 on the column value and b1_2 on the row level.
Moderation 229
If you look at where they intersect, the critical ratio value says 5.352, which is significant.
The value is negative, but we are concerned only with the absolute value presented. After
determining that the relationship is significantly different, you can go to the Estimates output
and see the differences of regression weights across the groups.
I do not recommend this option in testing categorical moderation because the pairwise
parameter output is so hard to use. If you have a full structural model, you will be scrolling 40
columns to the right and 45 rows down to see the parameter of interest. It can be extremely
difficult to find your specific parameter of interest in a large model (especially one that is a
full structural model).
Friendliness
In AMOS, we drag in our constructs and include the paths for mediation. We also include
the moderator and the interaction term into the model. Note the interaction term needs to
230 Moderation
be created by the mean centered variables as outlined in the moderation examples presented
earlier. After we have drawn the model, we label all the parameter estimates. This will be nec-
essary when we start using the estimands function in AMOS. See Figure 7.40.
In the estimands function, we are going to examine the indirect effects at different lev-
els of the moderator. In AMOS, we are going to select the “Define new estimands” function
which will bring up a pop-up window. The indirect effect is the product of the A_Path and
the B_Path. Initially, we are going to tell AMOS to calculate the labeled parameter “A_Path” by
the “B_Path”. This is going to determine the indirect effect in the presence of the moderator.
Make sure the moderator and interaction term are included in the model; we are not trying
to piecemeal the analysis. Next, we need to “probe” the indirect effect to determine how the
moderator influences the indirect effect when it is at different levels. In the estimands func-
tion, let’s label these tests “OneStandBelow” and “OneStandAbove”. This will denote that the
moderator is one standard deviation below the mean and one standard deviation above the
mean. The standard deviation for Friendliness is 1.37746.
To probe the moderator at different levels, we initially take the path from the interaction
term to the mediator (D_Path) and multiply it by the standard deviation of the moderator. We
then take this value and multiply it by the path from the independent variable to the mediator
(A_Path). Next, the product of those values will be multiplied by the path from the media-
tor to the dependent variable (B_Path). To help clarify this, let’s look at an example of what
the formula would look like in the estimand function: (A_Path+(D_Path*1.37746))*B_Path.
This would represent the one standard deviation above test. The One Standard Below formula
would be exactly the same, except the interaction parameter (D_Path) would be multiplied
by the negative of the standard deviation. See the example of the formulas in the estimand
formula window in Figure 7.41.
Normally, in a moderation test, you would need to form your new “Hi and Low” mean
centered variables and interactions in SPSS but the estimands function will allow us to save
some time by calculating them all at once. Once you have saved the new estimand function,
make sure to run the syntax check. Remember that an estimands function will not run unless
a bootstrap analysis is being performed. You need to go into the Analysis Properties, select
Moderation 231
Figure 7.41 Estimand Function Testing Indirect Effects at Different Levels of the Moderator
perform bootstrap and change the samples to 5,000, and then change the confidence interval
to 95%. You are now ready to run the analysis. Let’s initially go to the Estimates link in the
output.
From these results, we can see that the A_Path is significant along with the B_Path. We
also see a significant interaction. Notice the C_Path or direct effect of Adaptive Behavior to
Customer Delight is non-significant. This is good initial information, but we still do not know
about the indirect effect or how the moderator influences the indirect effect. Under the Esti-
mates link, let’s go to the “Scalars” option and then select the “User-defined estimand” link.
This will initially give us the indirect effect for all our outlined tests in the estimands function.
If you select the “Bias-corrected percentile method” at the bottom, you will have the bootstrap
results that you need. As you can see in the output of Figure 7.43, the indirect effect in the
presence of the moderator is .156, and per the bootstrap, that is within the confidence interval
at a p < .001 level. You will also see the indirect effects when we probed the interaction at
one standard deviation below and above the mean. The results show than when the moderator
is low, the indirect effect is .136, which is still significant. Conversely, when the moderator is
high, the indirect effect is .176 and significant as well.
232 Moderation
Figure 7.43 User Defined Estimand Showing Indirect Effects at Different Levels of the Moderator
The last test we need to assess is if the construct of Friendliness is significantly moderating
the indirect effect. We saw earlier that the interaction was significant but that just tests the “A_
Path”. We need to assess if the indirect effect is being moderated. This is assessed by the index
of moderated mediation value. This value is calculated by getting the product of the interaction
term (D_Path) to the mediator by the relationship of the mediator to the dependent variable
(B_Path). This analysis examines if the slope is significantly different than zero, which indicates
that moderated mediation is taking place. Since there is only one mediator, AMOS will give us
this information in the Indirect Effects output along with a bootstrap analysis to determine if
the index of moderated mediation is significant. In the Estimates link, you need to go to the
“Matrices” option. In the unstandardized indirect effects, you will see the indirect effect of the
interaction term (through customer delight) to positive word of mouth. That value is .015.
With the index of moderated mediation, we used the AMOS indirect effect results
because the interaction was only going through the single mediator of Customer Delight
to Positive Word of Mouth. There was only one possible indirect path from the interaction
term to Positive Word of Mouth. If you have multiple mediators that you are testing simul-
taneously, you would be better off using the estimands function. In that situation, you will
denote what specific relationships you wanted to isolate in the bigger model. In our exam-
ple, the estimands formula for the index of moderated mediation would be the D_Path
(interaction term to customer delight) multiplied by the B_Path (Customer Delight to
Positive Word of Mouth).
234 Moderation
Example 7.2:
Table 7.4 Test for Moderated Mediation Using 95% Confidence Interval
Adaptive Behavior → Customer Delight → .126 .156 .097 /.229 < .001
Positive Word of Mouth* (1.81)
Probing Moderated Indirect Relationships
Low Levels of Friendliness: .136 .083 /.203 <.001
High Levels of Friendliness: .176 .107 /.263 <.001
Index of Moderated Mediation .015 .001 /.031 .039
Note: * = The indirect effect is moderated by the construct of Friendliness.
Unstandardized coefficients reported. Value in parentheses is t-v alue. Bootstrap Sample = 5,000 with
replacement.
Now that we have drawn our model and created the groups, we need to label the param-
eters for each group. The labels need to be unique for each group. The reason we are labeling
the parameters is because we are going to use the estimand function to help determine if
moderated mediation is present. Let’s select the “FirstTimeCustomer” group and then select
(double click) the parameter from Adaptive Behavior to Customer Delight. This will bring
up the Object Properties box where we will label this path the “A_Path”. You can call it any-
thing you like; the name is arbitrary. By default, a checkbox on the Object Properties page
is selected, called “All groups”. If this box is selected, it will use the same label name for this
parameter across all the groups. We want to label all parameters uniquely across the groups,
so uncheck this box.You will have to uncheck the box with each parameter you are trying to
label in the first group.
After setting up our groups and labeling all the parameters uniquely for each group, we are
ready to set up the estimand formula. Remember from our previous mediation discussions
that the indirect effect is the product of the A_Path and the B_Path. To test if our categorical
moderator is influencing the indirect effect, we are going to determine the difference between
the indirect effects in the presence of the moderator. Put more succinctly, we are going to take
the difference of the indirect effects across the groups. After that, we will then run a bootstrap
analysis to see if the differences are significant.
In the estimands function, we want to define a new estimand. I will call the test “ModMediation”.
In the estimands function, I am going to find the indirect effect for the first-time customer group
(A_Path*B_Path) and then I am going to specify the repeat customer group (A_PathRepeat*B_
PathRepeat). I am going to subtract the indirect effect of the repeat customer group from the
first-time customer group. This function will give us the difference of the indirect effects.
Figure 7.49 Estimand Function Examining the Differences Across the Group’s Indirect Effects
Moderation 237
Once we have set up the estimands function, we can check the syntax and then hit the save
button and exit the screen. Before we run the analysis, you need to make sure you have gone to
the Analysis Properties window and selected the “indirect, direct, and total effects” button in
the output.You also need to perform a bootstrap analysis with 5,000 samples and a confidence
interval of 95%. After making these selections, you are ready to run the analysis.
In the output, let’s go to the “Estimates” link and then go to the “Scalars” option where we
will select the “User-defined estimands”. This will initially just show us the difference of the
indirect effects (.121), but we still don’t know if the difference is significant. Let’s now select
the “Bias-corrected percentile method” link on the left-hand side that is at the bottom of the
page. This will give us the bootstrap analysis for the difference of indirect effects. The results
show that the lower bound confidence interval crosses zero, which means there is a nonsig-
nificant result in the difference between the indirect effects. Thus, we can conclude that the
status of the customer (first-time or repeat) does not significantly moderate the mediation of
Adaptive Behavior through Customer Delight to Positive Word of Mouth.
If the results had been significant, we would then look at the indirect effects for each group
to see which one was stronger. We would find that by going to the “Estimates” link, then the
“Matrices” option where we would select indirect effects. We would have to select the group
we wanted to see from the groups window on the left-hand side. In this example, the indirect
effect for repeat customers was .089 and for first-time customers .209. If we had found a
significant moderated mediation test, then we could conclude that the indirect effect is signifi-
cantly strengthened by first-time customers compared to repeat customers.
Note that both of the indirect effects are significant for each group but the difference
between the indirect effects is not significant, noting that moderated mediation is not present.
One thing to remember is the difference of indirect effects will be dependent on how you
order the groups in the estimand function. Our moderated mediation difference could have
easily been −.121 if we would have subtracted the first-time customer group from the repeat
customers. Just be mindful that the sign of the effect is dependent on the groups and which
one is listed first in the estimands window.
6. Testing a full structural model with a moderator can be accomplished in one of three
ways: (1) the mixed model method, (2) the full indicator interaction method, or (3) the
matched-pairs method.
7. Instead of mean centering your data, you can also use Z scores. Z scores will rescale your
data and standard deviation scores.
8. A categorical moderator in SEM is tested in a two group analysis. The different categories
of the moderator are treated as different groups.
9. It is unadvisable to take a continuous variable and split the data to create a categorical
moderator variable. If a moderator is in a continuous format, then interaction testing is
recommended.
10. Moderated mediation is where you are trying to determine if a moderator is influenc-
ing the indirect relationship from the independent variable to the ultimate dependent
variable.
11. You need to assess the index of moderated mediation to determine if a moderator is sig-
nificantly impacting an indirect effect.
12. Moderated mediation with a categorical moderator is tested by examining the difference
of the indirect effects across the categories and using a bootstrap to determine if the dif-
ference is at a significant level.
References
Dawson, Jeremy F. (2014), “Moderation in Management Research”, Journal of Business and Psychology, 29 (1), 1–19.
Echambadi, Raj and James D. Hess. (2007), “Mean-Centering Does Not Alleviate Collinearity Problems in Moder-
ated Multiple Regression Models”, Marketing Science, 26 (3), 438–445.
Frazier, Patricia A., Andrew P. Tix, and Kenneth E. Barron. (2004), “Testing Moderator and Mediator Effects in
Counseling Psychology”, Journal of Counseling Psychology, 51 (1), 115–134.
Hayes, Andrew. (2018), Introduction to Mediation, Moderation, and Conditional Process Analysis (2nd ed.). New York,
NY: Guilford Press.
Johnson, Palmer O. and Jerzy Neyman. (1936), “Tests of Certain Linear Hypotheses and Their Application to Some
Educational Problems”, Statistical Research Memoirs, 1, 57–93.
Marsh, Herbert W., Zhonglin Wen, and Kit-Tai Hau. (2004), “Structural Equation Models of Latent Interac-
tions: Evaluation of Alternative Estimation Strategies and Indicator Construction”, Psychological Methods, 9 (3),
275–300.
Marsh, Herbert W., Zhonglin Wen, and Kit-Tai, Hau. (2008), “Structural Equation Models of Latent Interaction
and Quadratic Effects”, in Gregory Hancock and Ralph D. Mueller (eds.) Structural Equation Modeling: A Second
Course. Greenwich, CT: Information Age.
Ping, R.A. Jr. (1998), “EQS and LISREL Examples Using Survey Data”, in R.E. Schumacker and G.A. Marcoulides
(eds.) Interaction and Nonlinear Effects in Structural Equation Modeling. Mahwah, NJ: Erlbaum.
Spiller, Stephen A., Gavan J. Fitzsimons, John G. Lynch Jr., and Gary H. McClelland. (2013), “Spotlights, Flood-
lights, and the Magic Number Zero: Simple Effects Tests in Moderated Regression”, Journal of Marketing Research,
50 (2), 277–288.
Chapter 8
Initially, in our path model example, Adaptive Behavior was measured on a 7-point Likert
scale. Now, let’s say we performed an experiment and the employee either adapted the service
experience for the customer (treatment) or they did not adapt the experience (control). After
the experience, customers were asked questions about feelings of delight and intentions to
spread word of mouth. In the data, all respondents who had an adapted service were coded
as a “1”, and all respondents who
did not receive an adapted ser-
vice were coded as a “0”. The
column label for this dummy
coding is called “BinaryAdapt”.
After the category variable has
been dummy coded, we can set
up the model in AMOS and run
the analysis. Figure 8.1 Binary Independent Variable Model
The output in the Estimates link (See Figure 8.2) shows us that the binary variable of
Adaptive Behavior to Customer Delight is significant. The unstandardized estimate is .820.
You don’t want to look at the standardized estimates with a dummy coded variable. Since
the estimate is positive, this means that values coded as a 1 (employees adapted the service)
Categorical Independent Variables in SEM 241
had a stronger effect on Customer Delight than the group coded as a 0 (employees did not
adapt the service). If the unstandardized coefficient was a negative, this would mean the
group coded as a “0” had a stronger relationship to Customer Delight. To add greater con-
text to these findings, the regression coefficient of the binary variable is nothing more than
the mean difference of the Customer Delight construct across the groups. If you examine
the mean of Customer Delight for the group that adapted the service and the group that
did not adapt the service, the difference of those values is the regression coefficient of the
binary variable in AMOS.
The regression coefficient for the categorical variable to the dependent variable is the difference of
means in the dependent variable across the groups. Not Adapted group (coded as 0) Customer
Delight mean = 5.734. The Adapted group (coded as 1) Customer Delight mean = 6.5539. The
difference: 6.5539 − 5.734 = .820.
In the results, we are examining if the indirect effect is significantly different across the
categories. We will calculate the indirect effect as we have in the previous examples of mul-
tiplying the path from the independent variable to the mediator by the relationship from the
mediator to the dependent variable. The relationship from the binary variable to the mediator
(A path) is the difference of means of the mediator across the groups. This difference will then
be multiplied by the path from the mediator to the dependent variable (B path). Since the
independent variable is dummy coded as a 1 or 0, the indirect effect would be considered the
“relative indirect effect”. The same would apply with the direct effect from the binary variable
to the dependent variable (C path). This would be considered a “relative direct effect”. Since
your independent variable is dichotomous and the mediator is continuous, you need to be
clear that this is the relative effect on the dependent variable.
Let’s look at the Estimates output to initially examine the direct effects.
Next, let’s examine the indirect effect. In the Estimates link in the output, select the “Matri-
ces” option and then select the indirect effects option (note that you have to ask for indirect
effects in the Analysis Properties window). The results show that the indirect effect has a value
of .493. The indirect effect is positive, which initially tells us the independent variable coded
as a “1” has a relatively stronger indirect influence on the dependent variable. We need to
determine if this relative indirect effect is significant.
Figure 8.6 Relative Indirect Effects of the Binary Adaptive Behavior Construct to Positive
Word of Mouth
Once you are in the indirect effects option, you need to select the Bias-corrected percentile
method option that is at the bottom of the output screen.This will give us the significance and con-
fidence intervals of the indirect test.The bootstrap analysis shows that the upper and lower bound
confidence intervals do not cross zero; thus the indirect effect is statistically significant. Ultimately,
we can conclude that the relative indirect effect of adapting a service has a significantly stronger
influence on the construct of positive word of mouth than the group that did not adapt the service.
Many categorical independent variables take the form of an experiment where you have a
manipulation and a control group. In testing the relative indirect effect, you are trying to assess
not only if the manipulation group has a direct effect to a mediator, but whether the influence
244 Categorical Independent Variables in SEM
of the manipulation group impacts the ultimate dependent variable. In our results, the relative
direct effect was insignificant, but the addition of a mediator shows that an indirect effect is
present to the dependent variable. In essence, the influence of the manipulation group was
fully mediated to the dependent variable. Just because an independent variable is categorical
does not mean you cannot assess if an indirect effect is present in your model. AMOS may
require that the dependent variables are continuous, but you can evaluate independent vari-
ables in numerous formats if it is coded appropriately.
We initially had the Adaptive Behavior construct as a binary construct where customers
either received an adaptive service or not. Now let’s change the Adaptive Behavior construct
to have three categories. The first category is the employee did not adapt the service. The
second category is the employee adapted the service at the beginning of the experience, and
the last category is the employee adapted the service at the end of the experience. These three
categories will let us know when adapting an experience influences Customer Delight the
most. We now have three separate categories that need to be analyzed. If we look in SPSS,
I have a column titled “MultCatAdapt”, which has the three categories listed as a 1, 2, or 3.
With a multicategorical analysis, one of our initial categories has to be used as a “refer-
ence” category, or, to put it another way, a comparison category to all the other categories. In
this example, I am going to use the no adaptation category as a reference group. I can choose
whatever group I want as the reference group, but it makes sense to use a category that is
similar to a control group as the reference. To test our categorical independent variable, we
are going to include two variables at the front of the model instead of just one. The two newly
formed categorical variables of “AdaptBegin” and “AdaptEnd” will now act as the independ-
ent variable at the front of the model. Note that the no adaptation group is coded as zero in
both groups of “AdaptBegin” and “AdaptEnd”. Again, that group will be used a reference in
the analysis.
We want to understand the collective effect of the categories, so we are not going to test
each category individually. We are going to include both the “AdaptBegin” and “AdaptEnd” in
the model. The “AdaptBegin” variable is where we will be testing those customers who had
an adapted service at the beginning of the experience compared to those that had no experi-
ence adapted. Similarly, the “AdaptEnd” category is going to compare the customers who had
an adaptation that took place at the end of the experience compared to those that did not have
an adapted experience. After drawing the model, let’s run the analysis and go to the output
and examine the “Estimates” link in the results.
First, we are concerned only with the unstandardized results with the dummy coded vari-
ables. A standardized dummy variable is nonsensical. Remember that the regression weight
listed from the dummy variable to Customer Delight is just the differences of means of the
groups. In our results, customers in the “AdaptBegin” group were significantly different from
those in the no adapt group, with the AdaptBegin group having a relatively stronger relation-
ship to Customer Delight than the no adapt group.
Since the regression coefficient is positive, we know that the group labeled a 1 (Adapted at
the Beginning group) is the relatively stronger group. In the AdaptEnd group, we see a positive
and significant relationship to Customer Delight as well. The AdaptEnd group has a relatively
bigger influence to Customer Delight than the AdaptBegin group. The difference in Customer
Delight for the AdaptEnd group was greater than the difference in the AdaptBegin group. Thus,
we can conclude that the AdaptEnd group has a relatively stronger effect to Customer Delight
than the AdaptBegin group compared to those that did not have an adapted experience.
I know the next question many of you will have: how do I just compare the groups of those
that adapted the service at the beginning to those that adapted the service at the end? If you
are concerned only with the comparison of those groups and are not concerned with the “no
adaptation” group, you can recode the adapt in the beginning and adapt at the end groups into
a dichotomous variable of 1 or 0 and then run the analysis again with this new variable. This
new test will specifically test the differences between these groups.
Customer Delight
Adapve Behavior
(Categorical) Posive WOM
248 Categorical Independent Variables in SEM
Since we have two new dummy coded variables now acting as the independent variable, we
will have to assess the indirect effect coming from each variable. We have only one mediator in
this example, so we can initially just use the indirect effects tests that are provided by AMOS.
We could also use the estimand function to find the indirect effect. I will show the results
using both methods. Let’s look at the indirect effects test in AMOS first.
Figure 8.12 Multicategorical Mediation Model With Direct and Indirect Effects Included
You need to initially draw your model with both the categorical dummy variables having a
path to the mediator and also to the dependent variable. After drawing the model, you need
to request the “direct, indirect, and total effects” options in the Analysis Properties. You also
need to request a bootstrap with 5,000 samples and a confidence interval at 95%. After mak-
ing these selections, you are ready to run the analysis.
In the output, let’s go the “Esti-
mates” link and then the “Matrices”
option, and then select the unstand-
ardized indirect effects. The results
of the analysis indicate that both
indirect effects are positive, which
indicates that the reference group is
relatively weaker for each category. Figure 8.13 R elative Indirect Effects for Each Cate-
We can also see that the indirect gorical Independent Variable
effect for the AdaptEnd group has
a relatively stronger indirect effect than the AdaptBegin group compared to the reference
group. The AdaptEnd group has an indirect effect of .622, and the AdaptBegin group has an
indirect effect of .469.
We now need to determine if the indirect effects for each categorial variable are significant.
In the output, we are currently selecting the unstandardized indirect effects in the “Estimates”
link. You need to select the “Bias-corrected percentile method” option that is located at the
bottom left-hand side of the screen. The results provide the bootstrap analysis results. The
results of our bootstrap show that each indirect effect is significant and that no confidence
interval crosses over zero. Thus, we can conclude that adapting a service at the beginning of
an experience has a significant indirect effect to Positive Word of Mouth through Customer
Delight. Similarly, adapting a service at the end of an experience also has a significant indirect
Categorical Independent Variables in SEM 249
effect to Positive Word of Mouth. Compared to the group that did not receive an adaptation in
the service, the group that had an adaptation at the end of the service had a relatively stronger
indirect influence to Positive Word of Mouth than the group that adapted the service at the
beginning of the experience.
To add greater clarity to the mediation test, let’s look at the direct effects for each cat-
egorical dummy variable in the “Estimates” link. See Figure 8.15. The AdaptBegin variable
does not have a direct relationship to positive word of mouth (p = .164), which means the
indirect effect is taking place fully through the Customer Delight construct. Conversely, the
AdaptEnd dummy variable has a significant direct effect. This indicates that the influence of
the adapt at the end of the service group is partially mediated through Customer Delight
but has a direct influence as well.
The AdaptEnd
dummy variable is
exhibi ng par al
media on where
the AdaptBegin
variable is
exhibi ng full
media on.
We used the indirect effects test in AMOS to find our results, and this is an easy way to find
mediation if you have only one possible indirect path. Since there was only one mediator between
the independent variable and the dependent variable, the indirect path could take place in only
one method. If we had more than one option for the indirect effect, we would not want to use the
250 Categorical Independent Variables in SEM
indirect effect test through AMOS. We would be better off using the estimands function. To use
this function, we would initially have to label all the parameters across the model. See Figure 8.16.
In the estimands function, I am going to “Define new Estimand” to calculate the indirect
effect for each dummy coded variable. I’ll call the indirect test for the adapt at the beginning
group simply “Indirect_Effect_AdaptBegin” and call the indirect test for the adapt at the end
group “Indirect_Effect_AdaptEnd”. An estimands function requires a bootstrap analysis to be
performed. Make sure to select a bootstrap sample of 5,000 and a confidence interval of 95%.
At this point, you are ready to run your analysis.
Figure 8.17 Estimands Function Needed to Assess Indirect Effects of a Dummy Coded Variable
In the Estimates link of the output, you need to select the “Scalars” option and then the “User-
Defined estimands” output. This will initially just give you the indirect effects, but if you also
select the “Bias-corrected percentile method” at the bottom of the output, this will give you the
indirect effects along with the bootstrap analysis. See Figure 8.18. The results of the estimands
function mirror the same results that we received from the indirect effects test in AMOS. If you
Categorical Independent Variables in SEM 251
have a simple mediation analysis where there is only one mediator, then using the indirect effects
test in AMOS is a little quicker. If you have more than one potential mediator or just want more
specificity in the analysis, then using the estimands function is the preferred option.
Figure 8.18 User Defined Estimands That Includes Confidence Intervals for Each Indirect Effect
To set up this test, we are going to dummy code the categorical variable again. We are
going to use the same names for the constructs as before. Since we are testing modera-
tion with a continuous variable, we need to form an interaction term. The first thing you
need to do is mean center the moderator. Since the independent variables are dummy coded
to ones and zeroes, there is no need to mean center those variables. After you have cen-
tered the data with the moderator, you need to create an interaction term for both of the
dummy coded independent variables (AdaptBegin and AdaptEnd). I will call these varia-
bles “AdaptBegin_X_CenterSpeedy” and “AdaptEnd_X_CenterSpeedy”. Once we have the
interaction terms created in SPSS, then you are ready to draw the model in AMOS. See
Figure 8.19.
Both of the independent dummy coded variables will have a relationship to Customer
Delight and Positive Word of Mouth in order to test the mediation properties. Next, you
will include the moderator and the two newly created interaction terms, and they will have
a direct influence on Customer Delight. At this point, we have two dummy coded variables
acting as the independent variable, a continuous moderator, and two interaction terms with
the dummy coded variables.
To test for mediation, we will also use a bootstrap analysis and examine the significance of
the indirect effects in the presence of the moderator. Lastly, we are going to use the estimands
function in AMOS to help probe the interaction of the indirect effect of the categorical vari-
ables to the construct of Positive Word of Mouth. After drawing the model, we need to label
all the parameters in the model. Since we have two categorical independent variables, I am
going to label the path from “AdaptBegin” to Customer Delight as “A_PathBegin”. I will call
Categorical Independent Variables in SEM 253
the relationships from “AdaptEnd” to Customer Delight “A_PathEnd”. I will use the same pat-
tern with the direct effects, labeling them “C_PathBegin” and “C_PathEnd”. See Figure 8.20
to see all the labels for the remaining paths in the model. You can see that each label has a
unique name.
We now need to use the estimands function in AMOS to determine the indirect effect
and how it changes with the moderator. We are initially going to examine the indirect path
for each categorical variable. We are then going to probe the interaction of the indirect
effect. The standard deviation for our moderator (Need for Speed) was 1.08418. Now we
are going to probe when the moderator is low for the first categorical variable of Adapt-
Begin. To do this, we take the interaction estimate (F_Path in this example) and multiply
that by the standard deviation to get the effect at one standard deviation above the mean.
We are also going to multiply the negative of the standard deviation to get the effect that is
one standard deviation below the mean. This revised interaction term will be added to the
“A_Path” and then multiplied to the “B_Path”. I know that might sound complicated, but
it is really pretty simple when you see it in the estimand window (Figure 8.21). To test the
indirect effect at high levels of the moderator (Need for Speed), the name “SpeedHiatBegin”
will be used as the name for the test when adaptation at the beginning group is compared
to the no adaptation group. The other categorical variable of adapting the service at the end
of the experience has a test name of “SpeedHiatEnd”. The low level of the moderator in the
indirect effect is similarly named of “SpeedLowatEnd” and “SpeedLowatBegin”. Notice that
with the moderator going one standard deviation below the mean, we need to have the sign
as a negative.
254 Categorical Independent Variables in SEM
Figure 8.21 Estimands Function for Indirect Effects in the Presence of the Moderator
After noting the estimands for both categorical variables, you need to check the syntax
before moving forward. With an estimands function, you need to make sure you ask for a
bootstrap analysis with 5,000 samples with a 95% confidence interval. Once making those
selections, you are ready to run the analysis.
In the Estimates link of the output, you can see the regression estimates for each path in
the model. From this analysis, we can see that both the categorical variables have a positive
and significant relationship to Customer Delight. Remember the regression coefficient for the
dummy coded category variables is simply a difference of mean from the Customer Delight
variable across the groups. The results also show us that the interaction term for both the
“AdaptBegin” and “AdaptEnd” to Customer Delight is negative and significant. This lets us
know that the Adaptive Behavior to Customer Delight relationship is weakened in the presence
of the moderator (Need for Speed). Lastly, you can see that the direct effect from the “Adapt-
Begin” construct is non-significant but that the direct effect from “AdaptEnd” is significant.
Figure 8.22 Estimates Output for the Relative Direct Effects and Interaction Terms
Categorical Independent Variables in SEM 255
After assessing the direct effects, let’s now look at the estimand function for the indirect
effects along with how the indirect effect changes when we probe the interaction. In the
“Estimates” link in the output, we need to go to “Scalars” and then choose “User-defined esti-
mands”. This will initially list the indirect effects. If we go to the Bias-corrected percentile
method option at the bottom of the output, you can see the indirect effects along with the
bootstrap confidence intervals for all the tests listed in the Estimands. See Figure 8.23.
Figure 8.23 User Defined Estimand That Provides Confidence Intervals for Indirect Effects
at Different Levels of the Moderator
With the first categorical variable of “AdaptBegin”, we see the indirect effect of .433, which
is significant at the p < .001 level. If you look at the high and low values of the moderator, each
has a significant indirect effect, but the pattern produces an interesting story. When the mod-
erator is low or customers have a low need for speed in the interaction, the indirect effect is
.524, but when customers have a high need for speed, the indirect effect is .341. These results
show that when customers have a high need for speed in the interaction, the relationship from
Adaptive Behavior to Customer Delight is weaker than when customers have a low need for
speed in the interaction. All our indirect estimates are significant and positive, which indicates
that customers who have an adaptation at the beginning of the experience have a relatively
stronger indirect effect on Positive Word of Mouth compared to the group that had no adapta-
tion in the service. As for the second categorical variable of “AdaptEnd”, the indirect effect was
positive and significant with a value of .588. The low and high tests of the moderator found
a similar pattern as the first categorical variable. When the need for speed was low, adapting
the service at the end produced an indirect effect of .708. When the need for speed was high,
adapting a service at the end had a value of .467. Again, when customers had a high need for
speed, adapting the service had a weaker influence on spreading positive word of mouth about
the experience compared to those that had a low need for speed in the service.
From our user-defined estimand, we have examined the indirect effect in the presence of the
moderator. At this point, we need to assess if the moderator significantly moderates the indi-
rect effect. This will be accomplished by examining the index of moderated mediation for each
categorical variable in the model. The index of moderated mediation is the path from the inter-
action variable to the mediator multiplied by the path from the mediator to the dependent vari-
able. If we go to the “Estimates” link in the output, then go to the “Matrices” option, and then
select indirect effects (make sure the indirect effects option is selected in the Analysis Proper-
ties window), we see the indirect effect for AdaptBegin_X_CenterSpeedy and Positive Word
of Mouth is −.111. The indirect effect for AdaptEnd_X_CenterSpeedy and Positive Word of
Mouth is −.0842. If you go to the Bias-corrected percentile method on the left-hand side, you
256 Categorical Independent Variables in SEM
can see the bootstrap confidence intervals for both of those indirect effects. In this case, they are
both significant. The negative value lets us know the slope is moving in the opposite direction
or specifically that the indirect effect is weakening. The significance of the index of moderated
mediation lets us know that, yes, moderated mediation is taking place in the model.
Figure 8.24 Index of Moderated Mediation and Confidence Intervals for Dummy Coded
Indirect Effects Test
Ada ptive Behavior at the Beginning of the Experience → Customer Delight .77 10.00
Ada ptive Behavior at the End of the Experience → Customer Delight 1.05 13.72
Customer Delight → Positiv e Wor d of Mouth .56 7.89
Test of Moderator
Speed → Customer Delight .19 3.77
Ada pt at the Beginning of the Experience X Speed → Customer Delight −.15 −2.03
Ada pt at the End of the Experience X Speed → Customer Delight −.19 −2.88
Moderated Indir ect Relationship Dir ect Indir ect Confidence Inter val ρ - value
Eff ect Eff ect L ow High
Ada pt at Beginning → Customer Delight → Positive Wor d of
Mouth* .18 (1.39) .43 .29 .60 <.001
Ada pt at End → Customer Delight → Positive Word of Mouth* .31 (2.24) .58 .41 .80 <.001
Probing Moderated Indir ect Relationships
Adapt at the Beginning
Lo w Levels of Speed: .52 .37 .70 <.001
High Levels of Speed: .34 .17 .55 <.001
Adapt at the End
Lo w Le vels of Speed: .70 .51 .94 <.001
High Levels of Speed: .46 .28 .70 <.001
Index of Moderated Mediation for Adapt at Beginning −.08 −.17 −.005 .04
Index of Moderated Mediation for Adapt at End −.11 −.20 −.03 .006
Note: Speed = Need for Speed in Transaction. Bootstrap Sample = 5,000 with replacement. Reference Group in this test was customers who did not get their
experience adapted at all.
* = The indirect effect is moderated by the construct of Need for Speed in the transaction.
Example 8.2:
Table 8.2: Test for Categorial Moderated Mediation Using 95% Confidence Interval
Adapt at the Beginning compar ed to the r ef er ence group of No Adaption Unstandardiz ed t-values
Coeff icient
Ada ptiv e Behavior at the Beginning of the Experience → Customer Delight .77 10.00
Ada pt at the Beginning of the Experience X Speed → Customer Delight −.15 −2.03
Moder ated Indir ect Relationship Dir ect Indir ect Confidence Inter val ρ -value
Eff ect Eff ect L ow High
Ada pt at Beginning → Customer Delight → Positive Word of Mouth* .18 (1.39) .43 .29 .60 <.001
Pr obing Moder ated Indir ect Relationships
Lo w Le v els of Speed: .52 .37 .70 <.001
High Le v els of Speed: .34 .17 .55 <.001
Inde x of Moderated Mediation for Adapt at Beginning −.08 −.17 −.005 .04
Adapt at the End compar ed to the r ef er ence group of No Adaption Unstandardized t-values
Coeff icient
Ada ptive Behavior at the End of the Experience → Customer Delight 1.05 13.72
Ada pt at the End of the Experience X Speed → Customer Delight -.19 -2.88
Moderated Indir ect Relationship Dir ect Indir ect Conf idence Inter val ρ -value
Eff ect Eff ect L ow High
Adapt at End → Customer Delight → Positive Word of Mouth* .31 (2.24) .58 .41 .80 <.001
Probing Moder ated Indir ect Relationships
Lo w Le v els of Speed: .70 .51 .94 <.001
High Le vels of Speed: .46 .28 .70 <.001
Inde x of Moder ated Mediation for Adapt at End −.11 −.20 −.03 .006
Note: Customer delight had a significant direct relationship to Positive Word of Mouth (β =.56 t-v alue = 7.89).
—Speed = Need for Speed in Transaction. * = The indirect effect is moderated by the construct of Need for Speed in the transaction.
—Need for speed had a significant direct relationship to customer delight (β = .19; t-v alue = 3.77).
—Reference Group in this test was customers who did not get their experience adapted at all.
Categorical Independent Variables in SEM 259
environmentally sustainable packaging for their snacks were coded as a “0”, and those that
received the original package with no mention of sustainability were coded as a “1”.
Once our data is coded in SPSS, we are ready to draw a growth curve model in AMOS. To
perform a latent growth curve, you need to go to the “plugins” tab at the top and then select
“Growth Curve Model”.You will then see a pop-up window asking how many time points you
have. Select four and hit OK.
After doing this, AMOS will populate a generic growth curve model with four time
points. The growth model will have two unobservable variables listed as “ICEPT”, which
stands for intercept, and
the second variable is
called “SLOPE”, which
represents how steep or
flat the “growth” or change
is taking place. From the
intercept construct, you
will see parameters drawn
to four different observa-
bles. You will notice that
the parameters from the
intercept construct to
each observable is con-
strained to a value of “1”.
This is done so that regard-
less of the data point, the
intercept (or starting
point) should be the same
for each time period. The
slope has default values
spaced out over four time
periods (0, .33, .67, 1).
I prefer to change these to
meaningful time periods.
The line to the first time
period is listed as a “0”.
We are going to keep this Figure 9.3 Latent Growth Curve With Intercept and Slope
value as a “0” because we Modeled
Latent Growth Curve Models 263
want the first time period to reflect the intercept. Subsequently, the parameters for the
next time periods will be labeled 1, 2, and 3. AMOS will also label the intercept mean and
variance along with the slope mean and variance (imean, ivariance, smean, svariance). You
need to remove these labels. If you had only one group, the labels would be fine; but since
we have two groups, we need to remove those labels. Our two groups are (1) the custom-
ers who got an environmentally sustainable package; and (2) customers who did not get
an environmentally sustainable package. The covariance between the slope and intercept
constructs is also labeled, and we will remove that label as well. You can just double click
into the labels which will bring up the Object Properties window. You will then just erase
the labels for the mean and variance. As for the covariance label, do the same thing and
remove that label.
You will see four observables, X1–X4; these are the time points where we captured sales
figures at the four different points of time. The sales figures are simply labeled Time 1–4 in
the data file. In AMOS, you now need to view the variables of your data set and drag in the
time points to the observables in the model. One last thing to note is that the error variances
for the time periods are all equal. You will see that AMOS puts a label in the error vari-
ance of “var”. This is to denote that the error variances for all time periods should be equal.
I will remove this label as well so that the variance for each time period can be individually
captured.
Next, you need to set up the two groups in AMOS. For a detailed discussion on how to set
up groups in AMOS, see page 149. I am going to call one group “SustainPackage” for the group
of individuals that were presented snacks in environmentally sustainable packages. The second
group, labeled “NoSustain”, was the group that was presented snacks in the original package
that did not have any reference to environmental sustainability.
In the data, the individuals who had sustainable packaging were listed as a “0” in the sustain
column and the individuals who had no environmental labeling on their snacks were listed as a
264 Latent Growth Curve Models
“1”. After setting up the groups, you need to read in the data for each group.The next step is to
let AMOS uniquely label the mean, variance, and covariance for each group. To do this, select
the “multi-group analysis” button . This will give you a prompt that it is going to label all
the parameters and suggest potential models with constrained parameters to test. Hit OK and
let AMOS label all the parameters.
This is what your model should look like after the parameter labeling of both groups.
AMOS has labeled the mean for the intercept as m1_1 for the “SustainPackage” group. If you
selected the other group (NoSustain), that mean value would be labeled as m1_2.You will see
that the mean, variance, and covariance parameters all have a unique label name. Once you
let AMOS label the parameters, it will suggest model comparisons across the groups. One of
the potential models that AMOS suggests is called “Structural Means”. This model comparison
will constrain the means for the intercept and slope to be equal across the groups. This is the
model comparison test that we are primarily concerned with going forward.We want to know
if the intercept and slope is significantly different across the groups. See Figure 9.7 to see what
the structural means test looks like.
After setting up the groups and labeling the parameters, we now need to ask for AMOS
to estimate the means and intercepts in the output. When we go to the Analysis Properties
window under the Estimation tab, there is a checkbox called “Estimate means and intercepts”
that we need to select. After doing this, we can cancel out of the window and run the analysis.
Let’s initially go to the model fit statistics in the output. In the model fit output (Figure 9.8),
we are only concerned with the unconstrained model. Based on these results, the model fit
is acceptable, so we can move on to the next analysis, which is the model comparison test. In
the model comparison test option, we are going to examine the structural means test, which
constrained the means for the intercept and slope to be equal across the groups.
If we see a significant chi-square test, then we can say with confidence that the groups are
significantly different. The results of the structural means comparison (Figure 9.9) shows a
significant difference between the groups. With 2 degrees of freedom constrained, the chi-
square difference was 222.85, which is significant at the p < .001 level. Now that we know
that the groups are different, we need to see the intercept and slope for each group to deter-
mine where the differences lie. In the “Estimates” link in the output, we are going to examine
the means for the intercept and slope for each group.
Figure 9.8 Model Fit Statistics Across the Model Comparisons
Figure 9.9 Chi-S quare Difference Test from the Model Comparison Results
In the “SustainPackage” Group,
you can see the intercept is
$21.98 and the slope is 1.36.
The slope is posive and highly
significant with a t-value of
23.86. This inially tells us that
the group who received the
environmental friendly
packaging increased their
spending over the four-week
period to a significant degree.
The results of our experiment show that the group that had their snacks in environmentally
sustainable packaging purchased snacks at a significantly higher rate than those customers
whose snacks did not list the packaging as being sustainable. Over the four-week time period,
there was a significant change in spending behavior.
The reason I prefer to do a comparison with latent growth curves is that it gives you greater
context to your research question. We could have run a latent growth curve with just the
environmentally sustainable packaging group and the slope would be significant, so we see a
change in behavior; but I do not know if that change is significant compared to a control group.
You could make the argument that the first time period could act like a control group and then
see if there is a significant change over time. I don’t prefer this option because it assumes that
the intercept would be the exact same for each group. Especially with experimental manipu-
lations, the first time point or intercept might be dramatically different. Ultimately, we are
looking to see if the growth/change over time is significant in comparison to a group in an
initial status and one that has experienced a manipulation. For instance, you see many latent
growth curve examples that use student testing. Let’s say we instituted a new curriculum for
half of a high school’s seniors in a school and the other half received the existing curriculum.
If we just run a latent growth curve on the seniors who got the new curriculum, we could see
if growth in test scores took place, but we don’t know if the new curriculum is better than the
old one without a comparison. If we compare the groups and see no significant difference in
slopes across either curriculum, this will let us know that growth/change may be taking place,
but it is not significantly better than the curriculum they started with before the test. Saying
all this, latent growth curves are beneficial, but comparison of latent growth curves is where
you can get real insight.
We have added the construct of gender with a direct path to the intercept and
slope. Noce that we have labeled those paths. The “SustainPackage” group is
labeled b1_1 and b2_1. The “NoSustain” group is labeled b1_2 and b2_2.
Make sure you are including error terms on the intercept and slope with the
inclusion of a predictor/independent variable. You will also need to covary the
error terms for the intercept and slope.
If you are not recreating the model and are just trying to add a predictor to an existing latent
growth curve model, you need to delete the existing parameter names for the variance of the
intercept and slope. AMOS will give you a warning/error message if you try to have the variances
labeled for the unobservable variable while including an error term.You also want to make sure
that you correlate the error terms for the intercept and the slope of unobservable variables. If you
want to compare the influence of gender across the groups, you will need to uniquely label the
parameters from gender to the intercept and slope for each group. You can choose to select the
multi-group analysis button again and it will relabel all your parameters again, or you can
just label them individually. If you choose to have AMOS relabel all your parameters again, it will
give you numerous potential models for comparison. In this example we are really concerned with
only two tests: Test 1, which asks if the slope and intercept are different between the groups; and
Test 2, which asks whether the influence of gender is significantly different across the groups. All
other model comparison tests will not help us much. Once we have formed the model and asked
for AMOS to “Estimate means and intercepts” in the output, we are ready to run the analysis.
Latent Growth Curve Models 271
When you have AMOS label your parameters, two model comparisons will be of primary
concern: the structural intercepts, and the structural weights comparison. The “Structural
intercepts” comparison will constrain the means for the intercept and slope to be the same,
and it will also constrain the parameters from the independent variable (gender) to the slope
and intercept. This comparison test will let you know if the intercept and slope are significantly
different across the groups with the inclusion of the predictor variable (gender). The second
comparison, called the “Structural weights”, will only constrain the parameters from the inde-
pendent variable to the intercept and slope.This specific test will allow to you to examine if the
predictor variable is having a significant influence in the growth model across the groups. Again,
AMOS will give you more models for comparison, but these are the ones you need to focus
on going forward. Let’s run the analysis and examine the model comparison link in the output.
Figure 9.13 Manage Models Window Showing Structural Weight and Intercepts Comparison
The results show us that the structural intercept comparison was significant, which means
the slope and intercept are significantly different across the two groups when accounting for
the influence of gender. The specific test for gender called the structural weights was also sig-
nificant, providing evidence that gender had a significant influence across the groups.
272 Latent Growth Curve Models
Figure 9.14 Chi-Square Difference Test for Structural Weights and Intercepts Model Comparison
After finding a significant difference between the groups, let’s go to the “Estimates” link
in the output, where we will examine the results of each group. See Figures 9.15 and 9.16.
In the environmentally sustainable group, you can see that gender has a significant and
negative direct influence of the intercept and slope. Remember, males were coded as a 1 and
females as a 0. This means females had a stronger influence on the starting intercept and slope
than males. In the intercepts section in the output, you will see the intercept is significant and
slope for the “SustainPackage” group is positive and significant denoting that spending patterns
increased in the positive for this group. Notice that the slope is a little stronger now that we
are including the predictor of gender than the first analysis that had no predictors.
In the sustainable
package group,
here is the intercept
and slope.
Figure 9.16 E stimates Output of the No Sustainable Package Group Including Regression
Weights of Predictors Along With Intercept and Slope Values
In the group that did not have environmentally sustainable packaging listed on their snacks,
gender did not have a significant difference on slope or intercept. Additionally, the “NoSustain”
group did not have a significant slope denoting that the change over the four time periods was
not significant.
Our ultimate results show that the environmentally sustainable packaging had a significant
positive “growth” or change over the four-week time period in customers purchasing behavior
compared to customers who did not have any sustainability packaging information presented
on their snacks. Additionally, female customers responded more strongly to the environmen-
tally sustainable packaging than males.
periods for both groups. I also like to present the slope and intercept. Lastly, including the
regression coefficients of a predictor variable should also be presented. Here is one template
you can use:
Example 9.1:
unobservable, we are going to examine the mean values. A negative mean value in the Quad-
ratic variable means that either the data is curving upward or the change in values are increas-
ing steeply over time. A positive mean indicates that the data is curving downward or the
values are decreasing steeply over time. We are also going to add a covariance between all the
unobservables in the model.
Let’s run the analysis and go to the “Estimates” link in the output.
Figure 9.17 A MOS Latent Growth Curve Model Testing for a Curvilinear Pattern
276 Latent Growth Curve Models
Figure 9.18 Estimates Output Testing the Quadratic Effects for the Sustainable Package Group
I solely used the sustainability packaging group in this example, but if you want to perform
a two group analysis to see if the intercept, slope, and quadratic pattern are different across
the groups, you just need to label the mean and variance for each group and then constrain
those values across the groups. In the example provided, I labeled the quadratic variable’s
Latent Growth Curve Models 277
mean m3_2 and the variance vvv3_2. So, in the comparison test, you would constrain slope,
intercept, and quadratic pattern to be equal across the groups. You can then run a two group
analysis which would tell you if there were differences across the groups and also determine if
the quadratic nature of the data was significant across the groups.
Figure 9.19 Constraining Parameters Across the Groups for the Slope, Intercept, and Quad-
ratic Variable.
Figure 9.21 Estimates Output for Sustainable Packaging Group Examining the Domains of
Spending and Tipping
Here is an example of the output for the no sustainable package
group with two domains considered. With both spending behaviors
and pping behaviors, the slope is non-significant. Thus, customer
spending and pping behaviors did not change over the me period.
This is not surprising because nothing has changed to prompt
different spending or pping paerns with this group.
If we wanted to see if the “growth” was significantly different across the groups, we could
initially set up a model comparison test where we are going to constrain the intercept and slope
for both domains to be equal across the groups and compare it to an unconstrained model. We
have labeled the means for all the unobservables as m1–m4 with the “_1” group being the sus-
tainable package group and the “_2” group being the no sustainable packaging group.
After constraining the means to be equal across the groups, let’s run the analysis and go to
the output. The model comparison option in the output will let us know the chi-square dif-
ference across the groups. Since we have constrained four different means, we should have a 4
degree of freedom difference from the unconstrained model.
Figure 9.24 Chi-S quare Difference Test With Parameters for Both Domains Constrained
Latent Growth Curve Models 281
The results of the model comparison test show that constraining those means to be equal
across the groups produced a chi-square difference of 300.001, which is significant at a
p < .001 level. Hence, we can conclude that the groups are significantly different, and based
on the latent growth analysis, spending and tipping patterns significantly increased when sus-
tainable packaging was introduced at the golf snack shop.
If we know that 30% of our customers are African American and 20% of our sample is African
American, then the weighting for this group is:
30 / 20 = 1.50
For the Caucasian group who are overrepresented (with 80% of the sample), the weight of
their scores is:
70 / 80 = 0.875
Weightings that are greater than 1 mean that those respondents are given more weight or
importance in the analysis. Weightings less than 1 mean that the respondents’ scores are given
less emphasis in the analysis. After finding the weighting for each race, you need to form a
new column in your SPSS data, and you can call it “weight”. For all the respondents, who are
Advanced Topics in SEM 283
classified as a “1” in Race, you will include a weight of 0.875. For all respondents with a 2 in
the Race field, you will include a weight of 1.50. See Figure 10.1.
After establishing the weights for each group, you need to apply the weights to the data.
SPSS has a helpful function that will apply a weight to a whole row (or respondent). In the
“Data” menu option at the top of SPSS, there is a function at the bottom called “Weight Cases”.
After selecting that option, you will see a pop-up menu. This menu will ask what column you
want to use as the weight for the data. I labeled the column simply “Weight”. After selecting
the “Weight” variable, hit the OK button. The weight will now be applied to all of the data. See
Table 10.1 to view an example with the weight function on and off in SPSS.
Please note that SPSS will continue to run subsequent analyses with the weighted scores
until you tell SPSS to stop weighting the scores. To turn off the weightings, just go back into
the “Weight Cases” pop-up menu, select “Do not weight cases”, and hit OK.
After applying the weight in SPSS and saving the data file, you would think that it would be
a simple process of pulling in these revised scores to AMOS, but you would be wrong. If you
have a weighted score saved in the SPSS data and try to use it in AMOS, you will get an error
message. This error message states that AMOS will not recognize the weights and AMOS will
give each case a weighing of 1 (which means no weighting at all). To use a weighted score, we
have to use a work-around.
Figure 10.3 A MOS Error Message When Trying to Use a Weighted Score Data File
Let’s go back to the SPSS file where our data is located. To work around this problem, we
are going to get the covariance matrix of the weighted scores. We will also get the weighted
means and standard deviations for each indicator or construct. Once we get this information,
Advanced Topics in SEM 285
we will create a new SPSS file that will set up the adjusted data as a covariance matrix that we
can use as input in AMOS. If you are examining a path model, this is a pretty easy process. If
you are testing a full structural model, then it gets more laborious because you need to form
a covariance matrix that includes every indicator in the model.
For instance, let’s use our three construct model that we have used previously (Adaptive Behav-
ior → Customer Delight → Positive WOM) and set this up as a weighted score. After applying the
weight in SPSS, we could use the correlation function in SPSS to get the means, standard devia-
tions, and covariance matrix, but the results will be in a very unfriendly format. Another option
presents the results in a little more manageable form: the reliability analysis option in SPSS.
In this function, we would include all the indicators for each of the three variables. We are
not concerned with the reliability across all three constructs; we are just going to choose some
options in this analysis to give us the means, standard deviation, and covariance matrix. To do
this, we go to the “Analyze” function at the top menu in SPSS, then “Scale”, and then we select
“Reliability Analysis”.
To see the full output of this analysis, see Figure 10.6. Once we have this information, we
can set up a separate file that will be used as the input for AMOS.To see how to use a covariance
matrix as input in AMOS, refer to page 133. Obviously, this would have been easier if we could
have just brought in the weighted scores directly from SPSS, but this alternative will give us the
same results. It is a little more labor intensive to set up the weighted covariance input file, but
you can still perform your analysis with weighted scores through this alternative way.
Let’s use our full structural model example from Chapter 5 and assume our data is not
normally distributed. This example states that Adaptive Behavior and Servicescape is going
to positively influence Customer Delight feelings, which are going to positively influence the
dependent variables of Tolerance to Future Failures and Intentions to Spread Positive Word of
Mouth.
After drawing the model and selecting the bootstrapping options just detailed, you
are ready to run your analysis. In the output, go to the “Estimates” link and you will
see the unstandardized and standardized estimates of your model. This is information
we will need, but we also need to find the bootstrap estimates for each hypothesized
relationship.
Figure 10.9 Estimates Output of Regression Weights in Full Structural Model
290 Advanced Topics in SEM
After viewing the “Estimates” link, you need to go to the “Scalars” link and then select
“Regression Weights”. This will initially just show you the unstandardized estimates that you
just saw in the “Estimates” link. After you have selected the “Regression Weights” link, there
should be additional links that become available at the bottom left part of the page. These links
are “Bootstrap errors” and “Bias-corrected percentile method”. Select the “Bias-corrected per-
centile method”. This link will present the unstandardized regression estimates, but it will also
present a bootstrap confidence interval for each estimate. The bootstrap estimate will let you
know if your unstandardized estimates fall within the 95% confidence interval when 5,000
bootstrap samples were used to “normalize” the data.
In this example, all estimates fall within a confidence interval that does not include zero.
You can also see a p-value for each bootstrap confidence interval. Thus, we can conclude that
our estimates are valid based on the bootstrapping technique to normalize the data.
One of the primary concerns with non-normal data is the inflation of model fit estimates.To
assess model fit with the bootstrap samples, we are going to use to the Bollen-Stine method.
This method will allow us to see if the proposed model fits the data when the bootstrap sam-
ples are used as the input. AMOS can be a little quirky when asking for a Bollen-Stine boot-
strap. If we simply ask for the Bollen-Stine option in Analysis Properties when “Bias-corrected
confidence interval” is selected, AMOS will not produce the estimate. If you select the Bollen-
Stine bootstrap, you have to uncheck the “Bias-corrected confidence interval” option. Thus,
I run the bootstrap initially with the Bias-corrected confidence intervals and get the informa-
tion I need, and then I run a separate analysis for the Bollen-Stine bootstrap with the Bias-
corrected confidence intervals option not checked.
Advanced Topics in SEM 291
After selecting the Bollen-Stine option and running the analysis again, let’s initially examine
the model fit estimates in the output. We can see that the model fit for our model has a chi-
square value of 225.34 with 130 degrees of freedom.
If we select the Bootstrap distributions link on the left-hand side, we can see the distribu-
tion of chi-square values across the 5,000 bootstrap samples that were run with the proposed
model.You can see the mean value was 188.04 and that our initial chi-square value of 225.34
is clearly within the distribution that ranges from 91.35 to 366.43.
Next, we need to examine the Bollen-Stine bootstrap which is accessed via a separate
link above the Bootstrap distributions option. Clicking on this link will bring up the Bollen-
Stine test results. The Bollen-Stine test will initially tell you how many bootstrap samples
fit the model better than the initial estimate, and it will also tell you how many samples
fit equally well or actually fit worse. Your goal is to have a Bollen-Stine bootstrap that is
non-significant because this means the model still has an adequate “fit” with the bootstrap
samples. If you have a significant Bollen-Stine estimate, then it states your model fit is
problematic based on the bootstrap estimates that are trying to “normalize” the data. In this
example, 4,300 samples fit better, 700 samples fit worse, and the Bollen-Stine estimate
was a p-value of .14. Thus, we can conclude that the model still has an adequate fit with the
bootstrap samples.
Advanced Topics in SEM 293
If the Bollen-Stine bootstrap is rejected (found a significant result p < .05), this should give
the researcher pause in moving forward because the result means the model is not fitting the
data. Saying that, the Bollen-Stine is very sensitive to sample size, and it is advisable to use
numerous goodness (and badness) of fit indices to determine model fit. Bollen-Stine accesses
only chi-square values, but it is always advisable to use numerous different model fit options
in presenting results.
Mixture Modeling
Mixture modeling is a type of modeling where data is divided into subgroups and classified.
Using a Bayesian analysis, all data that is unclassified will then be assigned to a group based on
the existing criteria of the data that has already been assigned. For instance, let’s say we are
trying to classify the type of academic student for a master’s program admission. We want to
know what criteria we can use to predict if an applicant will be a good student. To do this, we
have to create some “training data”. We have 100 students that have already gone through the
program, and at graduation they were classified as either “Excellent”, “Average”, or “Below
Average”. Next, we need to see what categories or criteria we can observe before a potential
student starts the program that can help us understand the likelihood a student will be clas-
sified as Excellent, Average, or Below Average. The master’s program director thinks there
are three criteria that can help project how successful an applicant would be in the master’s
program. These three criteria are GPA from their undergraduate degree, what they scored
on the GMAT test, and what letter grade they received on the principles of finance course in
their undergraduate degree. Again, we are examining criteria that could help classify a student
before given admittance. The goal is to avoid admitting “Below Average” students. In our train-
ing data, we will need to input the GPA, GMAT, and finance scores for each student that has
been classified.
Figure 10.15 Mixture Model Data With Classifications in SPSS
Advanced Topics in SEM 295
Let’s say we get 50 new applicants for the program.We will need the GPA, GMAT, and finance
score for each of these applicants as well.The first thing we need to do is to create a unique id for
each applicant and enter the decision criteria (GPA, GMAT, finance score) in a separate row for
each applicant. Next, we will create a column at the end of the data labeled “Studenttype”. After
entering the 50 new applicants, we will bring in the 100 students used as “training” information.
This group will look exactly the same as the applicants in format, except they will have a classifi-
cation as Excellent, Average, or Below Average in the “Studenttype” field. The 50 new applicants
will have no classification at this point. Ultimately, we want AMOS to run a Bayesian analysis and
code the 50 new students as either an Excellent, Average, or Below Average Student.
After getting your training data and new data in SPSS, you are ready to go to AMOS. In
AMOS, you are going to create three groups. You will have a group for each category or clas-
sification of student (Excellent, Average, and Below Average).You will then need to read in the
data for each group. The different classifications will often be in one file, so you will need to
select the grouping variable and find the column name the classifications are in (Studenttype is
this example). After that, you can select the “Group Value” and choose the classification for each
group. See Figure 10.16. On this data file window, make sure to click “Allow non-numeric data”
and “Assign cases to groups”; otherwise, AMOS cannot read the classification of each data row.
As well, you want AMOS to assign unlabeled data to a group with mixture modeling. If you do
not select these, you will get an error message.
Make sure to
check these two
opons.
Next, you need to drag in all the predictor variables into the AMOS graphics window and
draw a covariance between all the variables. With mixture modeling you need to constrain (1)
the variances of constructs; and (2) the covariances between constructs to be equal across all
the groups. In a construct you just dragged into AMOS, right click and go to Object Proper-
ties. In the parameters tab at the top, go to the variance field and label it “v1”. Make sure the
“All groups” button is checked as well in the Object Properties window. This will label the
variance the exact same across the groups as “v1”. You will then go and uniquely label each
variance for every variable, repeating the same process as the variable labeled “v1”. Next, you
will go to the covariances (right click and go to Object Properties) and uniquely name each
296 Advanced Topics in SEM
covariance, again making sure the “All groups” option is checked. This will constrain all your
groups (classifications) to be equal in regard to variance and covariance.
Here is what your model should look like after all the constraints have been applied.
Now select the Bayesian Analysis button , and you will see a pop-up window appear.
Using the training data, the analysis will start sampling your training data multiple times over to
Advanced Topics in SEM 297
determine the probability of your unclassified data fitting into a classification group. Initially, the
Bayesian window will have a red frowny face at the top, which means the Bayesian estimation is not
ready.When that red face turns to a yellow smiling face, your estimation is ready to be interpreted.
The Bayesian window will provide a lot descriptives about your classifications.There is a tab
at the top of the window that will allow you to see the information for each group.You can see
the “Average” student has a mean GMAT score of 552, a GPA of 3.21, and an average finance
score of 2.99 on a 1-to-4 scale. As well, the analysis will give you the maximum and minimum
score to classify as an “Average” student. In the Below Average group, the initial results show
that students that have a GPA less than a 2.50 and a score under 500 on the GMAT have a high
probability of being classified as a below average student.
To see how the Bayesian analysis classified the new applicants, you need to look at the pos-
terior predictions .When you click on this button, you will initially see the rows blinking
with changing numbers, but after a few seconds the numbers will stabilize. In this window,
you will see the probability for each student to be classified as excellent, average, or below
average. In our data set, the first 50 rows were our new applicants. In the posterior prediction,
those rows now have a prediction for each student.
For instance, the student in row 5 had an 69% probability of being an average student
and a 31% probability of being an excellent student. This student also had a relative zero
probability of being a below average student. While these probabilities are nice, I find
that looking at how the posterior prediction is graphed will give you more context to
that probability prediction. If we double click into student 5’s “excellent” prediction of
31%, AMOS will show us more information about this prediction in a graphical form. See
Figure 10.21. The graphic shows that the mean prediction is 31%, but if you examine the
left-hand side of the graph, there is a large frequency of predictions that note this student
has an even smaller probability of being an excellent student. The probability predictions
Advanced Topics in SEM 299
are skewed to the left, or specifically, that there is a smaller likelihood of this student
being classified as excellent at the end of the program. The graph gives us more context to
the prediction and also lets us know what probability had the highest frequency. You can
view a graph of any probability in posterior prediction by simply double clicking on the
value. Ultimately, the probability derived from the Bayesian analysis is only as good as the
training data. If your training data is biased or flawed, the posterior prediction will most
certainly be flawed, too.
With mixture models, you can also let AMOS classify all the data (with no training data).
In this example, you would set up three groups in AMOS. When you read in the data for each
group, you will choose a specified classification column even though it is blank. In this exam-
ple, let’s choose the column “Studenttype” as in the previous example, except now there are
no classifications in the column. AMOS will just list the values for this column as “cluster” and
a number.
With no training data, AMOS will try to classify each student into a category/cluster
based on the Bayesian analysis. In essence, AMOS is clustering the data into three groups.
300 Advanced Topics in SEM
When no students
are classified,
noce the value
will be listed as
“cluster” and a
number. The “n”
value will be listed
as zero with no
classifcaons.
Figure 10.22 Reading in the Data File for Mixture Model With No Classifications in the Data
After you read in the data for each group, the analysis is exactly the same steps as the
example when we used the training data. When you get to the posterior prediction, you
will see three clusters and the probability of each candidate falling into a cluster. In Fig-
ure 10.23, I have included a posterior prediction that had training data and one that had no
training data and how AMOS clustered the data into three groups. You can see that AMOS
correctly predicted some students, but others are classified differently when there is no
training data. For example, the student in row 13 is considered a 24% probability of being
an Excellent student with the training data included and the same student is classified as
a 4% probability of being in the Excellent group when no training data is included and
AMOS assigns the groups. Ultimately, having training data will lead to better predictions
in the end.
Advanced Topics in SEM 301
Figure 10.23 Comparison of Posterior Predictions With Training and No Training Data
With the Bayesian analysis, AMOS is using a stream of random numbers that depend on
the “seed number”. AMOS will change the seed number every time you run the analysis. Sub-
sequently, when you run your analysis and then run it again, you might get slightly different
answers because of those different seed numbers. To combat this so that you can get the same
302 Advanced Topics in SEM
results even if you run the analysis again, you need to use the same seed number. To do this, you
need to go to the “Tools” option on the menu bar at the top of AMOS, and then select “Seed
Manager”. A pop-up window will appear and show you the current seed and the seed number
for the last four analyses run. The default in AMOS is for the “Increment the current seed by
1” option. If you change this option to “Always use the same seed”, this will use the same seed
so you can get the exact same results when you run the analysis again. Similarly, if another
researcher wants to know what seed you used, you can go into this window and see the exact
seed number used. If you want to specify the seed number, you can go to the “Current seed”
option and hit the “Change” button and input a specific seed number. The seed number has
no significance on what number you choose. It is just a starting point for AMOS to use in the
Bayesian analysis.
You typically have three different types of censoring. One type is left censoring, where the
unknown value is below a certain point. Second, there is right censoring, where the unknown
value is above a certain point. The last type of censoring is interval censoring, where the
unknown value is between two known data points.
Let’s look at an example to see how AMOS can help analyze censored data. We have a
retailer that is trying to understand how long customers shop with them before defecting to
another retailer. To understand this, the retailer has captured what year the customer initially
started patronizing the retailer, frequency of purchases or the total number of purchases while
they were a customer, and total sales or how much money was spent over the tenure of the
customer. Lastly, the retailer has captured in days how long an individual was a customer of
the retailer (noted in the Lifetime column). The retailer has also denoted if they are a current
or former customer. Here is an example of data coded in SPSS in Figure 10.25.
With classification of current and former customers, we are examining uncensored data
with former customers and censored data with current customers. At this point, we do not
know how much longer a customer will stay with the retailer. We are going to have to account
for censored data in the lifetime column because we only partially know the value for current
customers.You will also notice there is a column called SQLifetime. AMOS assumes censored
data is normally distributed, and so to create a normal distribution with the data, we are going
to take the square root of the lifetime column.
304 Advanced Topics in SEM
The data represents 132 respondents whose start year ranged from 1999 to 2018. With
the former customers we have an exact lifetime in days, whereas with the current customers
the lifetime cannot be determined yet. To use these unknown or censored data points, it has
to be recoded in SPSS. For the current customers, the lifetime in days is going to be greater
than the one presented in the data. We need to reflect this in the data, and so we will put
a greater than symbol in front of the lifetime values and square root lifetime values for the
current customers. To do this, you will need to convert the column in SPSS from numeric
to string.
After altering all the current customers to reflect a greater than value for the lifetime of the
customer, we are ready to save the data file and proceed to AMOS.
In AMOS, we are going to conceptualize a model that will help explain and project the
lifetime of current customers by using the length of the time they have been a customer (Star-
tYear), how many times they have purchased in the past (Frequency), and how much money
they have spent (TotalSales). The first thing we need to do is read in the data to the AMOS
program. Since we have a string variable in SPSS that has a greater than symbol in a field, we
need to make sure to check the box that states, “Allow non-numeric data”.
Advanced Topics in SEM 305
Figure 10.27 A llowing Non-N umeric Data With a Censored Model Test
After reading in the data, we are going to conceptualize the model just like a path diagram
where StartYear, Frequency, and TotalSales have a direct relationship to the square root life-
time value.
Once the model is drawn, we are going to use the Bayesian Analysis option in AMOS .
After clicking this button, you will see the Bayesian window pop up.The analysis will initially have
a red frowny face, which means the analysis is not ready, and when that frowny face turns into a
yellow smiley face, then you can interpret the data. The Bayesian window will initially give you
a lot of descriptives. The first subheading is our regression weights and how each independent
306 Advanced Topics in SEM
variable influences the square root value of the customer lifetime. Next, you will see the mean
value for each construct along with variances, covariances, and intercept of the analysis.
Looking at the regression weights, you will see that with every increase of one year (Star-
tyear), the square root value of the customer lifetime decreases by 3.75 (or 14 days). With
every purchase made (frequency), the lifetime of the customer increases (0.12). Total sales in
this example had relatively no impact on the lifetime of the customer.
If you want to see the posterior distribution for one of the independent variables, you need
to click/highlight the row of interest and then right click, which gives you an option to see the
prior or posterior distribution. The posterior distribution will give you different options on
how to view the data. See Figure 10.30.
Advanced Topics in SEM 307
So far, we have just examined the customer base as a whole, but what if we had a specific
customer we wanted to examine and estimate how long the customer was going to be with the
retailer? In the Bayesian window there is an icon at the top called posterior predictive .
By clicking this button, you will see the posterior predictive distribution for every row in your
data set. You will notice that the current customers do not have a value in the square root of
the customer lifetime column. It simply has a greater than symbol. If you click on that greater
308 Advanced Topics in SEM
than symbol, AMOS will create another pop-up window that will show you the predictive
distribution for that specific case.
For instance, let’s examine customer number 26, who has been with the retailer since
2015 and has made eight purchases that total $199. By clicking on that greater than symbol,
we can see what is the expected lifetime (square root) as it pertains to days projected in the
future to be with the retailer. See Figure 10.32 to view the predictive distribution for cus-
tomer 26.
The posterior distribution for customer 26 starts at 35, which means the customer has
been with the retailer (35)2, or a total of 1,225 days. If we look at the projections, customer
26 is projected to most certainly defect to another retailer by value 49 or by day 2,401. This
means the customer is projected to leave the company in the next four years. This is the best-
case scenario for the retailer. If you look at the mean value for this projection (38.242), this
equates to the customer leaving at the 1,462-day mark or less than a year from the starting
point of this analysis.
Examining the posterior prediction distributions will give you a better understanding on
how each independent variable is influencing your dependent variable, which in this case
was the customer lifetime in days. If you had a specific customer that you really valued, you
can see the exact projections on how many days they are expected to be with the retailer.
In this example, I used customer lifetime in days, but I could have just as easily used total
sales as the dependent variable and examined what values promoted sales. Unknown or
censored data can still be analyzed and projections made that can aide a researcher.
310 Advanced Topics in SEM
Customer Trust
Delight
Adapve
Behavior
Gratude Confidence
in Retailer
a relationship only with Trust to have an instrumental variable for the Confidence in the
Retailer construct. With most non-recursive models, you want to make sure you are pro-
viding enough predictor variables for each side of the feedback loop to be identified. Often
you will find that only one half of the loop will be significant; the influence is not strong
enough to close the loop. This is usually because you do not have enough unique predictors
for each side of the feedback loop.
With non-recursive conceptualizations, model fit can be especially problematic if you
are using a path model. You are better off to use a full structural model with measurement
items and error terms included in order to help explain the structural relationships and
feedback loop. Lastly, you also need to determine the stability of your parameter estimates
in the feedback loop. Since you are creating an infinite loop with two regression weights,
you need to determine if those weights are considered “stable”; or, put another way, the
linear dependency in the feedback loop will provide a clearly defined relationship. AMOS
will calculate a Stability Fit Index to help with this. If the stability index falls between −1
and +1, regression weights are considered stable. Saying that, let’s look at the example in
AMOS.
You can see that a full structural model is created and a feedback loop is drawn between
the constructs of Trust and Confidence with the Retailer. One important component with a
feedback loop is that the error terms for the unobservable constructs in the feedback loop
need to be correlated. Since both constructs are influencing each other, it’s advisable to cor-
relate the error terms.
Our predictors of
the feedback loop
are significant.
Figure 10.35 E stimate Output Showing Regression Weights for Direct Relationships and
Feedback Loop
Advanced Topics in SEM 313
After initially finding a significant feedback loop, we need to check the stability of the relation-
ships in the feedback loop. When AMOS detects that a non-recursive model is being analyzed, it
will calculate the Stability index in the output. On the left-hand side, there is a tab called “Notes
for Group/Model” that will show you the Stability index between Trust and Confidence in the
Retailer. If you have multiple feedback loops, it will show you the index for all the proposed loops.
Next, let’s check the model fit statistics. The results show that the model even with a feed-
back loop has an appropriate fit to the data. Thus, we can have confidence in our results with
the inclusion of a feedback loop due to the significant regression weights, an acceptable stabil-
ity index, and appropriate model fit.
The example provided had just one feedback loop, but more complex models can have
multiple feedback loops in a single model. Obviously, these models can be extremely com-
plicated and often problematic in identification and stability. If you have multiple feedback
loops in a model and one of the loops is considered “unstable”, then the model as a whole is
considered unstable even if the second loop has an acceptable stability index. Ultimately, many
examples of reciprocal relationships can be modeled in SEM; the key is to make sure you have
enough predictor variables to help explain the feedback loop.
Figure 10.38 Using the Full Information Maximum Likelihood Method for Missing Data
Advanced Topics in SEM 315
Note that if you don’t check the estimate means and intercepts option and have missing
data, AMOS will prompt you with the following error message.
Once the estimate means and intercept option is chosen, AMOS will run the analysis for
a measurement model or structural model and provide regression estimates for all estimated
parameters.
One of the assumptions of SEM is that you have a complete data set that is not missing data.
The FIML method will initially run your analysis with missing values, but if you want more
advanced analysis options like bootstrapping or modification indices, AMOS will not perform
these functions with missing data. In essence, you cannot run more complex functions with
missing data that is addressed by FIML. This will require you to delete or impute the miss-
ing values. In Chapter 2, I talk about how to impute missing values in different ways (series
mean and linear interpolation), but now we need to address imputation through regression
imputation.
If you want to address imputing missing data via regression in AMOS, you will need to use
the AMOS data imputation function . This is located under the Analyze tab at the top
menu in AMOS. After clicking this function, a pop-up window will appear.You want to make
sure “Regression imputation” is chosen in the pop-up window. AMOS wants you to rename
your data file if an imputation is performed. If you do not specifically state a new file name,
AMOS will alter the name to your existing file name and put “imputed” on the end of the
name. See Figure 10.40.
316 Advanced Topics in SEM
Once you have labeled your new data set and hit the “Impute” button at the bottom, AMOS
will replace all missing values in all variables.
A word of caution needs to be given about using the AMOS imputation function. If you design a
model in the AMOS graphics window with unobservable and observable constructs, and then decide
to impute your data set, AMOS imputation will try to impute the values for the missing observable
variables, but it will impute a score for the latent/unobservable variables as well. AMOS will create
an imputed column which is the labeled name of your unobservable construct.You have two options
to address this: (1) you can go into the new imputed file and delete all columns that are unobserv-
able names; or (2) you can change the names of all the unobservables in your AMOS model. If you
don’t address this problem, AMOS will think your unobservable construct is an observable and will
give you an error message. Obviously, a better option is to impute the data before you conceptualize
your model with unobservable constructs. Lastly, to run your conceptual model, you will now need
to read in the new file name and data that is imputed. AMOS does not automatically do this after an
imputation.You need to make sure that AMOS is using the imputed data going forward.
The AMOS software can also use a Bayesian imputation to perform “multiple imputation”.
Multiple imputation is where the missing data is estimated multiple times. The Bayesian analy-
sis estimates the missing value of the data multiple times based on the total variables of the
study. This will produce numerous different completed data sets that include the different
imputation of the missing data. The individual data sets are examined and then, ultimately,
combined to form a single imputed data set. This method is labor intensive but has shown to
be a valid method of handling missing data (Allison 2003).
Advanced Topics in SEM 317
The post-hoc power analysis, based on this information, states that the power to assess the rela-
tionship of Positive Word of Mouth is π = 1, or a 100% chance of finding this result again if rep-
licated. If I repeat this post-hoc power test and reduce the sample to 100, the power is π = .99.
Again, this is almost a 100% chance of finding the same result, with a fifth of the sample. Let’s take
the sample down to 25 and run the calculation again. At a sample of 25, the power is π = .81,
which is still considered an acceptable level of power to find an effect. To put it bluntly, post-hoc
power analyses are not helpful and do not help to justify relationships found after the analysis.
Power calculations are best suited in the design phase of research, not in the post-hoc analysis phase.
of your constructs and if your indicators are loading on their appropriate factor. Unlike a con-
firmatory factor analysis (CFA), each construct/factor has a relationship to every indicator in
the analysis. The goal of this test is to assure that your indicators are loading on their appropri-
ate construct and not on another construct in the potential model.
With many of the examples in this book, we have talked about how customers’ feelings of
delight will lead to positive word of mouth about the experience. Let’s say we wanted to per-
form an EFA on these two constructs. Both constructs had three observed indicators that were
designed to measure the unobserved construct. The first step in testing this with the specifica-
tion search function is to draw the constructs in the AMOS graphics window along with the
indicators and error terms. We should have two unobserved constructs reflecting six indica-
tors each. Both unobservable constructs will have a relationship to every indicator. Unlike
a CFA, we do not need to set the metric, so no path from the unobservable construct to an
indicator will be constrained to 1. All indicators are freely measured in this test. Saying that,
we do have to set the variance for each unobservable construct to 1. This is done in order to
estimate the potential different paths in the model. If we did not do this, the model would be
considered under-identified. Lastly, we will still covary all unobservables in the model because
they are considered independent variables. To see the standardized regression estimates, you
need to go into the Analysis Properties window and select the standardized regression weight
option. Do not select any other option in the Analysis Properties window, or it could create a
conflict that will not display the factor loadings. See Figure 10.42 for a view of what the model
should look like before using the specification search function.
Each
unobservable
construct has the
variance
constrained to 1
and all
unobservable
constructs are
Each construct has a path to
covaried.
every indicator and all paths are
freely es mated (no paths
constrained to 1).
After forming the model, we are ready to use the specification search function. After, we
click the specification search icon , the following window will appear (Figure 10.43).
The first icon in this window is the optional path function. Once you click this but-
ton, you can then choose which paths in the model are optional. The optional paths function
means AMOS will run numerous possible models with and without the path included. With
an EFA, we will select all paths to the indicators in the model and make them optional. We
initially drew a path to every indicator from an unobservable construct, and now we will see
which paths are statistically necessary or important in understanding the factor structure of
our model. When you select each path or single headed arrow in the model, the color of the
path will change. All optional paths will show up in the model as pink.
After selecting the optional paths in the model, you are ready to run the specification
search analysis by pressing the triangle button . The specification search function will
then start analyzing all possible combinations of the model with the optional relationships.
The results will initially show you all the possible combinations. In this example, the speci-
fication search function produced 112 different possible models. Many of the models pro-
duced are inadmissible or unidentified. To find the best models produced from the analysis,
you need to select the fit indices at the top. This will show you the best-fitting model first
and then rank order the next best-fitting models. If I click on the chi-square/degrees of
freedom heading (c/df), you can see that model 72 is listed as the best-fitting model (Fig-
ure 10.44). To see model 72, you just need to double click on the model number on the
left-hand side. This will show you the paths that are included/removed in the model to
produce this result.
The problem you can run into is that the fit indices might actually say different models are the
“best” model. The chi-square/degrees of freedom note that model 72 is the best, whereas if you
click on the BIC index, we see that model 52 is the best. So how do we know which model is the
best one? Which model should we use when different fit indices are suggesting different options?
320 Advanced Topics in SEM
The results in the top note that model 72 is the best based on Chi-square/
Degrees of Freedom, but the results on the boom say that
model 52 is the best based on BIC.
Let’s look at both models in the AMOS graphics window to give us a better understanding
on which one is more appropriate to use. Before we go into the AMOS graphics window,
we need to see the parameter estimates for each model. To do this, we need to select the
“Show Parameter” icon and then double click into the model we want to view. If we
double click into model 72, we see that the Positive Word of Mouth and Customer Delight
indicators are strongly loading on their respective construct, but we have two additional paths
included. One path is from Word of Mouth to delight3, but the loading is very weak (.08) and
is not considered an acceptable factor loading. We also have a path from Customer Delight
to WOM2, but again, the path is loading at an unacceptable level (−.07). We see from this
model that our indicators for each construct are strongly loading on their respective factor.
There is some cross loading, but it appears to be rather weak and not a huge concern.
Advanced Topics in SEM 321
Let’s now look at model 52 and see if we get a similar or different pattern of results with
our indicator loadings. See Figure 10.46.
With model 52, there are no cross loadings, and the only paths included in the model are
from the construct of Customer Delight to its three indicators and from Positive Word of
Mouth to its three indicators. The regression weights are all strong, giving initial support that
all the construct’s indicators are loading on their appropriate construct.
While we have initial confirmation that our indicators are loading on our constructs, AMOS
will allow us to plot/graph these results in order to see what is the most appropriate number
of optional relationships. In the icon window of the specification search window is the “Plot”
option. Clicking on that button will pop up a second window with the results plotted.
The plot window gives you the option of using a scree plot, a “Best fit” plot, and a scatter plot.
It will also plot the results based on the different fit indices. The plots will show how much
change took place on the y-axis compared to the number of different parameters estimated on
the x-axis. The bottom of the screen will also show you fit values, but that information does
not help in determining the appropriate model because different models will show very little
difference in those values.
Of the plot model options, I find the scree plot to be most useful because it will give a
clear picture on what is the optimal number of parameters to be estimated in a model. The
scatter plot will give you the frequency of parameters chosen, but this is not that helpful. The
“Best fit” plot method does not tell us much more than which model has the best model fit,
which we can get without the plot. Let’s look at the scree plot for the chi-square/degrees of
freedom index.
The results show us that 13 parameters have the highest change in chi-square/degrees of
freedom. When we move to a 14th parameter, the change in chi-square/degrees of freedom is
Advanced Topics in SEM 323
substantial, and any additional parameters added are not really contributing to further expla-
nation. If you click into the dot on the 13th parameter, it will give us the model number. In this
example, the model number listed is model 52 that just had the three paths from Customer
Delight to its indicators and the three paths from Positive Word of Mouth to its indicators. If
we look at the results for the BIC index, we find similar results, where after the 13th param-
eter the line abruptly drops and then levels off in regards to how much is being explained with
the addition of each parameter estimate.
Across all our analyses, it appears a 13-parameter estimate is the most appropriate, which
corresponds to model 52. This EFA gives strong support that our indicators are loading on the
appropriate constructs. One caveat with using the specification search function is that it will
allow only 30 optional arrows. If you want to run an EFA with numerous constructs at once,
other statistical options may be better suited.
when the coding is complete. As well, learning to code the data is a skill that is transferable to
other statistical packages. Lastly, if you want to collaborate with other authors who only know
how to use syntax, you can now speak a common language in the collaboration process. AMOS
uses a form of Visual Basic that allows you to specify a model in text form.
AMOS uses “pd” functions that will represent an object in the graphics window. Here is a
list of the five most prominent functions.
With each one of these functions, you need to make sure all data file names of variables
and names of unobservable variables you created have a quotation mark at the beginning and
ending of the name. AMOS will not know what variable you are trying to access without those
quotation marks. A single program line in the coding format will equate to a single object
added in the model or functions needed in the model.
Let’s look at how we could use the Plugins function via syntax to run a confirmatory fac-
tor analysis. After this example, I will show you how to code a full structural model. The CFA
example will be the same one we used in Chapter 4. We will start with a simple three con-
struct factor analysis of the constructs of Adaptive Behavior, Customer Delight, and Positive
Word of Mouth. We are going to model the observables for each construct along with all the
error terms for each observable. To see what the model initially looked like in the graphics
window, see Figure 10.49.
We have three
unobservable constructs,
11 observable indicators,
11 unobservable error
terms, and three
covariances to specify in
our model. We will also
need to specify all
relaonships along with
any constraints.
There are two ways to code the data in AMOS. The first way is through the “program edi-
tor” software in AMOS. This not located in the graphics window. The program editor is a sepa-
rate program that is solely code based (it will not draw a model). The second option is located
in the graphics window and is located in the Plugins option at the top. The Plugins option will
allow you to specify the model in a coding format, and then AMOS creates the model in the
graphics window. I find this second option a little easier because you can still use the Analysis
Properties button in the graphics window to specify different analysis options. I will show you
both methods for coding the data, but let’s first start with the “Plugins” option in the graphics
window first.
We first need to go to the AMOS graphics window and then select the “Plugins” option at the
top right and then select “Plugins”. A pop-up window will appear with the default plugins listed
(see Figure 10.50).You can also hit ALT+F8, and it will take you directly to this pop-up window.
When the pop-up window appears, hit the “Create” button. This will bring up a program
editor window with some default code already in the window. The first three functions will
be “Name”, which is the name you want to call this plugin; “Description”, which is a brief
description that can be entered about the model or file; and “Mainsub”, which is the area
where you will input the code that will tell AMOS what to turn into a graphic.
326 Advanced Topics in SEM
I am going to call this plugin “CFA Syntax”, and I am going to include a description of the
file as “CFA analysis using Syntax function”.
Under the “Mainsub” function, we are initially going to enter all the unobservables and
observables in the model. I am going to initially input all the indicators of the unobservable
constructs. Adaptive Behavior had five indicators, while Positive Word of Mouth and Cus-
tomer Delight had three indictors each. To input these observables, we are going to use the
Advanced Topics in SEM 327
“pd. Observed” function. For the first Adaptive Behavior indicator (adapt1), we are going to
let AMOS know this is an observable in the model by coding it:
Make sure you include the parenthesis and quotation marks in this line function. Next, we are
going to include all the rest of the indicators. See Figure 10.53.
Notice that I included a line space between the construct’s indicators; this just helps to keep
the code orderly instead of a huge list of indicators.You want to make sure you can easily see
if you are missing an indicator for a construct.
Underneath the observables, we can start to include the unobservables. The unobservables
will use the following function:
We will code all the other error terms the exact same way. Again, it is okay to have a blank line
between your coding in order to organize your coding into areas.
After telling AMOS what the unobservable and observable items are in the model, you
can then add single headed or double headed arrow relationships in the model. You can also
start to code any constraints that are in the model. Let’s start with adding the single headed
arrow relationships in the CFA. We are going to use the “pd. Path” function next. When using
the path function, you have to denote where the arrow is pointing to and where it is pointing
from in the code.You also have to denote if the relationship has a constraint. Here is how the
function is set up:
pd. Path (“object where the arrow is pointing to”, “object where the arrow is pointing
from”, constraint)
In the Adaptive Behavior construct, let’s model the first indicator (adapt1). This indicator is
also constrained to 1 because it is setting the metric for the construct. Here is how to code
this relationship:
The unobserved Adaptive Behavior construct has a reflective path to its indicator of
adapt1 and the path is constrained to 1. If we had no constraint in the path, then we
would not include any value at the end of the line function. For instance, the next
indicator to be coded for Adaptive Behavior would be: pd. Path (“adapt2”, “Adaptive_
Behavior”). You will need to code the relationship for each unobservable construct to
its indicators. Make sure to code the constraint in each construct for the indicator that
sets the metric.
After coding the paths from the unobservable construct to the indicators, you now need
to code the error term relationships. The error terms are classified as unobservables, so they
will be coded the same way as the unobservable constructs were just coded. One specific dif-
ference is that all error terms have a constraint of 1 in its relationship. When you are drawing
your model using the graphics interface, AMOS will put this constraint in by default; but in
the program editor window, you will have to specifically tell AMOS to put a constraint in the
relationships from the error term to the indictors.
Let’s now try to code the error term for the adapt1 indicator. The error number can be
whatever number you choose, but to be consistent with the example from Chapter 4 where
we drew the model in the graphics window, the error term is “e7”. To code this relationship,
it would be:
We would then need to code all the error terms for each indicator, making sure that every
indicator had a constraint of 1 added.
330 Advanced Topics in SEM
With a CFA, all unobservable constructs are considered independent constructs. Thus, all
independent constructs need to be covaried. To do this, we will use the covariance function of
“pd. Cov”. Here is an example of the covariance function:
Coding the
covariances
between objects.
You will notice at the bottom of the Mainsub section I included a function that was listed as
pd. Reposition ()
This function will group the observable and error terms together with an unobservable con-
struct when AMOS creates the model in the graphics window. If you don’t specify this func-
tion, the model is going to have observables and unobservables just randomly placed on the
graphics screen.
This is all the coding we need to enter into the Mainsub area. There is much more
coding below this area, but it is fine to leave those blank at this point. Next, you need to
check the syntax to make sure you do not have any errors. At the top of the screen are
some icons.
The icon with the checkmark on the page is the check syntax function. Once you have
clicked this, you should get a “Syntax is Ok” message in the description section under the cod-
ing if no errors are present. If an error does occur, the error message will be displayed in the
description section.
After checking your syntax, you need to save your coding. To run the coding in the AMOS
graphics window, you need to save this file in the AMOS Plugins folder. If you do not save it
in this folder, the graphics window will not be able to access and run the analysis. The location
you need to save this file is typically:
C:\Users\username\Appdata\Local\AmosDevelopment\AMOS\26\Plugins
You can always hit the “Save As” button, and it should default into this location or the loca-
tion that you specifically need to save the coding. Again, if it is not saved in the Plugins folder,
AMOS can not run the analysis.
Once you save the file, you should see that Plugin is one of the default names when you
click into the Plugin option on the graphics screen.You will also see at the bottom the descrip-
tion of the Plugin.
Advanced Topics in SEM 333
To launch the Plugin, you need to create a new file in the AMOS graphics window and then
read in the data file you want to use with the select data file icon . Next, you will go to
the Plugins option and then select your file, which was named CFA Syntax in this example.
AMOS will conceptualize the model in the graphics window. Here is what the model looks
like after running the Plugin:
334 Advanced Topics in SEM
I know that after looking at the model drawn by AMOS, many of you are thinking “Wow,
this is a hot mess! I thought the reposition function we added was going to group the denoted
objects around an unobservable construct”.You are correct, the reposition function helps AMOS
organize the model; this is the best AMOS can do without you specifically noting where you
want each construct based on a pixel location, which is a very laborious process. Figure 10.60
shows you what the model looks like when the reposition function is not included in the coding.
Advanced Topics in SEM 335
If you are using syntax in the Plugins function to draw the model in AMOS graphics, you
probably do not really care what the model looks like; you are just concerned with the analy-
sis. Once the model has been drawn, then you can use the calculate estimates button
to run the analysis. The results of this analysis are the exact same as the test we performed in
Chapter 4.
Using the syntax function with the Plugins function does have advantages and disadvan-
tages. One of the disadvantages is you are going to see every model created listed in the
Plugins function in the drop-down menu. I do not want to see every possible model I have
created, because that could be a very long list. You can create the coding file and save it in
336 Advanced Topics in SEM
another location and then simply copy it into the Plugins folder when you are ready to use it.
By doing it this way, you see only the default plugins and then the file you just copied in. This
is a work-around, but still a little bit of a hassle.
Another disadvantage is that the model that is created in the AMOS graphics window is
hard to see and not very easy to interpret.You would almost need to go back into the coding
to see the relationships or spend a lot of time fixing the model to make it graphically pleasing.
The graphics window part is not that helpful with this function.
There are some advantages to using this function as well. While I do not prefer to code
a whole model in this function, if you have a repetitive construct that you use continually,
you can code the construct, its indicators, and error terms in the plugin for future use. For
instance, if you consistently use an “Involvement” scale that was 13 items in the data set, you
could code the unobservables and observables of the involvement construct and save it to the
Plugins folder. When you were ready to include that construct in your model, you could use
the plugin and save some time from creating a new 13-indicator construct every time. Addi-
tionally, if a construct-to-construct relationship is consistently being modeled, this Plugins
function will save you some effort instead of creating the constructs in the model every time.
You do need to make sure to call the specific observables the same name across your data sets
if you use the Plugins function for this, or AMOS will not be able to anlayze the data because
of the different observable’s names listed in the data and in the model. The biggest advantage
to coding the data this way is the flexibility it gives you in the analysis.You can code the unob-
servables and observables in the model along with relationships but can still use the analysis
icons to select options and text viewing in an easy manner compared to coding all the requests
in the program editor. It is kind of like the best of both worlds. You can use syntax code to
conceptualize the model and then use the icon functions to denote options in the analysis. For
functions like two group analysis and invariance testing, this option is substantially easier than
the alternative of coding every analysis option needed in the program editor software.
Before examining how to use the dedicated program editor software, I want to give you one
more example of plugin coding for a full structural model. In our example, we just examined
the measurement model, but this time let’s examine a full structural model where the meas-
urement and the structural relationships are included.
I am going to call this plugin “StructuralTest”, and it will include a simple description of
a “full structural model test of Adaptive Behavior, Customer Delight, and Positive Word of
Mouth”. This model test will examine how Adaptive Behavior influences Customer Delight
which influences Positive Word of Mouth. The initial coding of unobservables and observables
will be exactly the same, but we are going to add error terms to the dependent variables and
relationships between the constructs. We will also remove all the covariances between the
constructs because now we only have one independent construct. See Figure 10.61 for the
coding of the structural model test.
We have added two error terms.
The error term “e12” will be the
error term for the unobservable
construct Customer Delight. We
have also added the error term
“e13” to be the error term for the
dependent variable of Posive
Word of Mouth.
Under the “Module MainModule”, you can type in a description of the model or descrip-
tion of the data being analyzed. It is just an area to give you greater clarity on the model you
are working on.You do need to start each sentence with an apostrophe to let AMOS know this
is just a description. Under the “Public Sub Main()” area is where you will place your code to
request a model along with the output of the analysis.
Before we start coding syntax into the window, we need to tell AMOS what format we are going
to use to anlayze the conceptual model. On the first line after the “Sub Main”, you should enter:
This will let us use the methods and properties of an object (denoted as Sem) to conceptualize
a model. At the start, we also need to include the Try\Finally\Dispose\End Try function. This
Advanced Topics in SEM 339
function allows us to use the AmosEngine in the analysis but will, in essence, release resources
in order to run an analysis again. To use this function, we are going to put “Try” on the line
right below Dim Sem as New AmosEngine, and then when we are finished coding the syntax
for our conceptual model, we are going to include the following program lines:
Finally
Sem.Dispose ()
End Try
After the initial “Try” program line, we will start asking AMOS for the ability to see the output
of our analysis. Here are some of the most popular requests:
Once we have listed the output we want, the next lines of program code will denote the
relationships in the model. Unlike the coding with the Plugins, we are not required to note
which objects are observable or unobservable. If the coding can not find a specific name in
the data file, the coding will treat it as an unobservable. Before noting the relationships, we
need to tell AMOS where the data file is. This is accomplished through the Sem.BeginGroup
function. AMOS wants to know how many groups you have in your model. If there is only one
group, AMOS wants to know where the data file is.You need to save your data file in a direc-
tory that AMOS can easily find. Here is the default location where AMOS will look:
I have saved my data in a folder called “AppliedSEM”, and the data within that folder is called “Delight”.
To request that this data be used in the analysis, we need to use the following program statement:
To specify a relationship in the program editor, we need to use the Sem.Astructure function.
This function will initially need to know where a single headed arrow is pointing to and then
where it came from along with whether a constraint is placed on the relationship. Let’s use the
same CFA example we did in using the syntax function in the Plugins option. In that example,
we have a three construct model of Adaptive Behavior, Customer Delight, and Positive Word
of Mouth. Adaptive Behavior had five indicators, so let’s address that construct first. To model
adapt1 as a reflective observable of the Adaptive Behavior construct (unobservable), we need
to use the following code:
In this program statement, adapt1 is where the arrow is pointing, Adaptive_Behavior construct
is where the arrow is pointing from and you will notice at the front is a “(1)”, which means the
relationship has a constraint of one. Lastly, you will see that an error term is included for the
adapt1 variable. With the inclusion of the “+” symbol, you can add another relationship going
to adapt1. Notice that the error term is constrained to 1 as well. Here is what the code would
look like for all the constructs in the CFA.
Once the relationships have been specified, we need to ask for model fit indices. This is usually
done in the program statements after the relationships have been specified.To do this, we need
to include the following line:
Sem.FitModel()
Note we did not request that covariances be included in the CFA analysis. All independ-
ent variables should be covaried, and in a CFA all variables are considered independent.
With the AmosEngine function in AMOS, it will automatically covary those relationships
for you. Unlike AMOS graphics, you do not have to denote that a covariance needs to
be added between constructs. Let’s take a look at what the final code should look like in
Figure 10.63.
Advanced Topics in SEM 341
You need to make sure you save your file after you have finished coding. To run the analysis,
you will need to hit the green arrow icon at the top of the screen.
342 Advanced Topics in SEM
If the analysis runs to completion, the text output should appear in a separate window. The
text output will look exactly the same as it does using the graphics interface. See Figure 10.64.
Let’s now extend our example to a full structural model where Adaptive Behavior leads
to Customer Delight which leads to Positive Word of Mouth. We need to include a path
Unstandardized
Regression Weights
and Significance.
Standardized Regression
Weight and Squared
Mulple Correlaon
output that was requested.
relationship from construct to construct. In the program editor, we can use the relationship
code <--, that is, the less than symbol and two dashes, resembling an arrow. If we want to
include a relationship path from Adaptive Behavior to Customer Delight, we will add the fol-
lowing program line:
Next, let’s add the error terms for the unobservable dependent constructs. We can use this
arrow symbol again to add error terms. Let’s say I want to add the error term for the Cus-
tomer Delight construct, and I will call it e12. Here is the program code to add that error
term:
If we wanted to add a covariance, we could also use this arrow symbol. If I wanted to corre-
late the error terms for e1 and e2, I would use the following symbol <-->. This will denote a
covariance in AMOS. Here is the program code:
Sem.AStructure(“e1 <-->
e2”)
See Figure 10.6 to view the complete code for the full structural model.
To use the program editor option, you have to pay attention to detail. A missed parenthesis
or a misspelled word will create an error message, but this message does not give you a lot of
information on why the program is not running the analysis. At times, it can be quite frustrat-
ing, but this can be avoided by taking a methodical approach to writing your code and making
sure each line is correct before moving on to the next one.
Figure 10.65 Program Editor Code for Full Structural Model
Advanced Topics in SEM 345
3. Mixture modeling is where predictions of group classification is made with Bayesian anal-
ysis. A “training” data set is often used to aid in predictions. With classification and predic-
tion, AMOS must be allowed to access non-numeric data and also be able to assign cases
to groups. The prediction of group assignments is located in the posterior predictions of
the Bayesian analysis. Lastly, even with no training data, AMOS can try to assign groups
based on the Bayesian analysis.
4. Censored data is where a value is unknown or partially known. This is usually because
the value cannot be determined because it represents a future value. In AMOS, Bayesian
analysis can be used to estimate the censored data. These future values (or censored) is
represented by a greater than symbol in the data. Posterior predictions in the Bayesian
analysis will give a probability of the future (censored) value.
5. Non-recursive models are structural models that have a feedback loop. With each con-
struct in a feedback loop, you need to have dedicated predictor variables, also called
instrumental variables. Additionally, you need to determine the stability of your feedback
loop by examining AMOS’s stability index test. Values within −1 to +1 are considered
stable.
6. AMOS uses the full information maximum likelihood method to handle missing data. An
imputation method is required to use more complex analyses like bootstrapping. AMOS
can impute missing data via a regression imputation method. It can also use a Bayesian
imputation to perform “multiple imputation”.
7. Post-hoc power analysis is a test of power after the sample has been collected. In my
opinion, they are not that helpful. Power calculations are best suited in the design phase
of research, not in the post-hoc analysis phase.
8. You can perform an exploratory factor analysis with a specification search function in
AMOS. The specification search will examine all possible combinations of indicators to
unobservable constructs to see what has the best fit. The specification search function can
also provide scree plots to show the optimal number of parameters to be estimated in
verifying an exploratory factor analysis.
9. In the plugin functions, you can use syntax code to conceptualize and, ultimately, draw
your model (or dedicated constructs) in the graphics window. These plugins can be saved
and are handy when you have repetitive constructs that need to be added to different
models. With the saved plugin, you can insert a model or construct conceptualization
with a click of a button.
10. The dedicated program editor will allow you to use a syntax code to run all your analysis
and avoid the graphical interface.
References
Allison, Paul D. (2003), “Missing Data Techniques for Structural Equation Modeling”, Journal of Abnormal Psychology,
112 (4), 545–557.
Arbuckle, James L. (2017), IBM SPSS AMOS 25 User’s Guide, IBM Corporation.
Appendix
Note: Page numbers in italic indicate a figure and page numbers in bold indicate a table on the corresponding page.
estimands function: for mediation testing with functions: listing by icon 38 – 53; quick reference
multiple mediators 182 – 188; for moderated of 59 – 61; shortcut keys for 61; see also specific
mediation with categorical moderators 236 – 237, functions
236 – 237; for moderated mediation with
continuous moderators 230 – 233, 231 – 232; gamma 14, 31
for moderated mediation with multicategorical Gaskin, James 87, 206
independent variables 253 – 256; for serial generalized least squares (GLS) 88
mediation 184 – 188; serial mediation 188 – 192, Goodness-of-Fit Index and Adjusted Goodness-of-Fit
189 – 192 Index (GFI/AGFI) 66 – 67
Estimate means and intercepts option 265, 314, 314 graphics window 36 – 38, 37, 41
Estimates tab: in CFA sample model 78, 79; Matrices Greek notation 13 – 15, 14, 15
option in 248; non-normal data and 288; Scalars grid lines, aligning objects with 58
option in 250, 255 Grouping Variable button 92, 92
eta 13 groups: creation of 91–92; measurement model
Examine Diagram with Loupe function 51, 60, 61 invariance across 90–98; multiple group analysis of
Execution Time tab 78 149–161, 148–160; parameter constraints across
exogenous variables 11 98–102, 99–102; parameter labels across 93–94, 94
exploratory factor analysis (EFA): confirmatory factor Groups Window 37
analysis compared to 63 – 64, 64; with specification Group Value button 92, 92
search 317 – 323 Group Variable function 150
moderation: definition of 197; in path models objects: changing shape of 44; deletion of 43;
197 – 206; see also moderation testing deselection of 43; duplication of 44; moving 43;
moderation testing 234; categorical moderators in properties of 50; selection of 42 – 43; spacing of 58
223 – 229, 224 – 226; full indicator interaction observed power analysis 317, 317
method of 209 – 213, 209 – 212; interaction term observed variables: diagram symbols for 10; drawing
method of 197 – 206, 198 – 199, 200, 200 – 206; 38; entering into models 327, 327; resizing 56;
matched-pairs method of 214 – 219, 214 – 217; standardizing look of 57 – 58
mean center versus Z score in 221 – 223, 221 – 223; optional path function 319
mixed model method of 207 – 209, 207 – 208; output, viewing 49, 58 – 59
moderated mediation with categorical moderators overfitting 66
234 – 238, 235 – 237; moderated mediation with over-identification 29 – 30
continuous moderators 229 – 234, 230 – 233,
234; reporting results of 219, 218, 220; sample pages: portrait versus landscape orientation of 53;
construct definitions for 238 – 239 zooming in/out 51
modification indices 68, 74, 81, 81 pairwise parameter comparison, categorical
mole variable 103 moderation and 227 – 229, 228 – 229
monotrait correlations 86 – 87 parallel mediation 182
Monte Carlo bootstraps 181, 181 Parameter Constraints option 106
Move Objects function 43, 59, 61 Parameter Format window 37
Move Parameter Values function 47 – 48, 60 parameter labels: across groups 93 – 94, 94; moving
MPLUS 9 47 – 48; for multiple group analysis 152 – 153, 152
multicategorical independent variables 244 – 258; parameters: constrained 98 – 102, 99 – 102; definition
features of 244 – 247, 245 – 246; mediation with of 13
247 – 251, 248 – 251; moderated mediation with Parameter Summary tab 30, 77, 78
251 – 256, 252 – 256, 257 – 258; sample construct partial least squares SEM (PLS-SEM) 166 – 167
definitions for 259 partial mediation 170, 171
multicollinearity 8, 34, 111, 161 partial metric invariance 98 – 102
Multi-Group Analysis 52 path analysis: correlation matrices as data input in
Multiple Group Analysis 60; with full structural 133 – 137, 134 – 137; definition of 128; features of
models 149 – 161, 148 – 160, 162, 162; with 128 – 133, 129 – 131; model fit in 131 – 133, 131;
measurement models 92 – 93, 92 – 93, 95 moderation testing for 197 – 206, 218; pd. Path
multiple imputation 316 function 329, 330
multiple indicators 12, 12 – 13 paths: constraints across groups 98 – 99, 99; diagrams,
multivariate outliers 162 – 164, 163 – 164 browsing 55; drawing 39 – 40; rearranging 48; see
also path analysis
names, variable 53 – 54 pd. Caption function 324
Name Unobserved Variables command 55 pd. Cov function 324, 330
near identified models 32 – 33 pd. Observed function 324, 327, 327
negative linear patterns 2, 2 pd. Path function 324, 329, 330
noise, definition of 62 pd. Reposition function 332
nonlinear patterns, in latent growth curve models pd. Unobserved function 324, 328, 328
274 – 277, 275 – 277 Perform bootstrap option 287, 287
non-normal data: bootstrapping and 287 – 293, phi 14
287 – 293; in full structural model analysis 165 – 166 pick-a-point approach to moderation testing 202 – 206,
Non-Normed Fit Index 66 202 – 206
non-positive matrix error message 161 PLS 9
non-recursive models 310 – 314, 310 – 313 plugins: CFA Syntax 326 – 337, 325 – 328, 330 – 335;
non-significant common method bias tests 109 creating models with 323 – 337, 325 – 328,
Normed Fit Index (NFI) 66 330 – 335; launching 333; names of 325
“not an observed variable” error message 124, 124 Plugins function: creating models with 323 – 337,
Notes for Model option 122, 313 325 – 328, 330 – 335; shortcut keys for 61
null models 66 Plugins menu commands 61; Draw Covariances 56;
Nunnally, Jum C. 26, 33 Name Unobserved Variables 55; Resize Observed
Variables 56
Object Properties function 50, 60; confirmatory portrait orientation of AMOS page 53
factor analysis 73, 73; measurement model analysis positive definite error 161
106 – 108; shortcut keys for 61; variance labels in positive linear patterns 2
295 – 296, 296 Posterior Predictive Distributions 298 – 299, 298 – 299
Index 353
Specification Search function 52, 60, 143 – 146, Tucker Lewis Index (TLI) 66
143 – 146 two group analysis 149 – 161
spotlight analysis 207
Stability Index 311 – 313 under-identification 32
standard deviation 198 – 199, 198 Undo Change function 52, 60, 61
standardized factor loadings 88 – 89 unidentified model errors 123 – 124, 123
standardized residuals 82, 82 unidimensionality of a construct 9, 111
Standardized Root Mean Square Residual (SRMR) unique variance 62
66 – 67 unmeasured covariance 62 – 63
standardized values, saving as variables 221 unobserved constructs: drawing 39, 71 – 72; entering
statistics, model fit 65 – 68 into models 328, 328; measurement of 11 – 13,
Statistics option 27, 26 – 27 11 – 13; standardizing look of 57 – 58
Stop Calculating Estimate function 61 user-defined estimands 181 – 188, 184 – 188
strictly confirmatory approach 7
structural equation modeling (SEM): advantages of 1; validity 33 – 34; convergent 83 – 85; discriminant 34,
assumptions of 8 – 9; as causal modeling approach 83 – 85
6 – 7; conceptualization in 8; confirmatory approach variables: adding error terms to 40 – 41; composite
to 7 – 8; covariance-based approach to 2 – 4, 3; 128 – 130, 129; control 147 – 148, 148; covariances
definition of 1; diagram symbols in 9 – 11; Greek between 55 – 56; dependent 11; independent
notation in 13 – 15, 14, 15; identification with 11; latent 9 – 10; listing 41 – 42; mean centered
29 – 32; software for 9 198 – 199, 199, 200, 221 – 223; for measurement
structural intercept comparison 272, 272 model examples 124, 167; name display for 53 – 54;
structural models: alternative models for 146; resizing 56; saving standardized values as 221;
measurement models compared to 12; non- standardizing look of 57 – 58; Z scores 221 – 223,
recursive models 310 – 314, 310 – 313; partial least 221 – 223; see also binary categorical variables;
squares SEM (PLS-SEM) 166 – 167; path analysis multicategorical independent variables; observed
128 – 137; sample construct definitions for 167; variables; unobserved constructs
simple example of 5; variance-based SEM (PLS- Variable Summary output 77, 77
SEM) 166 – 167; see also full structural model variance: calculation of 2; in mixture modeling
analysis; moderation testing 295 – 296, 296; see also covariance
structural relationships, Greek notation for 13 variance-based SEM (PLS-SEM) 166 – 167
summary data, mediation testing with 181, 181 View Interface Properties function 61
symbols, diagram 9 – 11 View Output function 49, 58 – 59, 60, 61
symmetries, preservation of 45 – 47 View Text button 76
“Syntax is Ok” message 332
systematic error 62 Weight Cases function 282 – 286, 283 – 286
weighted scores: calculation of 282–286, 283–286; error
theory, conceptualization and 8 messages for 284, 285; reliability analysis of 284
Title function 41, 59 Write a Program function 61
titles, graphics window 41
total effects 174 yea-saying 17
Touch Up function 48, 60, 61
Transform menu: Compute Variable command 84 – 85, zeta 14
84, 199 – 201, 199; Create Dummy Variables Zoom-in function 50, 60, 61
command 244; Replace Missing Values option Zoom on Specific Area function 50
24 – 25, 24 – 25 Zoom-out function 50, 61
trimming of structural models 143 – 146 Zoom Page function 51, 61
troubleshooting see errors Z scores 221 – 223, 221 – 223