ssSARIMA

Purpose

Estimates SARIMA models using a state space representation, the Kalman filter, and maximum likelihood.

Format

sOut = ssSARIMA(y, p, d, q, p_s, d_s, s[, const, trend])
Parameters:
  • y (Nx1 vector) – data.
  • p (Scalar) – the autoregressive order.
  • d (Scalar) – Optional argument, the order of differencing. Default = 0.
  • q (Scalar) – Optional argument, the moving average order. Default = 0.
  • const (Scalar) – Optional argument, an indicator variable to include a constant in the model. Set to 1 to include trend, 0 otherwise. Default = 0.
  • trend (Scalar) – Optional argument, an indicator variable to include a trend in the model. Set to 1 to include trend, 0 otherwise. Default = 0.
Returns:

sOut (Struct) –

an instance of an ssOut structure. For an instance named sOut, the members are:

sOut.final_params String array, final parameter estimates.
sOut.resid Vector, residuals.
sOut.fitted Vector, the fitted y values based on final parameter estimates.
sOut.df_model Vector, degrees of freedom of the model.
sOut.df_resid Vector, degrees of freedom of the residuals.
sOut.numObs Vector, number of observations.
sOut.mleResults Instance of a cmlmtResults structure. Further information provided in the cmlmt documentation.
sOut.kfResults

Instance of a kalmanOut structure, contains the results from the kalmanFilter().

kfResults.filtered_state Matrix, k_endog x numObs, filtered states.
kfResults.filtered_state_cov Array, numObs x k_endog x k_endog, filtered state covariances.
kfResults.predicted_state Matrix, k_endog x (numObs+1), predicted states.
kfResults.predicted_state_cov Array, numObs x k_endog x k_endog, predicted state covariances.
kfResults.forecast Matrix, k_endog x numObs, forecasts.
kfResults.forecast_error Matrix, k_endog x numObs, forecast error.
kfResults.forecast_error_cov Array, numObs x k_endog x k_endog, forecast error covariances.
kfResults.loglikelihood Matrix, k_endog x (numObs+1), computed loglikelihood.
sOut.ssmFinal

Instance of a ssModel structure, contains the final state space system matrices used in the kalmanFilter(). Contains the following members:

ssmFinal.Z k_endog x k_states, transition matrix.
ssmFinal.d k_endog x 1, observation intercept.
ssmFinal.H k_endog x k_endog, observation disturbance covariance.
ssmFinal.T k_states x k_states, design matrix.
ssmFinal.c k_states x k_states, state intercept.
ssmFinal.R k_states x k_posdef, selection matrix.
ssmFinal.Q k_states x k_posdef, state disturbance covariance.
ssmFinal.a_0 k_states x 1, initial prior state mean.
ssmFinal.p_0 k_states x k_states, initial prior state covariance.
sOut.aic Scalar, model Akaike’s information criterion.
sOut.aicc Scalar, model corrected Akaike’s information criterion.
sOut.bic Scalar, model Schwarz’ Bayesian information criterion.
sOut.hqic Scalar, model Hannan–Quinn information criterion.
sOut.ssy Scalar, sum of squares total (Deviations of y from mean of y).
sOut.sse Scalar, sum of squared errors.
sOut.mse Scalar, means squared errors.
sOut.rsquared Scalar, model r-squared.
sOut.ljung_box Scalar, Ljung-Box Q-test for autocorrelation.
sOut.ljung_box_pval Scalar, p-value of the Ljung-Box Q-test for autocorrelation.
sOut.hetero_test Scalar, tests for the null hypothesis of no heteroskedasticity.
sOut.hetero_test_pval Scalar, p-value of the test for the null hypothesis of no heteroskedasticity.
sOut.jb_stat Scalar, the Jarque-Bera goodness-of-fit test on model residuals.
sOut.jb_stat_pval Scalar, p-value ofthe Jarque-Bera goodness-of-fit test.
sOut.standardized_forecast_errors Scalar, standardized forecast errors used in all residual diagnostics.
sOut.skew Scalar, sample skewness of the standardized forecast errors.
sOut.kurtosis Scalar, sample kurtosis of the standardized forecast errors.
sOut.irf Scalar, model impulse response functions.
sOut.forecasts Scalar, forecasts.

Example

 new;
 library tsmt, cmlmt, sslib;

 // Create file name with full path
 fname = __FILE_DIR $+ "wpi1.dat";

 // Load variable 'wpi' from 'wpi1.dat'
 y = loadd(fname, "wpi");

// Model settings
p = 1;
d = 1;
q = 1;
trend = 0;
const = 1;

// Declare 'sOut' to be an ssOut structure
// to hold the estimation results and then
// estimate the model
struct ssOut sOut;
sOut = ssARIMA(y, p, d, q, const, trend);

The example above prints the following results

 Return Code:                                                             0
 Log-likelihood:                                                 -4.603e+04
 Number of Cases:                                                       130
 AIC:                                                             9.207e+04
 AICC:                                                            9.207e+04
 BIC:                                                             9.208e+04
 HQIC:                                                            9.207e+04
 Covariance Method:                                    ML covariance matrix
==========================================================================

       Parameters         Estimates         Std. Err.            T-stat             Prob.          Gradient
-------------------------------------------------------------------------------------------------------------
   theta : e[t-1]           -0.4073            0.0753           -5.4103            0.0000                 .
  theta : e[t-12]           -0.5506            0.0891           -6.1764            0.0000                 .
           Sigma2            0.0014            0.0002            9.2080            0.0000                 .

 Correlation matrix of the parameters
--------------------------------------------------------------------------

     1.0000     -0.2894     -0.0638
    -0.2894      1.0000     -0.0066
    -0.0638     -0.0066      1.0000

 Model and residual diagnostics:
==========================================================================

 Ljung-Box (Q):                                                      0.0381
 Prob(Q):                                                             0.845
 Heteroskedasticity (H):                                              0.544
 Prob(H):                                                             0.049
 Jarque-Bera (JB):                                                     2.02
 Prob(JB):                                                            0.363
 Skew:                                                               0.0671
 Kurtosis:                                                             3.59
==========================================================================

Source

ssarima.src

See also

Functions ssFit(), ssARIMA()