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

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

Ссылки:

Box, G. E. P., G. M. Jenkins, and G. C. Reinsel. Анализ временных рядов: прогнозирование и управление. 3-й эд. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1994.

См. также

Приложения

Объекты

Функции

Похожие примеры

Подробнее о