MODEL 'label' path <, path …> < / options >;
where label represents a name that you assign to the model and path represents either of the following specifications:
a directed-path
a covariance-path
Details about the syntax and interpretation of these different types of paths are described later in this section. Here are some examples:
model 'Example1'
X1 ==> X2,
X3 <== X2, /* same as: X2 ==> X3 */
X3 ==> X4 X5, /* same as: X3 ==> X4, X3 ==> X5 */
<==> {X2 X5 X6}; /* latent confounding between X2, X5, and X6 */
model 'Example2'
X1 ==> X2 ==> X3 <== X4 <==> X5;
You must specify at least one MODEL statement in an analysis.
The label is enclosed within quotation marks and can be any string of characters. Every model that you specify using a MODEL statement must have a unique label. The labels for models are not case-sensitive.
A MODEL statement specifies a causal model in the form of a directed acyclic graph (DAG). A DAG consists of nodes that represent variables in the model and edges that represent causal relationships between pairs of variables. For more information about how to use a DAG to represent a causal model, see the section Causal Graph Theory. You specify the causal relationships in a DAG in accordance with the path syntax in the MODEL statement.
The following subsections explain the path syntax. Each path is either a directed-path or a covariance-path.
A directed-path has the following form:
variables arrow variables < arrow variables …>
The directed-path continues alternating between arrows and variables and terminates with either a comma (which ends the path) or a semicolon (which ends the MODEL statement). Each variables argument contains a list of variable names. Optionally, you can enclose this list of names in curly braces, square brackets, or parentheses. This means that all the following forms are equivalent:
variables
{variables}
[variables]
(variables)
The use of braces, brackets, or parentheses for grouping variables is optional but highly recommended because it clearly identifies the edges that are associated with each variable.
Each arrow in a directed-path defines a set of edges in a DAG. Each variable in the list preceding the arrow is linked by an edge to each variable in the list following the arrow. The direction of the edge is given by the direction of the arrow. An arrow in a directed-path can be a right arrow (==>), a left arrow (<==), or a bidirected arrow (<==>). For more information about representing arrows in the CAUSALGRAPH procedure, see the section Arrow or Edge Specification.
The procedure does not allow multiple edges of the same type between two variables. If the same edge is specified more than once in a MODEL statement, the repeated specifications are ignored. Variable names are not case-sensitive in the procedure.
Here are some examples of specifying directed-paths:
model 'M1'
Y ==> Z,
U <== W,
X U V ==> Y,
W ==> Z <== M N ==> Y;
The following MODEL statement specifications of "M2" are equivalent:
model 'M2' V1 V2 ==> X1-X3 A <== B C <==> D;
model 'M2' {V1 V2} ==> {X1-X3 A} <== {B C} <==> D;
model 'M2' V1 V2 ==> X1-X3 A,
D <==> {B C} ==> X1-X3 A;
model 'M2' V1 ==> X1, V1 ==> X2, V1 ==> X3, V1 ==> A,
V2 ==> X1, V2 ==> X2, V2 ==> X3, V2 ==> A,
X1 <== B, X2 <== B, X3 <== B, A <== B,
X1 <== C, X2 <== C, X3 <== C, A <== C,
B <==> D, C <==> D;
A covariance-path has the following form:
<==>variables
The <==> syntax represents a bidirected arrow. For more information about representing arrows in the CAUSALGRAPH procedure, see the section Arrow or Edge Specification. The variables argument contains a list of variable names. Optionally, you can enclose this list of names in curly braces, square brackets, or parentheses. This means that all the following forms are equivalent:
variables
{variables}
[variables]
(variables)
The use of braces, brackets, or parentheses for grouping variables is optional but highly recommended because it clearly identifies the edges that are associated with each variable.
You use a covariance-path to specify covariances between pairs of variables that are not explained by the causal paths in the model. Essentially, these covariances are equivalent to assuming latent confounding between each pair of variables that you specify in the covariance-path. That is, one bidirected edge is added to the model for each pair of unique variables in the covariance-path. Thus the following specifications are equivalent:
model 'MyModel' <==> {X1 X2};
model 'MyModel' X1 <==> X2;
Furthermore, because a bidirected edge represents latent confounding, this is also equivalent to the following specification:
model 'MyModel' X1 <== L ==> X2;
unmeasured L;
For more information about the interpretation of bidirected edges in the CAUSALGRAPH procedure, see the section Causal Graph Theory.
Here are some examples of specifying covariance-paths:
model 'M3'
<==> {X1 X2},
<==> {X3-X5 X8};
The following MODEL statement specifications of "M4" are equivalent:
model 'M4' <==> {X1-X3 Y Z};
model 'M4' <==> {X1 X2 X3 Y Z};
model 'M4'
<==> {X1 X2},
<==> {X1 X3},
<==> {X1 Y},
<==> {X1 Z},
<==> {X2 X3},
<==> {X2 Y},
<==> {X2 Z},
<==> {X3 Y},
<==> {X3 Z},
<==> {Y Z},
model 'M4'
X1 <==> X2 X3 Y Z,
X2 <==> X3 Y Z,
X3 <==> Y Z,
Y <==> Z;
You can specify the following options in the MODEL statement: