В этом примере показано, как прогнозировать регрессионную модель с ошибками ARIMA (3,1,2) с помощьюforecast и simulate.
Смоделировать два ряда предсказателей Гаусса со средним значением 2 и дисперсией 1.
rng(1);
T = 50; % Sample size
X = randn(T,2) + 2;Укажите регрессионную модель с ошибками ARIMA (3,1,2):
21.5] + ut
0,75L-0,15L2)
где - гауссов со средним значением 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

Прогнозы MMSE и Monte Carlo практически эквивалентны. Существуют незначительные расхождения между интервалами прогноза.
Ширина интервалов прогноза увеличивается по мере увеличения времени. Это следствие прогнозирования с интегрированными ошибками.
estimate | forecast | regARIMA