Моделируйте мультипликативные модели ARIMA

Этот пример показывает, как моделировать демонстрационные пути из мультипликативной сезонной модели ARIMA с помощью simulate. Временные ряды являются ежемесячными международными числами авиапассажира от 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
res = infer(EstMdl,y);

Моделируйте количества авиапассажира.

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

rng('default')
Ysim = simulate(EstMdl,60,'NumPaths',25,'Y0',y,'E0',res);
mn = mean(Ysim,2);

figure
plot(y,'k')
hold on
plot(T+1:T+60,Ysim,'Color',[.85,.85,.85]);
h = plot(T+1:T+60,mn,'k--','LineWidth',2);
xlim([0,T+60])
title('Simulated Airline Passenger Counts')
legend(h,'Simulation Mean','Location','NorthWest')
hold off

Моделируемые прогнозы показывают рост и сезонную периодичность, подобную наблюдаемому ряду.

Оцените вероятность будущего события.

Используйте симуляции, чтобы оценить вероятность, что логарифмический авиапассажир рассчитывает, встретит или превысит значение 7 когда-то в течение следующих 5 лет. Вычислите ошибку Монте-Карло, сопоставленную с предполагаемой вероятностью.

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

g7 = sum(Ysim >= 7) > 0;
phat = mean(g7)
phat = 0.3910
err = sqrt(phat*(1-phat)/1000)
err = 0.0154

Существует приблизительно 39%-й шанс, что (журнал) количество авиапассажиров будет соответствовать или превышать 7 за следующие 5 лет. Стандартная погрешность Монте-Карло оценки - приблизительно 0,02.

Постройте распределение пассажиров в будущее время.

Используйте симуляции, чтобы построить распределение (журнала), авиапассажир считает 60 месяцев в будущее.

figure
histogram(Ysim(60,:),10)
title('Distribution of Passenger Counts in 60 months')

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

| | |

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

Больше о