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

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

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

load(fullfile(matlabroot,'examples','econ','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

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

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

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

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

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

Смотрите также

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

Больше о