В этом примере показано, как предсказать стационарный AR (12) процесс с помощью forecast
. Оцените асимптотическую сходимость прогнозов и сравните прогнозы, сделанные с и не используя преддемонстрационные данные.
Задайте модель
где инновации являются Гауссовыми с отклонением 2. Сгенерируйте реализацию длины 300 от процесса. Отбросьте первые 250 наблюдений как выжигание дефектов.
Mdl = arima('Constant',3,'AR',{0.7,0.25},'ARLags',[1,12],... 'Variance',2); rng('default') Y = simulate(Mdl,300); Y = Y(251:300); figure plot(Y) xlim([0,50]) title('Simulated AR(12) Process')
Сгенерируйте прогнозы (и ошибки прогноза) в течение периода времени с 150 шагами. Используйте симулированный ряд в качестве преддемонстрационных данных.
[Yf,YMSE] = forecast(Mdl,150,Y); upper = Yf + 1.96*sqrt(YMSE); lower = Yf - 1.96*sqrt(YMSE); figure plot(Y,'Color',[.75,.75,.75]) hold on plot(51:200,Yf,'r','LineWidth',2) plot(51:200,[upper,lower],'k--','LineWidth',1.5) xlim([0,200]) hold off
Прогноз MMSE синусоидально затухает и начинает сходиться к безусловному среднему значению, данному
MSE процесса сходится к безусловному отклонению процесса (). Можно вычислить отклонение с помощью функции импульсной характеристики. Функция импульсной характеристики основана на представлении MA бесконечной степени AR (2) процесс.
Последние несколько значений YMSE
покажите сходимость к безусловному отклонению.
ARpol = LagOp({1,-.7,-.25},'Lags',[0,1,12]); IRF = cell2mat(toCellArray(1/ARpol)); sig2e = 2; variance = sum(IRF.^2)*sig2e % Display the variance
variance = 7.9938
YMSE(145:end) % Display the forecast MSEs
ans = 6×1
7.8870
7.8899
7.8926
7.8954
7.8980
7.9006
Сходимость не достигнута в 150 шагах, но прогнозе, MSE приближается к теоретическому безусловному отклонению.
Повторите прогнозирование, не используя преддемонстрационных данных.
[Yf2,YMSE2] = forecast(Mdl,150);
upper2 = Yf2 + 1.96*sqrt(YMSE2);
lower2 = Yf2 - 1.96*sqrt(YMSE2);
YMSE2(145:end) % Display the forecast MSEs
ans = 6×1
7.8870
7.8899
7.8926
7.8954
7.8980
7.9006
figure plot(Y,'Color',[.75,.75,.75]) hold on plot(51:200,Yf2,'r','LineWidth',2) plot(51:200,[upper2,lower2],'k--','LineWidth',1.5) xlim([0,200]) hold off
Сходимость прогноза MSE является тем же самым, не используя преддемонстрационные данные. Однако все прогнозы MMSE являются безусловным средним значением. Это вызвано тем, что forecast
инициализирует модель AR безусловным средним значением, когда вы не обеспечиваете преддемонстрационные данные.
LagOp
| arima
| forecast
| simulate
| toCellArray