Предскажите мультипликативную модель ARIMA

Этот пример показывает, как предсказать мультипликативную сезонную модель ARIMA с помощью forecast. Временные ряды являются ежемесячными международными числами авиапассажира от 1 949 до 1960.

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

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

load(fullfile(matlabroot,'examples','econ','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.0953e-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

Прогноз 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

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

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

| | | |

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

Больше о

Для просмотра документации необходимо авторизоваться на сайте