Прогнозная мультипликативная модель ARIMA

В этом примере показано, как спрогнозировать мультипликативную сезонную модель ARIMA с помощью forecast. Временные ряды - ежемесячные международные пассажирские номера авиакомпаний с 1949 по 1960 год.

Загрузите данные и оцените модель.

Загрузите набор данных Data_Airline.

load('Data_Airline.mat')
y = log(Data);
T = length(y);

Mdl = arima('Constant',0,'D',1,'Seasonality',12,...
    'MALags',1,'SMALags',12);
EstMdl = estimate(Mdl,y);
 
    ARIMA(0,1,1) Model Seasonally Integrated with Seasonal MA(12) (Gaussian Distribution):
 
                  Value      StandardError    TStatistic      PValue  
                _________    _____________    __________    __________

    Constant            0              0           NaN             NaN
    MA{1}        -0.37716       0.066794       -5.6466      1.6364e-08
    SMA{12}      -0.57238       0.085439       -6.6992      2.0952e-11
    Variance    0.0012634     0.00012395        10.193      2.1406e-24

Прогноз количества пассажиров авиакомпании.

Используйте подобранную модель, чтобы сгенерировать прогнозы MMSE и соответствующие средние квадратные ошибки на 60-месячном (5-летнем) горизонте. Используйте наблюдаемый ряд как предварительные данные. По умолчанию forecast выводит предварительную выборку инноваций с использованием заданной модели и наблюдений.

[yF,yMSE] = forecast(EstMdl,60,y);
upper = yF + 1.96*sqrt(yMSE);
lower = yF - 1.96*sqrt(yMSE);

figure
plot(y,'Color',[.75,.75,.75])
hold on
h1 = plot(T+1:T+60,yF,'r','LineWidth',2);
h2 = plot(T+1:T+60,upper,'k--','LineWidth',1.5);
plot(T+1:T+60,lower,'k--','LineWidth',1.5)
xlim([0,T+60])
title('Forecast and 95% Forecast Interval')
legend([h1,h2],'Forecast','95% Interval','Location','NorthWest')
hold off

Figure contains an axes. The axes with title Forecast and 95% Forecast Interval contains 4 objects of type line. These objects represent Forecast, 95% Interval.

Прогноз MMSE показывает, что количество пассажиров авиакомпании продолжает расти на прогнозном горизонте. Однако доверие границы показывают, что снижение количества пассажиров правдоподобно. Поскольку это нестационарный процесс, ширина прогнозируемых интервалов со временем увеличивается.

Сравнение прогнозов MMSE и Монте-Карло.

Моделируйте 500 путей выборок на том же прогнозном горизонте. Сравните среднее значение симуляции с прогнозом MMSE.

rng 'default';
res = infer(EstMdl,y);
Ysim = simulate(EstMdl,60,'NumPaths',500,'Y0',y,'E0',res);

yBar = mean(Ysim,2);
simU = prctile(Ysim,97.5,2);
simL = prctile(Ysim,2.5,2);

figure
h1 = plot(yF,'Color',[.85,.85,.85],'LineWidth',5);
hold on
h2 = plot(yBar,'k--','LineWidth',1.5);
xlim([0,60])
plot([upper,lower],'Color',[.85,.85,.85],'LineWidth',5)
plot([simU,simL],'k--','LineWidth',1.5)
title('Comparison of MMSE and Monte Carlo Forecasts')
legend([h1,h2],'MMSE','Monte Carlo','Location','NorthWest')
hold off

Figure contains an axes. The axes with title Comparison of MMSE and Monte Carlo Forecasts contains 6 objects of type line. These objects represent MMSE, Monte Carlo.

Прогноз MMSE и среднее значение симуляции практически неразличимы. Существуют небольшие расхождения между теоретическими 95% интервалами прогноза и 95% интервалами прогноза на основе моделирования.

См. также

Объекты

Функции

Похожие темы