How to fit an ARMA model with observation noise

4 views (last 30 days)
AB
AB on 29 Jul 2015
Commented: AB on 3 Aug 2015
I'm trying to fit a model of the form,
x(t) = AR1*x(t-1) + AR2*x(t-2) + MA1*eps(t-1) + eps(t),
y(t) = x(t) + sig(t),
with sig and eps both independent normal random variables and AR1, AR2, and MA1 unknown parameters. That is, x is an ARMA(2,1) model but is not observed directly. Only y is observed (which is x plus independent noise).
Is there a MATLAB function that handles this type of model?
Thanks!

Answers (1)

Cam Salzberger
Cam Salzberger on 31 Jul 2015
Hi AB,
I understand that you are trying to estimate an ARMA model with both innovation process and measurement noise. Unfortunately, MATLAB does not have the built-in functionality to easily handle estimation of this type of model.
The ARMA model estimation functionality is only made to handle a single noise term ("eps" in your equation). The ARMA modeling paradigm dictates that new observations are modeled as weighted sums of current innovation noise, past innovation noise, and past observations. A separate observation noise term does not fit into this context.
For a more detailed explanation of how innovation process noise and the past values fit into this model, see the ARMA model documentation.
If you really want to have more control over the format of the model, you may consider looking into non-linear models, but those would likely be too generalized for your purposes.
Good luck with your models.
-Cam
  1 Comment
AB
AB on 3 Aug 2015
Thanks Cam.
What if I dropped the moving average requirement? Now it is a state space model,
x(t) = A x(t-1) + eps(t)
y(t) = x(t) + sig(t)
with A = [AR(1) AR(2) AR(3); 1 0 0; 0 1 0] (for an AR(3) model).
Only, this model has 2 independent noise sources, eps(t) and sig(t).

Sign in to comment.

Categories

Find more on Conditional Mean Models in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!