Previous Page | Next Page

The TCALIS Procedure

LISMOD Statement
LISMOD <var_lists> ;
where var_lists represent one or more of the following:
YVAR  |  YV  |  Y = variables
XVAR  |  XV  |  X = variables
ETAVAR  |  ETAV  |  ETA = variables
XIVAR  |  XIV  |  XI  |  KSIVAR  |  KSIV  |  KSI = variables

LISMOD stands for LISrel MODeling, where LISREL is the program developed by Jöreskog and Sörbom (1988). Like the original implementation of LISREL, LISMOD uses a matrix specification interface. To complete the LISMOD specification, you might need to add as many MATRIX statements as needed, as shown in the following statement structure for the LISMOD model:

LISMOD variable lists ;
MATRIX matrix-name parameters-in-matrix ;
Repeat the MATRIX statement as needed ;

The matrix-name in the MATRIX statement should be one of the twelve model matrices in LISMOD, as listed in the following:

  • Matrices in structural model: _ALPHA_, _KAPPA_, _BETA_, _GAMMA_, _PHI_, _PSI_

  • Matrices in measurement model for y-variables: _NUY_, _LAMBDAY_, _THETAY_

  • Matrices in measurement model for x-variables: _NUX_, _LAMBDAX_, _THETAX_

See the section Model Matrices in the LISMOD Model for definitions of these matrices and their roles in the LISMOD modeling language. See the MATRIX statement for the details of parameter specification.

In the LISMOD statement, you can set the following four lists of variables:

  • YVAR= list is for manifest variables that are directly related to the endogenous latent eta-variables. Variables in the list are called y-variables.

  • XVAR= list is for manifest variables that are directly related to the exogenous latent ksi-variables. Variables in the list are called x-variables.

  • ETAVAR= list is for endogenous latent variables . Variables in the list are called eta-variables.

  • XIVAR= list is for exogenous latent variables . Variables in the list are called xi- or ksi- variables.

The order of variables in the lists of the LISMOD statement is important. The order is used to define the variable order in rows and columns of the LISMOD model matrices.

Depending on the model of interest, you might not need to set all the lists of variables. When some variable lists are not specified, the full model reduces to specialized submodels. However, to be a proper submodel in the LISMOD modeling language, it is necessary (but not sufficient) that at least one of the yvar= or xvar= lists is defined. See the section LISMOD Submodels for the details about LISMOD submodels that PROC TCALIS can handle.

An example of a LISMOD model specification is shown as follows:

   proc tcalis;
      lismod xvar=x1-x3 yvar=y1-y6 xivar=xi etavar=eta1-eta2;
      matrix _LAMBDAY_   [,1]  = 1. load3 load4,
                         [,2]  = 0. 0. 0. 1. load5 load6;
      matrix _THETAY_    [1,1] = ey1-ey3,
                         [2,1] = cey;
      matrix _LAMBDAX_   [,]   = 1. load1 load2;
      matrix _THETAX_    [1,1] = 3*ex;
      matrix _GAMMA_     [,1]  = beta1 beta2;
      matrix _PHI_       [1,1] = phi;
      matrix _PSI_       [1,1] = psi1-psi2;
   run;

In this example, you have three -variables x1x3, six -variables y1y6, one -variable xi, and two -variables eta1eta2. The numbers of variables in these lists define the dimensions of the LISMOD model matrices. For example, matrix _LAMBDAY_ is , with y1y6 as the row variables and eta1eta2 as the column variables. Matrix _THETAX_ is , with x1x3 as the row and column variables. In the MATRIX statements, you specify parameters in the elements of the matrices. After the matrix name, you specify in the parentheses '[' and ']' the starting row and column numbers of the first element to be parameterized. After the equal sign, you specify fixed or free parameters for the matrix elements.

Depending on how you specify the starting row and column numbers, the parameter specification might proceed differently. See the MATRIX statement for a detailed description. In this example, the first specification of the parameters in the _LAMBDAY_ matrix starts from [,1]—meaning that it starts from the first column and will proceed downwards. As a result, the [1,1] element is a fixed constant , the [2,1] element is a free parameter called load3, and the [3,1] element is a free parameter called load4. Similarly, in the second specification in the _LAMBDAY_ matrix, the [1,2], [2,2], [3,2], and [4,2] elements take constant values 0, 0, 0, and 1, respectively, and the [5,2] and [6,2] elements are free parameters load5 and load6, respectively.

You can also specify the parameters of a row using similar notation. For example, with the notation [2,] for the starting row and column numbers, specification proceeds to the left with the same second row in the matrix.

If you have both starting row and column numbers specified, such as that in the first specification in matrix _THETAY_, the parameter specification starts from [1,1] and proceeds to the next row and column numbers—that is [2,2], [3,3], and so on. This results in specifying the diagonal elements of matrix _THETAY_ as free parameters ey1, ey2, and ey3.

With the notation [,], there are no starting row and column numbers specified. Specification will start from the first valid element in the matrix and proceeds row-wise for all valid elements in the matrix. For example, in the matrix _LAMBDAX_ statement, the [1,1] element of matrix _LAMBDAX_ is a fixed constant , and the [1,2] and [1,3] elements are free parameters load1 and load2, respectively.

Modifying a LISMOD 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 the reference model (or base model) is also a LISMOD model. The reference model is 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 LISMOD modeling language to make modifications within the scope of the MODEL statement for the new model. The syntax is similar to, but not exactly the same as, the ordinary LISMOD modeling language (see the section LISMOD Statement). The respecification syntax for a LISMOD model is shown as follows:

LISMOD ;
MATRIX matrix-name parameters-in-matrix ;
Repeat the MATRIX statement as needed ;

First, in the respecification you should not put any variable lists in the LISMOD statement. The reason is that the parameter respecifications in the new model make reference to the variable lists of the old model. Therefore, the variable lists in the new model are implicitly assumed to be exactly the same as those in the old model. Because of this, the LISMOD statement is entirely optional for the respecification in the new model.

Second, you can use MATRIX matrix-name statements to modify the old model by using the same syntax as in the LISMOD modeling language. The matrix-name can be one of the twelve possible LISMOD matrices. In addition, in the respecification syntax you can use the missing value '.' to drop a parameter specification from the old model.

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 used in 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, in the following two-group analysis you specify model 2 by referring to model 1 in the REFMODEL statement.

   proc tcalis;
      group 1 / data=d1;
      group 2 / data=d2;
      model 1 / group=1;
         lismod xvar=X1-X3 yvar=Y1-Y6 xivar=xi etavar=eta1-eta2;
         matrix _LAMBDAY_   [,1]  = 1. load3 load4,
                            [,2]  = 0. 0. 0. 1. load5 load6;
         matrix _THETAY_    [1,1] = ey1-ey3,
                            [2,1] = cey;
         matrix _LAMBDAX_   [,]   = 1. load1 load2;
         matrix _THETAX_    [1,1] = 3*ex;
         matrix _GAMMA_     [,1]  = beta1 beta2;
         matrix _PHI_       [1,1] = phi;
         matrix _PSI_       [1,1] = psi1-psi2;
      model 2 / group=2;
         refmodel 1;
         matrix _THETAY_    [2,1] = .;
         matrix _THETAX_    [1,1] = ex1-ex3;
         matrix _BETA_      [2,1] = beta;
      run;

In this example, model 2 is the new model which refers to the old model, model 1. It illustrates the four types of model integration:

  • Duplication: All parameter locations and specifications in the old model are duplicated in the new model, except the [2,1] element in matrix _THETAY_ and the diagonal of matrix _THETAX_, which are being modified in the new model.

  • Addition: The _BETA_[2,1] parameter location is added with a new parameter beta in the new model. This indicates that eta1 is a predictor variable of eta2 in the new model, but not in the old model.

  • Deletion: Because the missing value '.' is used for the parameter value, the _THETAY_[2,1] parameter location is no longer defined as a free parameter in the new model. In the old model, the same location is defined by the free parameter cey.

  • Replacement: The diagonal elements of the _THETAX_ matrix in the new model are now defined by three distinct parameters ex1ex3. This replaces the old specification where a single constrained parameter ex is applied to all the diagonal elements in the _THETAX_ matrix.



Note: This procedure is experimental.

Previous Page | Next Page | Top of Page