Including exogenous (predictor) variables in the state equation of a state space model

14 views (last 30 days)
I'm trying to estimate a state space model of the form
x(t) = Ax(t-1) + Gz(t-1) + Bu(t)
y(t) = Cx(t) + De(t)
where z(t) is a vector of exogenous (predictor) variables. I'm using the econometrics toolbox. The toolbox documentation states that if you require predictor variables in the state equation, you can either
- Expand the states by including the constant 1 state or
- Expand the states by including predictors.
If z(t) is a constant vector,e.g. a vector of ones, then I suppose the state vector can be "expanded" as follows:
[x(t);z(t)] = [A G;0 1] *[x(t-1);z(t-1)] + [B;0]*u(t)
But what if z(t) is not a vector of constants, so z(t) is not equal to z(t-1)? If z(t) is comprised of random draws from some distribution for example, I'm not clear on how to include it in the state variable.
Thank you.

Accepted Answer

Hang Qian
Hang Qian on 14 Apr 2015
I think there are couple of ways to put an exogenous term in the state equation.
First, we may add a constant one as the state variable. If z(t) is not a vector of constants, then the transition matrix would be time-varying, say [A Gz(t-1);0 1].
Second, we may put the vectorized G (excluding zeros in it) as the state variables. In that case, z(t-1) will be in a time-varying transition matrix.
Third, we may put the exogenous data as the state variables. Meanwhile, we also observe those state variables in the observation equation. In that case, the transition matrix remains time-invariant.
I usually use the second method, as it is a state estimation in exchange for the parameter estimation.
Hang Qian

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!