Экспоненциальное сглаживание

При экспоненциальном сглаживании вводится начальное значение сглаживающей функции , задается параметр a Î [0,1] - коэффициент дисконтирования (обесценивания), а затем каждое следующее значение оп­ределяется по рекуррентной формуле

Если взять переменное a, a = 1/(k+ 1), получится вычисление среднего в рекуррентной форме. При a=1 - сглаживания не происходит. При a<1 степень сглаживания увеличивается с уменьшением a, но при этом в оценке появляется смещение. Для устранения смещения сглаживание, если возможно, проводят дважды: слева направо, а затем в обратном порядке, справа налево. Эти процедуры проиллюстрированы на рис.4, соответствующий сценарий приведен в Документе 2. Можно рассматривать аналогичные про­цедуры с большим числом параметров (фильтры Брауна) и с адаптивной настройкой параметра a (фильтры Хольта).

Очевидно, что при непараметрическом сглаживании нет четкой грани­цы между трендом и низкочастотными колебаниями относительно тренда. Фактически эти процедуры представляют собой различные конструкции низ­кочастотных фильтров.

Документ 2.2. Экспоненциальное сглаживание Экспоненциальное сглаживание синусоидального сигнала на фоне аддитивного шума. Файл-сценарий exp_smooth.m
clear; clc; T=20; t=0:0.05:T;         %шкала времени s=0.4;              %СКО аддитивного щума x0=sin(t);          %исходный сигнал x=x0+s*randn(size(x0)); %исходный сигнал c шумом n=length(x);        %длина временного ряда alpha1=0.1; alpha2=0.3; %коэффициенты дисконтирования %Объявляем размеры массивов и задаем начальные значения x1(0) и x2(0) x1=zeros(size(x)); x2=zeros(size(x)); for k=1:n-1; x1(k+1)=x1(k)+alpha1*(x(k+1)-x1(k)); x2(k+1)=x2(k)+alpha2*(x(k+1)-x2(k)); end; %Сглаживание в обратном порядке для устранения смещения x3=zeros(size(x)); x3(n)=x1(n);   for k=1:n-1; x3(n-k)=x3(n-k+1)+alpha1*(x1(n-k)-x3(n-k+1)); end; subplot(4,1,1); plot(t,x,'r','LineWidth',2); grid; hold on; plot(t,x0,'LineWidth',2); title('Временной ряд и его тренд',… 'FontName','Courier New Cyr','FontSize',12); axis([0 T -2 2]); subplot(4,1,2); plot(t,x1,'r','LineWidth',2); grid; hold on; plot(t,x0,'LineWidth',2); title('Экспоненциальное сглаживание, alpha=0.1',... 'FontName','Courier New Cyr','FontSize',12); axis([0 T -2 2]); subplot(4,1,3); plot(t,x2,'r','LineWidth',2); grid; hold on; plot(t,x0,'LineWidth',2); title('Экспоненциальное сглаживание, alpha=0.3',... 'FontName','Courier New Cyr','FontSize',12); axis([0 T -2 2]); subplot(4,1,4); plot(t,x3,'r','LineWidth',2); grid; hold on; plot(t,x0,'LineWidth',2); title('Двойное экспоненциальное сглаживание, alpha=0.1',... 'FontName','Courier New Cyr','FontSize',12); axis([0 T -2 2]);

Любая процедура выделения тренда всегда искажает корреляционную структуру случайных погрешностей. В частности, в остатках от сглаживания появляется некая ложная периодическая составляющая, что является при­чиной многочисленных ошибочных «открытий». Этот эффект называется эф­фектом Слуцкого-Юла.

Рис.2.2. Экспоненциальное сглаживание

Контрольные вопросы

1. Временной ряд

2. Цели моделирования

3. Задачи интерполяции и экстраполяции

4. Разложение Юла

5. Локально-полиномиальное сглаживание

6. Экспоненциальное сглаживание

Задания на лабораторную работу №2

  Смоделировать временной ряд (1000 измерений), содержащий медленно меняющуюся периодическую компоненту (тренд) и более быстро меняющуюся сезонную компоненту (с известной частотой).

1. Получить 2 непараметрические оценки тренда

2. Выделить ряды остатков и оценить в них амплитуду и фазу сезонной составляющей

3. Вывести графики всех изученных рядов

4. Сформулировать выводы о влиянии метода выделения тренда на точность оценивания параметров сезонной составляющей.

3. РЕКУРРЕНТНЫЕ АЛГОРИТМЫ


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: