Предсказание регрессионной модели с ошибками ARIMA

В этом примере показано, как предсказать регрессионую модель с ошибками ARIMA (3,1,2), используя forecast и simulate.

Симулируйте два ряда Гауссовых предикторов со средним 2 и отклонением 1.

rng(1);
T = 50; % Sample size
X = randn(T,2) + 2;

Задайте регрессионую модель с ошибками ARIMA (3,1,2):

yt=3+Xt[-21.5]+ut

(1-0.9L+0.5L2-0.2L3)(1-L)ut=(1+0.75L-0.15L2)εt,

где εt является Гауссовым со средним 0 и отклонением 2.

Mdl = regARIMA('Intercept',3,'Beta',[-2;1.5],'AR',{0.9,-0.5,0.2},...
    'D',1','MA',{0.75,-0.15},'Variance',2);

Mdl является полностью заданной регрессионной моделью с ошибками ARIMA (3,1,2). Методы, такие как simulate и forecast требуется полностью заданная модель.

Симулируйте 30 наблюдений за Mdl.

[y,e,u] = simulate(Mdl,30,'X',X(1:30,:));

y содержит симулированные отклики. e и u содержат соответствующие моделируемые нововведения и безусловные нарушения порядка, соответственно. Наилучшей практикой является предоставление forecast с предварительными примерами инноваций и безусловными нарушениями порядка, если они доступны.

Вычисление прогнозов MMSE для Mdl 20 периодов в будущее с использованием forecast. Вычислите соответствующие 95% интервалы прогноза.

[yF,yMSE] = forecast(Mdl,20,'X0',X(1:30,:),'U0',u,...
    'E0',e,'XF',X(31:T,:));
yFCI = [yF,yF] + 1.96*[-sqrt(yMSE),sqrt(yMSE)];

yFCI - матрица 20 на 2, содержащая 20 интервалов прогноза. Первый столбец yFCI содержит нижние границы для интервалов прогноза, а второй столбец содержит верхние границы.

Прогнозные Mdl 20 периодов в будущее с использованием симуляции Монте-Карло. Вычислите соответствующие 95% интервалы прогноза

yMC = simulate(Mdl,20,'numPaths',1000,'X',X(31:T,:),'U0',u,'E0',e);
yMCBar = mean(yMC,2);
yMCCI = prctile(yMC,[2.5,97.5],2);

yMCBar - вектор 20 на 1, который содержит прогнозы Монте-Карло по прогнозному горизонту. Как yFCI, yMMCI - матрица 20 на 2, содержащая интервалы прогноза, но основанная на симуляции Монте-Карло.

Постройте график двух наборов прогнозов и соответствующих им 95% интервалов прогноза.

figure
h1 = plot(1:30,y);
title('{\bf Forecasts and 95% Forecast Intervals}')
hold on
h2 = plot(31:50,yF,'r','LineWidth',2);
h3 = plot(31:50,yFCI,'r--','LineWidth',2);
h4 = plot(31:50,yMCBar,'k','LineWidth',2);
h5 = plot(31:50,yMCCI,'k--','LineWidth',2);
plot(30:31,[repmat(y(end),3,1),[yF(1),yFCI(1,:)]'],'b')
legend([h1,h2,h3(1),h4,h5(1)],'Observations','MMSE Forecasts',...
    'MMSE Forecast Intervals','Monte Carlo Forecasts',...
    'Monte Carlo Forecast Intervasls','Location','SouthWest')
xlabel('Time')
ylabel('y')
axis tight
hold off

Figure contains an axes. The axes with title {\bf Forecasts and 95% Forecast Intervals} contains 10 objects of type line. These objects represent Observations, MMSE Forecasts, MMSE Forecast Intervals, Monte Carlo Forecasts, Monte Carlo Forecast Intervasls.

Прогнозы MMSE и Монте-Карло практически эквивалентны. Существуют незначительные расхождения между интервалами прогноза.

Ширина прогнозируемых интервалов увеличивается с увеличением времени. Это является следствием прогнозирования с интегрированными ошибками.

См. также

| |

Похожие примеры

Подробнее о