Search
   >> Home >> Products >> Features >> State-space models

State-space models


dialog box

Stata’s sspace command makes it easy to fit a wide variety of multivariate time-series models by casting them as linear state-space models, including vector autoregressive moving-average (VARMA) models, structural time-series (STS) models, and dynamic-factor models.

State-space models parameterize the observed dependent variables as functions of unobserved state variables. Stata’s state-space model command, sspace, allows both the observed dependent variables and the unobserved state variables to be functions of exogenous covariates.

Stata’s state-space model command sspace uses two forms of the Kalman filter to recursively obtain conditional means and variances of both the unobserved states and the measured dependent variables that are used to compute the likelihood function. sspace allows you to specify your state-space model in either the covariance form or the error form. sspace works with state-space models that are nonstationary and models that are stationary. Options allow you to specify the structures of the error covariance matrices for the state and observation equations, and other options allow you to specify how the initial values for the Kalman filter are obtained.

We have data on the natural log of the capacity utilization rate for the manufacturing sector of the U.S. economy, lncaputil, and on the log of manufacturing hours, lnhours. We treat these variables as first-difference stationary, and we model D.lncaputil and D.lnhours as a restricted first-order vector autoregressive moving-average (VARMA(1,1)) process.

. webuse manufac (St. Louis Fed (FRED) manufacturing data) . constraint 1 [D.lncaputil]u1 = 1 . constraint 2 [D.lncaputil]u2 = 1 . sspace (u1 l.u1, noconstant state) (u2 L.u1 L.u2, noconstant state) > (D.lncaputil u1, noconstant noerror) (D.lnhours u2, noconstant noerror), > constraints(1 2) covstate(unstructured) nolog (note: constraint number 2 caused error r(111)) State-space model Sample: 1972m2 - 2008m12 Number of obs = 443 Wald chi2(4) = 136.74 Log likelihood = 3211.7532 Prob > chi2 = 0.0000 ( 1) [D.lncaputil]u1 = 1
OIM
Coef. Std. Err. z P>|z| [95% Conf. Interval]
u1
u1
L1. .353257 .0448456 7.88 0.000 .2653612 .4411528
u2
u1
L1. 21.99586 26006.02 0.00 0.999 -50948.86 50992.85
u2
L1. -.3707083 .0434255 -8.54 0.000 -.4558208 -.2855959
D.lncaputil
u1 1 (constrained)
D.lnhours
u2 .0058475 6.913636 0.00 0.999 -13.54463 13.55632
var(u1) .0000623 4.19e-06 14.88 0.000 .0000541 .0000705
cov(u1,u2) .0044451 5.255549 0.00 0.999 -10.29624 10.30513
var(u2) 1.128234 2667.853 0.00 0.500 0 5230.025
Note: Tests of variances against zero are one sided, and the two-sided confidence intervals are truncated at zero.

We can obtain one-step predictions of the two unobserved states from the state-space model by typing

. predict u1 u2, states

We can graph those predicted states by typing

. tsline u1 u2

graph

We can obtain one-step predictions of our two dependent variables by typing

. predict caputilhat hourshat

A graph comparing the one-step predictions of the difference in the log of capacity utilization with its predictions is created by typing

. tsline D.lncaputil caputilhat

graph

Explore more about time series in Stata.

The Stata Blog: Not Elsewhere Classified Find us on Facebook Follow us on Twitter LinkedIn Google+ Watch us on YouTube