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

Данные выглядят нестационарно, с линейным трендом и сезонной периодичностью.
Вычислите разностный ряд, yt, yt - исходные данные, преобразованные в журнал. Постройте график разностных серий.
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')
Разностный ряд выглядит неподвижным.
figure
autocorr(dY,'NumLags',50)
Образец ACF разностного ряда показывает значительную автокорреляцию при лагах, кратных 12. Существует также потенциально значительная автокорреляция при меньших лагах.
Бокс, Дженкинс и Рейнсел предлагают мультипликативную сезонную модель,
1-Θ12L12) αt,
для этого набора данных (Box et al., 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, что соответствует сумме степеней несезонного и сезонного многочленов МА (1 + 12). Параметры, которые необходимо оценить, имеют значение NaN.
Ссылки:
Бокс, Г. Э. П., Г. М. Дженкинс и Г. К. Рейнсель. Анализ временных рядов: прогнозирование и контроль. 3-й ред. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 1994.
arima | autocorr | filter | LagOp