В этом примере показано, как прогнозировать мультипликативную сезонную модель 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

Прогноз 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% интервалами прогноза на основе моделирования.