Problem with simulating an AR(2) process

20 views (last 30 days)
Ferry
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
rng(1);
% 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);
end
The plot for the simulated resut shows an explosve pattern, being contradictary to the expection of a stationary process
% plot
plot(y, "-r")
yline(100)
By using the econometric toolbox, this simulated results is stationary. So what is problem with my simulation program?
rng(1)
model2 = arima("constant", 30, "AR", [1.2, -0.5], "Variance", 1);
Y2 = simulate(model2, 200);
plot(Y2, "-r")
yline(100)

Accepted Answer

Ferry
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!

Categories

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

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!