Including exogenous (predictor) variables in the state equation of a state space model
13 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
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
2 Comments
Nat Pan
on 4 Mar 2018
Would you mind to illustrate how to command this by using SSM function? Please enlighten me. Thank you.
More Answers (0)
See Also
Categories
Find more on Diffuse State-Space Model in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!