Previous Page | Next Page

The TCALIS Procedure

RAM Statement
RAM list-entry <, list-entry ...> ;
where list-entry represents:
parameter-type variable1 <direction> <variable2> parameter-spec
and direction can be one of the following: –>, >, <–, <

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.

Types of RAM Parameters

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_ or _RAMA_

a parameter in the matrix of the RAM model (see the PATH keyword)

_P_ or _RAMP_

a parameter in the matrix of the RAM model (see the PCOV and PVAR keywords)

_W_ or _RAMW_

a parameter in the vector for means and intercepts (see the MEAN and INTERCEPT keywords)

INTERCEPT

the intercept of an endogenous variable, manifest or latent

MEAN

the mean of an exogenous variable, manifest of latent

PATH

the path coefficient for a pair of outcome and predictor variables

PCOV

the partial covariance or covariance between a pair of variables

PVAR

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.

Path Coefficients Parameters with Keyword _A_ or PATH

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,

Partial Variance and Variance Parameters with Keyword _P_ or PVAR

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),

Partial Covariance and Covariance Parameters with Keyword _P_ or PCOV

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.

Means and Intercepts with Keyword _W_, INTERCEPT, or MEAN

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,

Variable Names for variable1 and variable2

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.

Parameter Names and Initial Values

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),
    

Automatic Variance and Partial Variance Parameters

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.

Automatic Covariance Parameters

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.

Automatic Mean Parameters

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.

Modifying a RAM Model from a Reference Model

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.

RAM list-entry <, list-entry ...> ;
where list-entry represents:
parameter-type variable1 <direction> <variable2> parameter-spec
and direction represents one of the following: –>, >, <–, <

The new model is formed by integrating with the old model in the following ways:

Duplication:

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.

Addition:

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.

Deletion:

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.

Replacement:

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.

Previous Page | Next Page | Top of Page