В этом примере показано, как задать сезонную модель ARIMA с помощью arima. Временные ряды являются ежемесячными международными числами авиапассажира от 1 949 до 1960.
Загрузите набор данных авиакомпании, и затем постройте естественный журнал ежемесячных пассажирских общих количеств.
load('Data_Airline.mat') y = log(Data); T = length(y); figure plot(dates,y) xlim([1,T]) datetick('x','mmmyy') axis tight title('Log Airline Passengers') ylabel('(thousands)')

Данные выглядят неустановившимися с линейным трендом и сезонной периодичностью.
Вычислите differenced ряд, , где исходные преобразованные в журнал данные. Постройте differenced ряд.
A1 = LagOp({1,-1},'Lags',[0,1]);
A12 = LagOp({1,-1},'Lags',[0,12]);
dY = filter(A1*A12,y);
figure
plot(dY)
title('Differenced Log Airline Passengers')
differenced ряд кажется стационарным.
figure
autocorr(dY,'NumLags',50)
Демонстрационный ACF differenced ряда показывает значительную автокорреляцию в задержках, которые являются множителями 12. Существует также потенциально значительная автокорреляция в меньших задержках.
Поле, Дженкинс и Рейнсель предлагают мультипликативную сезонную модель,
для этого набора данных (Бокс и др., 1994).
Задайте эту модель.
Mdl = arima('Constant',0,'D',1,'Seasonality',12,... 'MALags',1,'SMALags',12)
Mdl =
arima with properties:
Description: "ARIMA(0,1,1) Model Seasonally Integrated with Seasonal MA(12) (Gaussian Distribution)"
Distribution: Name = "Gaussian"
P: 13
D: 1
Q: 13
Constant: 0
AR: {}
SAR: {}
MA: {NaN} at lag [1]
SMA: {NaN} at lag [12]
Seasonality: 12
Beta: [1×0]
Variance: NaN
Свойство P равно 13, соответствие сумме несезонных и сезонных степеней дифференцирования (1 + 12). Свойство Q также равно 13, соответствие сумме степеней несезонных и сезонных полиномов MA (1 + 12). Параметры, которые должны быть оценены, имеют значение NaN.
Ссылки:
Поле, G. E. P. Г. М. Дженкинс и Г. К. Рейнсель. Анализ Временных Рядов: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.
LagOp | arima | autocorr | filter