HMM Procedure

Functional Summary

The statements and options available in the HMM procedure are summarized in Table 1.

Table 1: Functional Summary

Description Statement Option
Input Data Table Options
Specifies the input data table PROC HMM DATA=
Specifies the input data table for parameter estimation ESTIMATE IN=
Specifies the input data table for model information SCORE INMODEL=
Output Data Table Options
Writes the log likelihood and information criteria to the specified output data table PROC HMM OUTSTAT=
Writes the parameter estimates to the specified output data table ESTIMATE OUT=
Writes the parameter estimates and their standard errors and covariance matrix to the specified output data table ESTIMATE OUTALL=
Writes the evaluation results to the specified output data table EVALUATE OUT=
Writes the decoding results to the specified output data table DECODE OUT=
Writes the filtering results to the specified output data table FILTER OUT=
Writes the forecasting results to the specified output data table FORECAST OUT=
Writes the state distributions, means, standard errors, confidence intervals, medians, and covariance matrices of forecasts for dependent variables to the specified output data table FORECAST OUTALL=
Writes the model information to the specified output data table SCORE OUTMODEL=
Writes the smoothing results to the specified output data table SMOOTH OUT=
Writes the model information to the specified output data table that can be processed by the ASTORE procedure STORE OUT=
ID Variable
Specifies the variable that identifies the time or sequence ID TIME=
Specifies the variable that identifies the section ID SECTION=
Model Options
Specifies the mean form in a regime-switching autoregression model MODEL ARMEAN=
Estimates the initial state probability vector (ISPV) MODEL ESTISPV
Specifies the estimation method MODEL METHOD=
Specifies the number of categories in a state for a finite HMM MODEL NCATEGORY
Specifies the number of components in a state in a Gaussian mixture HMM (GM HMM) MODEL NCOMPONENT
Suppresses the present values of the exogenous variables MODEL NOCURRENTX
Suppresses the constant (intercept) parameters MODEL NOINT
Specifies the number of seasonal periods MODEL NSEASON=
Specifies the number or the range of numbers of hidden states MODEL NSTATE=
Centers seasonal dummies MODEL SCENTER
Specifies the state-independent parameters MODEL STATEINDEPENDENT=
Specifies the degree of deterministic time trend MODEL TREND=
Specifies the type of model of interest MODEL TYPE=
Specifies the lags of exogenous (independent) variables MODEL XLAG=
Specifies the order or the range of orders of the autoregressive process MODEL YLAG=
Optimization Options
Specifies a nonnegative integer to use as the seed for generating random number sequences PROC HMM SEED=
Specifies the initial parameter values for optimization INITIAL
Specifies the optimization algorithm OPTIMIZE ALGORITHM=
Specifies whether to calculate the covariance of parameters OPTIMIZE COVOFPARM=
Specifies the maximum number of iterations in the optimization process OPTIMIZE MAXITER=
Specifies the maximum time (in seconds) allowed for optimization OPTIMIZE MAXTIME=
Specifies the print iteration frequency OPTIMIZE PRINTITERFREQ=
Specifies the print level OPTIMIZE PRINTLEVEL=
Specifies the priors for parameters PRIOR
Optimization Suboptions for the Active-Set or Interior Point Algorithm
Specifies the range from which each variable can take values during the sampling process in multistart mode OPTIMIZE MSRANGE=
Specifies whether to enable multistart mode OPTIMIZE MULTISTART=
Specifies the upper limit on the magnitude of the objective value OPTIMIZE OBJLIMIT=
Specifies the tolerance for infeasibility OPTIMIZE FEASTOL=
Specifies the tolerance for the optimality error OPTIMIZE OPTTOL=
Specifies whether the optimizer should return only a solution that is locally optimal OPTIMIZE SOLTYPE=
Optimization Suboption for the Expectation-Maximization (EM) Algorithm
Specifies the minimum number of iterations in the optimization process OPTIMIZE MINITER=
Executes the EM algorithm in a single thread on a single node OPTIMIZE SINGLE
Optimization Suboptions for the Stochastic Gradient Descent (SGD) Algorithm
Specifies the annealing rate OPTIMIZE ANNEALINGRATE=
Specifies the learning rate OPTIMIZE LEARNINGRATE=
Specifies the size of the minibatches to use OPTIMIZE MINIBATCHSIZE=
Specifies the value for momentum OPTIMIZE MOMENTUM=
Suppresses the adaptive gradient descent algorithm OPTIMIZE NONADUPDATE
Specifies the value of adaptive rate OPTIMIZE ADAPTIVEDECAY=
Requests that computational threads share a common weight vector and that they update the weight vector without race conditions OPTIMIZE USELOCKING=
Specifies the length of a chain in a minibatch OPTIMIZE CHAIN=(LENGTH=)
Specifies the buffer length on the left side of a chain in a minibatch OPTIMIZE CHAIN=(BUFFER=)
Optimization Suboptions for the Distributed Multistart Option
Specifies the number of CAS subsessions that are dedicated to the function evaluations OPTIMIZE FESESSIONS=
Specifies the number of computing nodes in each CAS subsession that are dedicated to the function evaluations OPTIMIZE FESESSNODES=
Specifies the maximum number of starting points to be used by the multistart algorithm OPTIMIZE MAXSTARTS=
Specifies the ratio of the total number of sample points to be generated to the value of the MAXSTARTS= option OPTIMIZE SAMPSELRATIO=
Specifies the number of computing nodes in the CAS session dedicated to the multistart algorithm OPTIMIZE SESSNODES=
Forecasting Options
Specifies a nonnegative integer to use as the seed for generating random number sequences PROC HMM SEED=
Specifies the size of confidence limits for forecasting FORECAST ALPHA=
Starts forecasting before the end of the input data FORECAST BACK=
Specifies how many periods to forecast FORECAST LEAD=
Specifies the number of paths to simulate in the forecasting of a regime-switching autoregression model FORECAST NSIM=
Specifies whether to perform forecasts after each observation FORECAST ONLINE
Output Control Options
Specifies the order in which to label the states (and components) PROC HMM LABELSWITCH=
Specifies the ODS tables to display DISPLAY
Specifies the ODS tables to save as output tables DISPLAYOUT


Last updated: July 09, 2026