Сходимость прогнозов AR

Этот пример показывает, как предсказать стационарный AR (12) процесс с помощью forecast. Оцените асимптотическую сходимость прогнозов и сравните прогнозы, сделанные с и не используя преддемонстрационные данные.

Шаг 1. Задайте модель AR (12).

Задайте модель

yt=3+0.7yt-1+0.25yt-12+εt,

где инновации являются Гауссовыми с отклонением 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')

Шаг 2. Предскажите процесс с помощью преддемонстрационных данных.

Сгенерируйте прогнозы (и ошибки прогноза) в течение периода времени с 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 синусоидально затухает и начинает сходиться к безусловному среднему значению, данному

μ=c(1-ϕ1-ϕ12)=3(1-0.7-0.25)=60.

Шаг 3. Вычислите асимптотическое отклонение.

MSE процесса сходится к безусловному отклонению процесса (σε2=2). Можно вычислить отклонение с помощью импульсной функции отклика. Импульсная функция отклика основана на представлении 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 приближается к теоретическому безусловному отклонению.

Шаг 4. Предскажите, не используя преддемонстрационные данные.

Повторите прогнозирование, не используя преддемонстрационных данных.

[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 с безусловным средним значением, когда вы не обеспечиваете преддемонстрационные данные.

Смотрите также

| | | |

Связанные примеры

Больше о