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

В этом примере показано, как симулировать демонстрационные пути из мультипликативной сезонной модели ARIMA с помощью simulate. Временные ряды являются ежемесячными международными числами авиапассажира от 1 949 до 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
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

Figure contains an axes object. The axes object with title Simulated Airline Passenger Counts contains 27 objects of type line. This object represents Simulation Mean.

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

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

Используйте симуляции, чтобы оценить вероятность, что логарифмический авиапассажир рассчитывает, встретит или превысит значение 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')

Figure contains an axes object. The axes object with title Distribution of Passenger Counts in 60 months contains an object of type histogram.

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

| | |

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

Больше о