Этот пример показывает, как предсказать стационарный 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