TMODEL Procedure
Comparison of PROC TMODEL and PROC MODEL
PROC TMODEL includes changes to the underlying computational algorithms that are used in the majority of PROC MODEL analyses. The new algorithms improve the stability and convergence characteristics along with the computational efficiency for most problems; however, for some problems these improvements can cause PROC TMODEL to produce different results than PROC MODEL. In particular, both estimation and simulation tasks rely on matrix ordering and factorization algorithms that have been enhanced in PROC TMODEL to work more efficiently, especially for large problems. Also, PROC TMODEL processes input data in a different order than PROC MODEL to improve performance, and this can cause some estimation tasks to produce different results.
In addition to performance improvements, PROC TMODEL has the following new features:
estimation and simulation of models that use panel data by specifying cross-sectional variables in the CROSSSECTION statement
estimation of models with nonlinear random-effects parameters when cross-sectional variables are identified in the input data
use of analytic expressions for Hessian matrices in the optimization process for most estimation methods by default
use of the nonlinear programming (NLP) solver available in SAS/OR software for performing the optimizations during estimation tasks
The ability to specify cross-sectional variables in PROC TMODEL allows for the estimation of dynamic models by using multiple time series. By contrast, PROC MODEL can estimate dynamic models only for data that contain a single time series. Also, PROC TMODEL enhances the modeling capabilities of PROC MODEL by supporting models of the correlations among cross sections through the specification of random-effects parameters.
Models that depend on highly nonlinear parameters can cause the estimation process either to converge slowly or to fail to converge. PROC TMODEL includes two new features that address these problems. In PROC MODEL, a first-order approximation of the model problem’s Hessian matrix is used in the parameter search. PROC TMODEL has the option to use exact Hessian matrix values in the parameter search. PROC TMODEL also supports the use of an alternative nonlinear programming solver that improves convergence characteristics for many estimation problems.
PROC TMODEL breaks computationally intensive operations into multiple, concurrent threads to reduce the time it takes to complete many of the estimation and simulation tasks available in PROC MODEL. PROC MODEL performs all calculations sequentially. PROC TMODEL can break calculations up in the following ways:
multithreading across partitions of the input data set
multithreading across BY groups
multithreading across repetitions in Monte Carlo simulations
multithreading the optimization process in estimations across sets of initial estimates
For estimation tasks that do not involve dynamic models, PROC TMODEL breaks up the observed data into partitions and computes each partition’s contribution to the estimation of parameters concurrently. When PROC TMODEL analyzes a model for many BY groups, the BY groups can be analyzed concurrently. In Monte Carlo simulations, the random perturbations of the model variables can be evaluated concurrently in PROC TMODEL. In problems that involve a numerical optimization, it is sometimes necessary to perform many local optimizations by using separate initial estimates in order to determine a global solution. PROC TMODEL can perform these local optimizations concurrently to find the global solution more quickly than PROC MODEL, which solves local optimization problems sequentially.
PROC MODEL Features Not Available in PROC TMODEL
The following features in PROC MODEL are not currently available in PROC TMODEL:
some features in the model file used by the OUTMODEL= and MODEL= options
BY groups in the SDATA= and ESTDATA= data sets
covariance matrices in output data sets
the OUTSUSED= data set
some diagnostic information in output tables
Durbin-Watson autocorrelation statistics
some features in the CMP system, such as the
RUN_MACROfunction
Model specifications in either PROC MODEL or PROC TMODEL can be saved to a file for use in subsequent PROC MODEL or PROC TMODEL operations; however, there are some limitations to the model files that can be shared between PROC MODEL and PROC TMODEL. The specification of instrumental variables that is saved to a model file in PROC MODEL or PROC TMODEL cannot be used in PROC TMODEL or PROC MODEL estimation tasks, respectively.
Monte Carlo simulations in PROC MODEL can apply a different error covariance matrix, different parameter values, and a different parameter covariance matrix for each BY group in the DATA= data set through the specification of corresponding BY groups in the SDATA= and ESTDATA= data sets. Also, in PROC MODEL estimations, different initial parameter estimates for each BY group can be specified in the ESTDATA= data set. In contrast, PROC TMODEL does not currently support the use of BY groups in either the SDATA= or ESTDATA= data set. All BY groups share the same covariance matrices and parameter value specifications. PROC TMODEL will support BY groups in the SDATA= and ESTDATA= data sets in a future release.
PROC MODEL adds perturbations to parameter values during Monte Carlo simulations when a parameter covariance matrix is specified in the ESTDATA= data set. PROC TMODEL does not currently support perturbation of parameters, but this functionality will be available in a future release.
PROC MODEL stores both parameter estimates and parameter covariance matrices in the OUTEST= data set when the OUTCOV option is specified. PROC TMODEL does not support the output of covariance matrices in the OUTEST= data set; however, the COV option, which prints parameter covariance matrices, is supported.
Many tables that PROC MODEL produces are not available in PROC TMODEL because they fall into one or more of the following categories:
- Not available
report the intermediate states of PROC MODEL calculations that are not available or are computed differently in PROC TMODEL.
- Replaced
are replaced by equivalent diagnostic output in PROC TMODEL in a different format.
- Future
are not yet available in PROC TMODEL but are planned for a future release.
The reason that each table is not available in PROC TMODEL is summarized in Table 1.
Table 1: ODS Tables Not Available in PROC TMODEL
You can find information in PROC TMODEL for the PROC MODEL tables in category R as follows:
IterInfo displays iteration information for the optimization process in the log for the ORMP optimizer.
ObsSummary displays diagnostic information for observations that produce missing values in the log.
ObsUsed displays observation counts in the EstSummaryStats table.
AdjacencyMatrix, SortAdjacencyMatrix, TransitiveClosure have dependency information that you display by using the ANALYZEDEPS= option in the SOLVE statement.