Выбор модели поля-Jenkins

В этом примере показано, как использовать методологию Поля-Jenkins, чтобы выбрать модель ARIMA. Временные ряды являются журналом ежеквартальный австралийский Индекс потребительских цен (CPI), измеренный от 1 972 и 1991.

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

Загрузите и отобразите австралийские данные о CPI на графике.

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 указывает на неустановившийся процесс.

Различие данные

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

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.

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

Постройте демонстрационный ACF и PACF ряда Differenced

Постройте демонстрационный ACF и PACF differenced ряда, чтобы искать поведение, более сопоставимое со стационарным процессом.

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 differenced ряда затухает более быстро. Демонстрационный PACF убегает после задержки 2. Это поведение сопоставимо с авторегрессивной моделью (AR(2)) второй степени.

Задайте и оцените ARIMA (2,1,0) модель

Задайте, и затем оцените, модель ARIMA (2,1,0) для журнала ежеквартальный австралийский CPI. Эта модель имеет одну степень несезонного дифференцирования и двух задержек 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.

Ссылки:

Поле, G. E. P. Г. М. Дженкинс и Г. К. Рейнсель. Анализ Временных Рядов: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.

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

Приложения

Объекты

Функции

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

Больше о

Для просмотра документации необходимо авторизоваться на сайте