Problem with simulating an AR(2) process

10 views (last 30 days)
Ferry on 12 Oct 2021
Answered: Ferry on 21 Oct 2021
I'm new in Matlab. I‘m trying to simulate a second-order autoregressive process which is stationary, but end up with an explosive pattern. I don't know why I cannot get it right. The process I simulate is
I made the following programm to simulate it for 200 periods, with initial values
% parameters
rhho2 = [30, 1.2, -0.5];
% preallocation
N = 200 ;
y = zeros(N, 1);
y(1:2, :) = [100; 100];
% innovation
innovation = randn(200, 1);
for t = 3 : N
y(t, :) = rhho2 * [1; y([t-2, t-1], :)]+ innovation(t, 1);
The plot for the simulated resut shows an explosve pattern, being contradictary to the expection of a stationary process
% plot
plot(y, "-r")
By using the econometric toolbox, this simulated results is stationary. So what is problem with my simulation program?
model2 = arima("constant", 30, "AR", [1.2, -0.5], "Variance", 1);
Y2 = simulate(model2, 200);
plot(Y2, "-r")

Accepted Answer

Ferry on 21 Oct 2021
It's true! Thanks a lot!

More Answers (1)

Pavan Guntha
Pavan Guntha on 20 Oct 2021
Hello Ferry,
The reason for mismatch in the outputs is due to the misordering in the following equation:
y(t, :) = rhho2 * [1; y([t-2, t-1], :)]+ innovation(t, 1);
This is supposed to be as follows as per the equation presented in the question:
y(t, :) = rhho2 * [1; y([t-1, t-2], :)]+ innovation(t, 1);
Hope this helps!


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!