Несезонное и сезонное дифференцирование

Этот пример показывает, как применить как несезонное, так и сезонное дифференцирование с помощью полиномиальных объектов оператора задержки. Временные ряды - ежемесячные международные счетчики пассажиров авиакомпаний с 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';

Figure contains an axes. The axes with title Log Airline Passenger Counts contains an object of type line.

Данные показывают линейный тренд и сезонный компонент с периодичностью 12.

Возьмите первое различие, чтобы решить линейный тренд, и 12-е различие, чтобы решить периодичность. Если yt - серия, которая будет преобразована, преобразование является

ΔΔ12yt=(1-L)(1-L12)yt,

где Δ обозначает оператор различий, и L обозначает оператор задержки.

Создайте полиномы оператора задержки 1-L и 1-L12. Затем умножите их, чтобы получить желаемый полином оператора задержки.

D1 = LagOp({1 -1},'Lags',[0,1]);
D12 = LagOp({1 -1},'Lags',[0,12]);
D = D1*D12
D = 
    1-D Lag Operator Polynomial:
    -----------------------------
        Coefficients: [1 -1 -1 1]
                Lags: [0 1 12 13]
              Degree: 13
           Dimension: 1

Первый полином, 1-L, имеет коэффициент 1 в лаге 0 и коэффициент -1 в лаге 1. Сезонный дифференцированный полином, 1-L12, имеет коэффициент 1 в лаге 0 и -1 в лаге 12. Продукты из этих полиномов являются

(1-L)(1-L12)=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';

Figure contains an axes. The axes with title Differenced Log Airline Passenger Counts contains an object of type line.

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

См. также

|

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

Подробнее о