0

It's easy for me to fit ARIMA models in software such as R but I cannot find a "simple" example anywhere on the web for how to transform an ARIMA model to state space form (SSF)? I think it's the lagged error term that's causing me trouble here because otherwise I can easily see how to put it in SSF. If someone can step me through this it would be appreciated!!

$$(1-\phi_1B)(1-B)X_t = (1-\theta_1B)\epsilon_t$$

or

$$X_t=(\phi_1+1)X_{t-1}+\epsilon_t-\theta_1\epsilon_{t-1} $$

Richard Hardy
  • 54,375
  • 10
  • 95
  • 219
JPJ
  • 1,161
  • 8
  • 15
  • If there was no differencing, would you be able to do the task? That is, can you convert ARMA(1,1) to state space form? There are quite a few manuals online that cover this, and I expect at least one of them to be sufficiently clear. The change from ARMA(1,1) to ARIMA(1,1,1) does not seem that big given the second equation in your post. – Richard Hardy Nov 22 '15 at 20:25
  • A reference that provides simple examples is [Makridakis, Wheelwright and Hyndman (1998)](http://robjhyndman.com/forecasting/contents/chap8/), see section 8.5. Standard references such as [Hamilton (1994)](http://press.princeton.edu/titles/5386.html) and, say, [Shumway and Stoffer (2011)](http://www.springer.com/us/book/9781441978646) also provide examples. In fact, pretty much _any_ book on time-series and state-space representation will give examples of ARIMA in SSF. It's just a matter of going from algebraic to matrix form really. 1) write generic ssf. 2) cast algebraic form into ssf. – Graeme Walsh Nov 22 '15 at 20:46
  • My only issue is the lagged error. From the first equation it appears to me that moving average terms aren't even needed because we coulddivide by the $1-\theta_1B$ term to eliminate any lagged errors? Otherwise I can't find any reference on what to do with a $\epsilon_{t-1}$ term in a state space equation?? – JPJ Nov 23 '15 at 18:07
  • I found something online that has some ARMA examples [link](http://faculty.washington.edu/ezivot/econ584/notes/statespacemodels.pdf). I'll go with that since I think I can figure out from there how to do it with the random walk included. – JPJ Nov 23 '15 at 18:52
  • 1
    You can compare your result with the output from `makeARIMA` in R, which returns the state space representation of an ARIMA model. For example, for the ARIMA(1,1,1) you can do: `fit – javlacalle Nov 23 '15 at 21:59
  • @javlacalle That if fantastic...I will look into it. Thanks! – JPJ Nov 24 '15 at 16:06

0 Answers0