exponenta event banner

Выбор модели Бокса-Дженкинса

В этом примере показано, как использовать методологию Бокса-Дженкинса для выбора модели ARIMA. Временными рядами являются квартальные показатели австралийского индекса потребительских цен (ИПЦ), измеренные в период с 1972 по 1991 год.

Загрузить данные

Загрузите и постройте график данных австралийского ИПЦ.

load Data_JAustralian
y = DataTable.PAU;
T = length(y);

figure
plot(y)
h1 = gca;
h1.XLim = [0,T];
h1.XTick = 1:10:T;
h1.XTickLabel = datestr(dates(1:10:T),17);
title('Log Quarterly Australian CPI')

Figure contains an axes. The axes with title Log Quarterly Australian CPI contains an object of type line.

Сериал нестационарный, с явной тенденцией к росту.

Постройте график выборки ACF и PACF

Постройте график функции автокорреляции образца (ACF) и функции частичной автокорреляции (PACF) для серии CPI.

figure
subplot(2,1,1) 
autocorr(y)
subplot(2,1,2)
parcorr(y)

Figure contains 2 axes. Axes 1 with title Sample Autocorrelation Function contains 4 objects of type stem, line. Axes 2 with title Sample Partial Autocorrelation Function contains 4 objects of type stem, line.

Значительный, линейно затухающий образец ACF указывает на нестационарный процесс.

Разница в данных

Возьмите первое различие данных и постройте график разностных рядов.

dY = diff(y);

figure
plot(dY)
h2 = gca;
h2.XLim = [0,T];
h2.XTick = 1:10:T;
h2.XTickLabel = datestr(dates(2:10:T),17);
title('Differenced Log Quarterly Australian CPI')

Figure contains an axes. The axes with title Differenced Log Quarterly Australian CPI contains an object of type line.

Разностный режим удаляет линейный тренд. Дифференцированный ряд выглядит более стационарным.

Постройте график выборки ACF и PACF разностной серии

Постройте график выборки ACF и PACF разностных серий, чтобы найти поведение, более соответствующее стационарному процессу.

figure
subplot(2,1,1)
autocorr(dY)
subplot(2,1,2)
parcorr(dY)

Figure contains 2 axes. Axes 1 with title Sample Autocorrelation Function contains 4 objects of type stem, line. Axes 2 with title Sample Partial Autocorrelation Function contains 4 objects of type stem, line.

Образец ACF разностного ряда распадается быстрее. Образец PACF отсекается после запаздывания 2. Это поведение согласуется с моделью авторегрессии второй степени (AR (2 )).

Определение и оценка модели ARIMA (2,1,0)

Укажите, а затем оцените модель ARIMA (2,1,0) для ежеквартального австралийского ИПЦ журнала. Эта модель имеет одну степень несезонной дифференциации и два AR лага. По умолчанию инновационное распределение является гауссовым с постоянной дисперсией .

Mdl = arima(2,1,0);
EstMdl = estimate(Mdl,y);
 
    ARIMA(2,1,0) Model (Gaussian Distribution):
 
                  Value       StandardError    TStatistic      PValue  
                __________    _____________    __________    __________

    Constant      0.010072      0.0032802        3.0707       0.0021356
    AR{1}          0.21206       0.095428        2.2222        0.026271
    AR{2}          0.33728        0.10378        3.2499       0.0011543
    Variance    9.2302e-05     1.1112e-05        8.3066      9.8491e-17

Оба коэффициента AR значимы на уровне значимости 0,05.

Проверить надежность посадки

Выведите остатки из подогнанной модели. Проверьте, что остатки обычно распределены и не коррелированы.

res = infer(EstMdl,y);

figure
subplot(2,2,1)
plot(res./sqrt(EstMdl.Variance))
title('Standardized Residuals')
subplot(2,2,2)
qqplot(res)
subplot(2,2,3)
autocorr(res)
subplot(2,2,4)
parcorr(res)

hvec = findall(gcf,'Type','axes');
set(hvec,'TitleFontSizeMultiplier',0.8,...
    'LabelFontSizeMultiplier',0.8);

Figure contains 4 axes. Axes 1 with title Standardized Residuals contains an object of type line. Axes 2 with title QQ Plot of Sample Data versus Standard Normal contains 3 objects of type line. Axes 3 with title Sample Autocorrelation Function contains 4 objects of type stem, line. Axes 4 with title Sample Partial Autocorrelation Function contains 4 objects of type stem, line.

Остатки достаточно нормально распределены и некоррелированы.

Генерировать прогнозы

Создать прогнозы и приблизительные 95% интервалы прогноза на следующие 4 года (16 кварталов).

[yF,yMSE] = forecast(EstMdl,16,y);
UB = yF + 1.96*sqrt(yMSE);
LB = yF - 1.96*sqrt(yMSE);

figure
h4 = plot(y,'Color',[.75,.75,.75]);
hold on
h5 = plot(78:93,yF,'r','LineWidth',2);
h6 = plot(78:93,UB,'k--','LineWidth',1.5);
plot(78:93,LB,'k--','LineWidth',1.5);
fDates = [dates; dates(T) + cumsum(diff(dates(T-16:T)))];
h7 = gca;
h7.XTick = 1:10:(T+16);
h7.XTickLabel = datestr(fDates(1:10:end),17);
legend([h4,h5,h6],'Log CPI','Forecast',...
       'Forecast Interval','Location','Northwest')
title('Log Australian CPI Forecast')
hold off

Figure contains an axes. The axes with title Log Australian CPI Forecast contains 4 objects of type line. These objects represent Log CPI, Forecast, Forecast Interval.

Ссылки:

Бокс, Г. Э. П., Г. М. Дженкинс и Г. К. Рейнсель. Анализ временных рядов: прогнозирование и контроль. 3-й ред. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 1994.

См. также

Приложения

Объекты

Функции

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

Подробнее