exponenta event banner

Оценка тренда скользящего среднего

В этом примере показано, как оценить долгосрочный тренд с помощью симметричной функции скользящего среднего. Это свертка, которую можно реализовать с помощью conv. Временной ряд - ежемесячный подсчет пассажиров международных авиакомпаний с 1949 по 1960 год.

Загрузить набор данных авиакомпании (Data_Airline).

load('Data_Airline.mat')
y = log(Data);
T = length(y);

figure
plot(y)
h = gca;
h.XLim = [0,T];
h.XTick = [1:12:T];
h.XTickLabel = datestr(dates(1:12:T),10);
title 'Log Airline Passenger Counts';
hold on

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

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

Периодичность данных составляет месяц, поэтому 13-кратное скользящее среднее является разумным выбором для оценки долгосрочного тренда. Используйте вес 1/24 для первого и последнего терминов, а вес 1/12 для внутренних терминов. Добавьте оценку тренда скользящего среднего к графику наблюдаемого временного ряда.

wts = [1/24;repmat(1/12,11,1);1/24];
yS = conv(y,wts,'valid');

h = plot(7:T-6,yS,'r','LineWidth',2);
legend(h,'13-Term Moving Average')
hold off

Figure contains an axes. The axes with title Log Airline Passenger Counts contains 2 objects of type line. This object represents 13-Term Moving Average.

При использовании параметра shape 'valid' в вызове для conv, наблюдения в начале и конце серии утрачены. Здесь скользящее среднее имеет длину окна 13, поэтому первое и последнее 6 наблюдений не имеют сглаженных значений.

См. также

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

Подробнее