В этом примере показано, как спрогнозировать стационарный процесс AR (12) с помощью forecast
. Оцените асимптотическую сходимость прогнозов и сравните прогнозы, сделанные с данными предварительного образца и без него.
Задайте модель
где нововведения Гауссовы с отклонением 2. Сгенерируйте реализацию длины 300 от процесса. Отбросьте первые 250 наблюдений как burn-in.
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 с безусловным средним значением, когда вы не предоставляете данные предварительного образца.