The TCALIS Procedure |
RAM Statement |
RAM stands for the reticular action model, developed by McArdle(1980). In the RAM statement, you specify various kinds of parameters in the model. In each list-entry, you specify the type of parameter in parameter-type, variables involved in variable1 and, if applicable, in variable2, path direction in direction, parameter name and value in parameter-spec. List-entries must be separated by commas.
The first keyword in each RAM list-entry is the parameter type, represented as parameter-type in the syntax. You can use one of the following keywords (not case-sensitive) for parameter-type:
a parameter in the matrix of the RAM model (see the PATH keyword)
a parameter in the matrix of the RAM model (see the PCOV and PVAR keywords)
a parameter in the vector for means and intercepts (see the MEAN and INTERCEPT keywords)
the intercept of an endogenous variable, manifest or latent
the mean of an exogenous variable, manifest of latent
the path coefficient for a pair of outcome and predictor variables
the partial covariance or covariance between a pair of variables
the partial variance or variance of a variable
Keywords _A_, _P_, and _W_ refer to the matrix elements of the RAM model matrices _A_, _P_, and _W_, respectively. See the section Model Matrices in the RAM Model for detailed descriptions of these matrices. Elements in matrix _A_ are path coefficients; therefore the _A_ keyword is the same as the PATH keyword for specifying these matrix elements. Elements in matrix _P_ are either (partial) variances or (partial) covariances; therefore the _P_ keyword is the same as the PVAR or PCOV keyword for specifying these matrix elements. Elements in matrix _W_ are either means or intercepts; therefore the _W_ keyword is the same as the MEAN or INTERCEPT keyword for specifying these matrix elements.
To specify the paths and the associated coefficients, you can use either the _A_ or PATH keyword for parameter-type. A pair of variables must be specified in variable1 and variable2. The direction must also be inserted between the pair of variables with the PATH keyword. The following is an example of the list-entries for path coefficients:
path a -> b x1, path c <- b x2,
The first path is from variable a to variable b with a path coefficient parameter named x1. The second path is from variable b to variable c with a path coefficient parameter named x2. However, if you use the _A_ keyword, you must not specify the direction, as it is implicitly assumed to be an arrow pointing to left, <–. For example, the following specification using the _A_ keyword is equivalent to the previous specification.
_A_ b a x1, _A_ c b x2,
To specify the variance or partial variance parameters, you can use the _P_ or PVAR keyword for parameter-type. If you use _P_, variable1 and variable2 must be the same variable name. If you use PVAR, only variable1 needs to be specified. Specification for direction should be omitted. If the variable is exogenous, you are defining a variance parameter. Otherwise, you are defining a partial variance parameter. Partial variance in the RAM model can be interpreted as the error variance for an endogenous variable.
For example, assume that b is an exogenous variable in your model. In the following specification, you define the variance of b as a parameter named v1, with an initial estimate of :
PVAR b v1 (1.0),
This specification is equivalent to the following specification by using the _P_ keyword for parameter-type:
_P_ b b v1 (1.0),
To specify the covariance or partial covariance parameters, you can use the _P_ or PCOV keyword for parameter-type. You must specify both variable1 and variable2, where variable1 and variable2 are different variable names. Specification for direction should be omitted. Whereas it is a semantic error if variable1 and variable2 are the same name with the PCOV keyword, it is permissible to do so with the _P_ keyword. However, for the latter you are supposed to define a parameter location for the variance or partial variance of a variable, instead of the covariance or partial covariance parameter that is considered in this section.
The following shows a specification of a covariance parameter:
PCOV a b v12 (0.5),
If both a and b are exogenous variables in your model, the preceding code specifies the covariance between a and b as a free parameter named v12, with a starting value at . Equivalently, you can use the _P_ keyword, as shown in the following specification:
_P_ a b v12 (0.5),
Note that if both a and b are both endogenous variables in your model, you can still use the preceding specification. But the interpretation is different. For endogenous a and b, v12 is treated as a partial covariance parameter. In almost all situations, this partial covariance is interpreted as the error covariance for variables a and b. Or, the model assumes correlated errors associated with variables a and b.
In fact, you can also specify the partial covariance between an exogenous variable and an endogenous variable. Suppose that a is exogenous and b is endogenous in your model. The preceding specifications are for specifying the covariance parameter between a and the error term for b. This is certainly a cumbersome interpretation. Fortunately, covariances between exogenous variables and error variables are considered inelegant in most statistical models. This kind of specification should be rare in practice.
To specify the mean or intercept parameters, you can use the _W_, INTERCEPT, or MEAN keyword for parameter-type. You must specify variable1 in the list-entry. Specifications for variable2 and direction are not applicable and should be omitted. With the MEAN keyword, variable1 is supposed to be an exogenous variable. With the INTERCEPT keyword, variable1 is supposed to be an endogenous variable. With the _W_ keyword, however, variable1 can be either exogenous or endogenous. In this case, whether a mean or an intercept parameter is being specified is determined by the TCALIS procedure.
For example, in the following specification the mean of f1 is a free parameter named mean1 while the intercept for a is a constant value :
mean f1 mean1, intercept a 2.0,
Equivalently, you can specify using the _W_ keyword, as shown in the following:
_W_ f1 mean1, _W_ a 2.0,
In each list-entry, you have to specify a variable name for variable1 and possibly a variable name for variable2 also. PROC TCALIS needs to distinguish names for observed and latent variables in your model. Variable names that are referenced in the input data set are for observed variables; otherwise, they are for latent variables. Therefore, you can make up any latent variable names in the RAM model specification, as long as these names follow the general SAS naming conventions and do not match any of the names in the input data set. Notice that in the RAM model specification, all latent variable names are for the latent factors, and names for error or disturbance terms are never needed. Error variances and covariances can be specified using the corresponding endogenous variables names as references in the list-entries with the PCOV or PVAR keyword for parameter-type. Hence, creating names for error or disturbance terms is not necessary in the RAM model specification.
After you specify the type of parameter in parameter-type, the associated variables in variable1 and variable2 (when applicable), and the direction for paths (if applicable), the last piece information of list-entry is parameter-spec, which can be one of the following three types:
fixed constants
For example, in the following specification the intercept of variable a is fixed at .
intercept a 2.0,
free or constrained parameter names without starting values
For example, in the following specification the mean of variable f1 is a parameter named mean1.
mean f1 mean1,
The starting value of mean1 is generated by PROC TCALIS.
free or constrained parameter names with starting values
For example, in the following specification the variance (if b is exogenous in the model) or error variance (if b is endogenous in the model) of variable b is a parameter named v1, with a starting value .
PVAR b v1 (1.0),
If the partial variance or variance parameter for any variable (manifest or latent) in the RAM model is not explicitly specified in the RAM list-entries, it will be added automatically as a free parameter. Each parameter is named with the prefix _Add and appended with a unique integer. Therefore, PVAR parameter-type entries for variables are optional when they are free and unconstrained parameters. However, if you need to set constraints on these parameters or to assign fixed parameter values, PVAR list-entries for the corresponding variables are necessary.
All covariances among exogenous manifest variables in the RAM model are free parameters automatically unless specified otherwise in the list-entries with the PCOV keyword for parameter-type. Each automatic covariance parameter is named by PROC TCALIS with the _Add prefix and appended with an unique integer. If you want any of these covariances to be fixed values or constrained via name references, you must specify them explicitly in the PCOV list-entries.
Covariances among exogenous latent variables by default are fixed zeros unless specified otherwise in the PCOV list-entries. The same applies to any partial covariance among endogenous variables and to any partial covariance between an exogenous latent variable and an exogenous manifest variable.
All means of exogenous manifest variables in the RAM model are free parameters automatically unless specified otherwise in the MEAN list-entries. Each automatic mean parameter is named by PROC TCALIS with the _Add prefix and appended with an unique integer. If you want any of these means be fixed values or constrained via name references, you must specify them explicitly in the MEAN list-entries.
In this section, it is assumed that you use a REFMODEL statement within the scope of a MODEL statement and that the reference model (or base model) is also a RAM model. The reference model will be referred to as the old model, while the model that makes reference to this old model is referred to as the new model. If the new model is not intended to be an exact copy of the old model, you can use the following extended RAM modeling language to make modifications on the model specification. The syntax for modifications is the same as the ordinary RAM modeling language (see the section RAM Statement). The syntax for respecifying/modifying the RAM model is as follows.
The new model is formed by integrating with the old model in the following ways:
If you do not specify in the new model a parameter location that exists in the old model, the old parameter specification is duplicated in the new model.
If you specify in the new model a parameter location that does not exist in the old model, the new parameter specification is added to the new model.
If you specify in the new model a parameter location that also exists in the old model and the new parameter is denoted by the missing value '.', the old parameter specification is not copied into the new model.
If you specify in the new model a parameter location that also exists in the old model and the new parameter is not denoted by the missing value '.', the new parameter specification replaces the old one in the new model.
For example, consider the following two-group analysis:
proc tcalis; group 1 / data=d1; group 2 / data=d2; model 1 / group=1; ram path V1 <- F1 1., path V2 <- F1 load1, path V3 <- F1 load2, path F1 <- V4 b1, path F1 <- V5 b2 path F1 <- V6 b3 pvar E1 ve1, pvar E2 ve2, pvar E3 ve3, pvar F1 vd1, pvar V4 phi4, pvar V5 phi5, pvar V6 phi6, pcov V1 V2 cve12; model 2 / group=2; refmodel 1; ram path V3 <- F1 load1, pcov V1 V2 . , pcov V2 V3 cve23; run;
In this example, you specify model 2 by referring to model 1 in the REFMODEL statement. Model 2 is the new model which refers to the old model, model 1. This example illustrates the four types of model integration process by PROC TCALIS:
Duplication: All parameter specifications, except for the partial covariance between V1 and V2, and the V3 <– F1 path in the old model are duplicated in the new model.
Addition: The parameter cve23 for the partial covariance between V2 and V3 is added in the new model.
Deletion: The specification of partial covariance between V1 and V2 in the old model is not copied into the new model, as indicated by the missing value '.' in the specification.
Replacement: The new path V3 <– F1 replaces the same path in the old model with another parameter for the path coefficient. Thus, in the new model paths V3 <– F1 and V2 <– F1 are constrained to have the same path coefficient parameter load1.
In the RAM model, partial variances or variances of all variables, means of exogenous mainfest variables, and the covariances among exogenous mainfest variables are automatically free parameters unless you specify otherwise in the list-entries of the RAM statement. See the sections Automatic Variance and Partial Variance Parameters, Automatic Covariance Parameters, and Automatic Mean Parameters for more details. This is also true for RAM models specified under the REFMODEL statement. In the reference model, parameters generated by PROC TCALIS are named with the _Add prefix and appended with integer suffixes. These automatically generated parameters in the reference model do not transfer to the new model. Only after the new model is resolved from the reference model, the REFMODEL statement options, the RENAMEPARM statement, and the model respecification are the automatic parameters of the new RAM model generated. In this way, the generated parameters in the new model are not constrained to be the same as the corresponding parameters in the reference model. If you want any of these parameters be constrained across the models, you must specify them explicitly in the list-entries of the RAM statement of the reference model so that these specifications are transferred to the new model via the REFMODEL statement.
Note: This procedure is experimental.
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.