The non-seasonal moving average polynomial is non-invertible

60 views (last 30 days)
Hi everyone,
I am trying to simulate and estimate an arma(3,3) process:
model = arima('Constant',0.5,'AR',{0.5;0.3;0.01},'MA',{0.3;0.2;0.1},'Variance',1);
rng('shuffle')
Y = simulate(model,1000);
mod=arima(3,0,3);
[EstMdl] = estimate(mod,Y);
I've created a loop to do this 1000 times. After some iterations (I've already got 300 results before the error message), the following error message appears:
Error using arima/validateModel (line 1290)
The non-seasonal autoregressive polynomial is unstable.
Error in arima/setLagOp (line 401)
OBJ = validateModel(OBJ);
Error in arima/estimate (line 1086)
OBJ = setLagOp(OBJ, 'AR' , LagOp([1 -coefficients(iAR)' ], 'Lags', [0 LagsAR ])
Why does this happen? And why this happen only after some iterations? What can I do to avoid the error?
Best regards
Roberto
  1 Comment
Seemant Tiwari
Seemant Tiwari on 29 Jan 2024
hi,
can you tell me, how are you calculating these values?
'constant', o.5, 'ar',{ 0.5,0.3,0.1}, 'ma', {0.3,,0.2,0.1} ??
i have 1 year hourlywind speed data 365x24 = 8760
i have calculate p, d, q value my p value is 1, q value is 0 and d value is 1.
now i want to create model but i am not understanding how can i calculate 'AR' MA' values.
Thank you

Sign in to comment.

Answers (1)

Hang Qian
Hang Qian on 28 Dec 2015
Hi Roberto,
The error message “the non-seasonal autoregressive polynomial is unstable” indicates that some of the eigenvalues of the AR part of the series are outside the unit circle, hence non-stationarity. Similarly, the error “the non-seasonal moving average polynomial is non-invertible” shows explosion of the MA roots, hence non-invertibility.
Practically it is not a good idea to fit a high-order ARMA model. It might require a huge sample size to provide a good estimate on a ARMA(3,3) model, even if the data are simulated from the true model. To avoid those error messages, be parsimonious in model specification, say ARMA(1,1). If you really want a high-order model, you may consider informative priors to shrink the coefficients.
Thank you.
Regards,
Hang Qian
  1 Comment
Seemant Tiwari
Seemant Tiwari on 29 Jan 2024
hello,
i have hourly wind speed data, no. of data is 8760
i have calculate p, d, q value
p = 1
d = 0
q = 1
now i want to create arima model.
can you tell me, how can i calculate these value
MD =ARIMA(CONSTANT (? ), 'AR (?), 'SAR' (?), 'SMA' (?), 'VARIANCE' (?))
Thank you

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!