exponenta event banner

Прогнозирование регрессионной модели с ошибками 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 - гауссов со средним значением 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 и Monte Carlo практически эквивалентны. Существуют незначительные расхождения между интервалами прогноза.

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

См. также

| |

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

Подробнее