The SSM Procedure

EVAL Statement

  • EVAL name = number1*variable1 + number2*variable2 + …</ options> ;

The EVAL statement defines a linear combination, named name, of the terms used in the right-hand side of a MODEL statement. You can specify any variables (for example, predictor variables and names of components) in the expression of the EVAL statement; however, you cannot specify in this expression any observation disturbances that are specified by the IRREGULAR statement and any model terms that are specified by the DEPLAG statement. Suppose C1 and C2 are two components (defined by COMPONENT statements elsewhere in the program), T1 is a trend component, and X1 is a regression variable used in a model. The following are valid examples of the EVAL statement:

 eval e1 = c1 - c2;
 eval e2 = t1 + c1 + x1;
 eval e2 = t1 + 2*c1 - 1.5*x1;

The estimates of linear combinations defined by the EVAL statement (for example, E1, E2, and E3) are output to the OUT= data set that is specified in the OUTPUT statement.

The components used in a given EVAL expression must correspond to distinct state subsections. This requirement is imposed only to simplify the overall readability of the program and does not limit the type of linear combinations that can be specified; if two components in the right hand side of an EVAL expression share the same state subsection, a new component that combines the effect of these two components can always be defined.

In addition, you can print these estimates by using the following PRINT= options:

PRINT=FILTER | SMOOTH
PRINT=(<FILTER> <SMOOTH>)

requests printing of the filtered or smoothed estimate of the specified linear combination.

Note: The expression builder in the EVAL statement is primitive. For example, you cannot use parentheses to group terms.