В этом примере показано применение несезонных и сезонных разностей с использованием полиномиальных объектов оператора задержки. Временной ряд - ежемесячный подсчет пассажиров международных авиакомпаний с 1949 по 1960 год.
Загрузить набор данных авиакомпании (Data_Airline.mat).
load('Data_Airline.mat') y = log(Data); T = length(y); figure plot(y) h1 = gca; h1.XLim = [0,T]; h1.XTick = [1:12:T]; h1.XTickLabel = datestr(dates(1:12:T),10); title 'Log Airline Passenger Counts';

Данные показывают линейный тренд и сезонный компонент с периодичностью 12.
Возьмем первую разницу для решения линейного тренда, а 12-ю разницу для решения проблемы периодичности. Если - серия, подлежащая преобразованию, то преобразование
ыт,
где обозначает оператор разности, а обозначает оператор задержки.
Создайте многочлены оператора задержки и . Затем умножьте их, чтобы получить требуемый полином оператора запаздывания.
D1 = LagOp({1 -1},'Lags',[0,1]);
D12 = LagOp({1 -1},'Lags',[0,12]);
D = D1*D12D =
1-D Lag Operator Polynomial:
-----------------------------
Coefficients: [1 -1 -1 1]
Lags: [0 1 12 13]
Degree: 13
Dimension: 1
Первый многочлен имеет коэффициент 1 при запаздывании 0 и коэффициент -1 при запаздывании 1. Сезонный разностный полином имеет коэффициент 1 при запаздывании 0 и -1 при запаздывании 12. Произведение этих многочленов
=1-L-L12+L13,
который имеет коэффициент 1 на лагах 0 и 13 и коэффициент -1 на лагах 1 и 12.
Фильтрация данных с разностным полиномом D для получения несезонных и сезонных разностных серий.
dY = filter(D,y); length(y) - length(dY)
ans = 13
Отфильтрованный ряд на 13 наблюдений короче исходного. Это связано с применением полиномиального фильтра степени 13.
figure plot(14:T,dY) h2 = gca; h2.XLim = [0,T]; h2.XTick = [1:12:T]; h2.XTickLabel = datestr(dates(1:12:T),10); axis tight; title 'Differenced Log Airline Passenger Counts';

Разностная серия не имеет ни тренда, ни сезонного компонента, проявляемого оригинальной серией.