The REFMODEL statement is not a modeling language itself. It is a tool for referencing and modifying models. It is classified into one of the modeling languages because its role is similar to other modeling languages.
REFMODEL model-number </ options>;
RENAMEPARM parameter renaming;
In the REFMODEL statement, you specify the model-number (between 1 and 9,999, inclusive) of the model you are making reference to. The reference model must be well-defined in the same PROC CALIS run. In the options, you can rename all the parameters in the reference model by adding a prefix or suffix so that the current model has a new set of parameters. The RENAMEPARM statement renames individual parameters in the reference model to new names. In the main model specification statement and the subsidiary model specification statements , you can respecify or modify the specific parts of the reference model. The specification of these statements must be compatible with the model type of the reference model.
Note: The REFMODEL statement does not simply copy model specifications from a reference model. If you do not change any of the parameter names of the reference model by any of the REFMODEL statement options, the REFMODEL statement copies only the explicit specifications from the reference model to the new model. However, the REFMODEL statement does not copy the default parameters from the reference model to the new model. For example, consider the following statements:
proc calis; group 1 / data=a1; group 2 / data=a2; model 1 / group=1; path x1 ===> x2; model 2 / group=2; refmodel 1; run;
In this example, Model 2 makes reference to Model 1. This means that the path relationship between x1
and x2
as specified in Model 1 is exactly the same path relationship you want Model 2 to have. The path coefficients in these two
models are constrained to be the same. However, the variance parameter of x1
and the error variance parameter for x2
are not constrained in these models. Rather, these two parameters are set by default in these models separately. If you intend
to constrain all parameters in the two models, you can specify all the parameters in Model 1 explicitly and use the REFMODEL
statement for Model 2, as shown in the following statements:
proc calis; group 1 / data=a1; group 2 / data=a2; model 1 / group=1; path x1 ===> x2; pvar x1 x2; model 2 / group=2; refmodel 1; run;
This way Model 2 makes reference to all the explicitly specified parameters in Model 1. Hence the two models are completely constrained. However, a simpler way to fit exactly the same model to two groups is to use a single model definition, as shown in the following statements:
proc calis; group 1 / data=a1; group 2 / data=a2; model 1 / group=1,2; path x1 ===> x2; run;
This specification has the same estimation results as those for the preceding specification.
When you also use one of the REFMODEL statement options, the REFMODEL statement is no longer a simple copy of explicit parameter specifications from the reference model. All parameters are renamed in the new model in the model referencing process. The following options are available in the REFMODEL statement: