Wygładzanie wykładnicze

Wygładzanie wykładnicze (ang. exponential smoothing) – metoda obróbki szeregu czasowego zmniejszająca jego wariancję za pomocą ważonej średniej ruchomej z przeszłych wartości, o wagach malejących wykładniczo wraz z odległością w czasie. Stosowana do prostego usuwania szumu lub wizualizacji różnych danych. Jest również przydatna w prognozowaniu szeregów czasowych o niewielkim stosunku sygnału do szumu, szczególnie niemających wyraźnego trendu i wahań sezonowych.

Definicja

Proste wygładzanie wykładnicze

(Proste) Wygładzanie wykładnicze szeregu ( x i ) {\displaystyle (x_{i})} można zdefiniować matematycznie, jako nowy szereg zdefiniowany przez kombinację liniową wartości

s t = ( 1 α ) t 1 x 0 + α i = 1 t 1 ( 1 α ) i 1 x t i . {\displaystyle s_{t}=(1-\alpha )^{t-1}x_{0}+\alpha \sum _{i=1}^{t-1}(1-\alpha )^{i-1}x_{t-i}.}

Ponieważ wagi tej kombinacji maleją wykładniczo, stąd bierze się nazwa. Odrębne traktowanie x o {\displaystyle x_{o}} związane jest z tym że mamy skończoną ilość przeszłych wartości w szeregu oraz tym iż inaczej suma wag nie sumowała by się do jedności. Inną motywacją jest możliwość zaimplementowania szybkiego algorytmu do liczenia tej średniej.

Okazuje się, że znając wartość s t , {\displaystyle s_{t},} łatwo wyliczyć s t + 1 {\displaystyle s_{t+1}} rekurencyjnie, co jest podstawą inkrementalnego algorytmu wyliczania wygładzania wykładniczego

s t + 1 = ( 1 α ) t x 0 + α i = 1 t ( 1 α ) i 1 x t + 1 i = ( 1 α ) t x 0 + α x t + α i = 2 t ( 1 α ) i 1 x t + 1 i = ( 1 α ) [ ( 1 α ) t 1 x 0 + α i = 2 t ( 1 α ) i 2 x t + 1 i ] + α x t . {\displaystyle {\begin{aligned}s_{t+1}&=(1-\alpha )^{t}x_{0}+\alpha \sum _{i=1}^{t}(1-\alpha )^{i-1}x_{t+1-i}\\&=(1-\alpha )^{t}x_{0}+\alpha x_{t}+\alpha \sum _{i=2}^{t}(1-\alpha )^{i-1}x_{t+1-i}\\&=(1-\alpha )\left[(1-\alpha )^{t-1}x_{0}+\alpha \sum _{i=2}^{t}(1-\alpha )^{i-2}x_{t+1-i}\right]+\alpha x_{t}.\end{aligned}}}

Przesuwając teraz wskaźnik i {\displaystyle i} w sumie, otrzymujemy

s t = ( 1 α ) [ ( 1 α ) t 1 x 0 + α i = 1 t 1 ( 1 α ) i 1 x t i ] + α x t = ( 1 α ) s t 1 + α x t , {\displaystyle s_{t}=(1-\alpha )\left[(1-\alpha )^{t-1}x_{0}+\alpha \sum _{i=1}^{t-1}(1-\alpha )^{i-1}x_{t-i}\right]+\alpha x_{t}=(1-\alpha )s_{t-1}+\alpha x_{t},}
s 1 = x 1 . {\displaystyle s_{1}=x_{1}.}

Dokładne wygładzanie wykładnicze

Można również zdefiniować dokładne (w przeciwieństwie do prostego) wygładzanie wykładnicze:

s t + 1 = 1 N t i = 0 t β i x t i , {\displaystyle s_{t+1}={\frac {1}{N_{t}}}\sum _{i=0}^{t}\beta ^{i}x_{t-i},}

gdzie N t {\displaystyle N_{t}} to czynnik normalizacyjny, który dla 0 < β < 1 , {\displaystyle 0<\beta <1,} wynosi (zobacz szereg geometryczny)

N t = i = 0 t β i = 1 β t + 1 1 β . {\displaystyle N_{t}=\sum _{i=0}^{t}\beta ^{i}={\frac {1-\beta ^{t+1}}{1-\beta }}.}

Również i tutaj można utworzyć rekurencje określającą s t + 1 , {\displaystyle s_{t+1},} na podstawie s t . {\displaystyle s_{t}.}

Wprowadza się do tego celu dodatkowe zmienne i szeregi

y 0 = 0 , {\displaystyle y_{0}=0,}
y t + 1 = i = 0 t β i x t i = x t + β y t , {\displaystyle y_{t+1}=\sum _{i=0}^{t}\beta ^{i}x_{t-i}=x_{t}+\beta y_{t},}
a 0 = β , {\displaystyle a_{0}=\beta ,}
a t + 1 = β a t , {\displaystyle a_{t+1}=\beta a_{t},}
s t + 1 = 1 β 1 a t y t + 1 . {\displaystyle s_{t+1}={\frac {1-\beta }{1-a_{t}}}y_{t+1}.}

W praktyce a t {\displaystyle a_{t}} szybko zbiega do zera, i ostatnie wyrażenie jest wtedy równoważne z prostym wygładzaniem wykładniczym (z β = 1 α {\displaystyle \beta =1-\alpha } ). Jednak ponieważ wzory są troszeczkę bardziej skomplikowane, oraz mogą być niestabilne numerycznie w praktyce różnica jest niewidoczna dla t większych, stosuje się prostą i szybką wersje. Różnice pomiędzy obiema wersjami wygładzania można dostrzec w początkowym przebiegu obu krzywych na przykładowym wykresie poniżej.

Prognozowanie

Przy pomocy wygładzania wykładniczego i jego modyfikacji można ekstrapolować trend (wygładzanie usuwa szumy i inne efekty, a pozostawia jedynie sygnał), co jest przydatne do prognozowania (predykcji) zachowań szeregu w bliskiej przyszłości.

Model Browna

Metoda Browna (najprostsza wersja) należy do metod wygładzania wykładniczego; stosowana jest najczęściej w przypadku szeregu bez trendu; szereg nie wykazuje tendencji rozwojowej, a wahania jego wartości wynikają z działania czynników losowych. Metoda polega na tym, że szereg czasowy zmiennej prognozowanej wygładza się za pomocą średniej ruchomej, przy czym wagi określone są według prawa wykładniczego.

Reguła predykcji w postaci rekurencyjnej:

dla pierwszego momentu czasowego:

Y 1 = Y 0 , {\displaystyle Y_{1}^{*}=Y_{0},}

dla następnych:

Y t = α Y t 1 + ( 1 α ) Y t 1 , {\displaystyle Y_{t}^{*}=\alpha Y_{t-1}+(1-\alpha )Y_{t-1}^{*},}

gdzie:

Y t {\displaystyle Y_{t}^{*}} – wartości prognozy dla danej wartości parametru wygładzania α , {\displaystyle \alpha ,}
Y t {\displaystyle Y_{t}} – wartości szeregu,
α {\displaystyle \alpha } – parametr wyrównywania wykładniczego (współczynnik wygładzania) z przedziału (0,1].

Przykład:

Y 1 = Y 0 , {\displaystyle Y_{1}^{*}=Y_{0},}
Y 2 = α Y 1 + ( 1 α ) Y 1 , {\displaystyle Y_{2}^{*}=\alpha Y_{1}+(1-\alpha )Y_{1}^{*},}
Y 3 = α Y 2 + ( 1 α ) Y 2 . {\displaystyle Y_{3}^{*}=\alpha Y_{2}+(1-\alpha )Y_{2}^{*}.}

Jeśli wyznaczona prognoza na okres t-1 była w porównaniu z rzeczywistą wartością zmiennej prognozowanej Y t 1 {\displaystyle Y_{t-1}} zaniżona, to prognoza na okres t zwiększa się (korekta w górę), i odwrotnie: jeśli wyznaczona prognoza na okres t 1 {\displaystyle t-1} była w porównaniu z rzeczywistą wartością zmiennej prognozowanej Y t 1 {\displaystyle Y_{t-1}} zawyżona, to prognoza konstruowana na okres t {\displaystyle t} zmniejsza się (korekta w dół).

Ustalenie parametru α ( 0 , 1 ] {\displaystyle \alpha \in (0,1]} odbywa się metodą „prób i błędów”, przyjmując za kryterium, np. wartość średniego błędu prognozy ex ante. Parametr α nazywany jest parametrem wygładzania. Jeżeli wartość parametru jest zbliżona do wartości 1, to oznacza to, że budowana prognoza będzie uwzględniała w wysokim stopniu błędy ex post prognoz poprzednich. I odwrotnie: jeżeli wartość α jest bliska 0, to prognoza w bardzo małym stopniu uwzględnia błędy poprzednich prognoz. Brown uważa, że parametr α wynosi:

α = 2 n + 1 , {\displaystyle \alpha ={\frac {2}{n+1}},}

gdzie:

n {\displaystyle n} – liczba obserwacji.

Jako wartość Y 1 {\displaystyle Y_{1}^{*}} przyjmuje się najczęściej średnia arytmetyczną wartości zmiennej prognozowanej pierwszych trzech wartości tej zmiennej.

Metoda prostego wyrównywania wykładniczego może służyć do prognozowania tylko na jeden okres naprzód, ponieważ wszystkie następne prognozowane wartości byłyby sobie równe.

Model liniowy Holta

Model Holta stosuje się do wygładzania szeregów czasowych, w których występują wahania przypadkowe i tendencja rozwojowa (parametry wygładzania). Równania modelu:

F t 1 = α y t 1 + ( 1 α ) ( F t 2 + S t 2 ) , {\displaystyle F_{t-1}=\alpha y_{t-1}+\left(1-\alpha \right)\left(F_{t-2}+S_{t-2}\right),}
S t 1 = β ( F t 1 F t 2 ) + ( 1 β ) S t 2 , {\displaystyle S_{t-1}=\beta \left(F_{t-1}-F_{t-2}\right)+\left(1-\beta \right)S_{t-2},}

gdzie:

F t 1 {\displaystyle F_{t-1}} – wygładzona wartość zmiennej prognozowanej na moment t 1 , {\displaystyle t-1,}
S t 1 {\displaystyle S_{t-1}} – wygładzona wartość przyrostu trendu na moment t 1 , {\displaystyle t-1,}
α , β {\displaystyle \alpha ,\beta } – parametry modelu o wartościach z przedziału [0,1].

Równanie prognozy na okres t > n : {\displaystyle t>n{:}}

y t = F n + ( t n ) S n , t > n , {\displaystyle y_{t}^{*}=F_{n}+\left(t-n\right)S_{n},t>n,}

gdzie:

y t {\displaystyle y_{t}^{*}} – prognoza zmiennej Y {\displaystyle Y} na moment t , {\displaystyle t,}
F n {\displaystyle F_{n}} – wygładzona wartość zmiennej prognozowanej na moment n , {\displaystyle n,}
S n {\displaystyle S_{n}} – ocena przyrostu trendu na moment n , {\displaystyle n,}
n {\displaystyle n} – liczba wyrazów w szeregu czasowym.

Wartości początkowe F 1 {\displaystyle F_{1}} i S 1 {\displaystyle S_{1}} można uzyskać przyjmując za F 1 {\displaystyle F_{1}} pierwszą wartość prognozowanej zmiennej y 1 , {\displaystyle y_{1},} zaś za S 1 {\displaystyle S_{1}} różnicę y 2 y 1 . {\displaystyle y_{2}-y_{1}.} Innym podejściem jest przyjęcie za F 1 {\displaystyle F_{1}} wyrazu wolnego liniowej funkcji trendu, a za S 1 {\displaystyle S_{1}} współczynnika kierunkowego tej samej funkcji.

W modelu Holta pozostaje jeszcze określenie parametrów α {\displaystyle \alpha } oraz β {\displaystyle \beta } – dokonuje się tego poprzez serię prób o różnych kombinacjach α {\displaystyle \alpha } i β {\displaystyle \beta } i wyborze tych parametrów, które dadzą najmniejszy błąd prognoz wygasłych, prognozy wygasłe obliczamy ze wzoru:

y t = F t 1 + S t 1 , 2 t n {\displaystyle y_{t}^{*}=F_{t-1}+S_{t-1},2\leqslant t\leqslant n}

Model Wintersa

Model Wintersa można zastosować dla szeregów czasowych z tendencją rozwojową, wahaniami sezonowymi i przypadkowymi (parametry wygładzania).

Addytywna wersja modelu:

F t 1 = α ( y t 1 C t 1 r ) + ( 1 α ) ( F t 2 + S t 2 ) , {\displaystyle F_{t-1}=\alpha \left(y_{t-1}-C_{t-1-r}\right)+\left(1-\alpha \right)\left(F_{t-2}+S_{t-2}\right),}
S t 1 = β ( F t 1 F t 2 ) + ( 1 β ) S t 2 , {\displaystyle S_{t-1}=\beta \left(F_{t-1}-F_{t-2}\right)+\left(1-\beta \right)S_{t-2},}
C t 1 = γ ( y t 1 F t 1 ) + ( 1 γ ) C t 1 r . {\displaystyle C_{t-1}=\gamma \left(y_{t-1}-F_{t-1}\right)+\left(1-\gamma \right)C_{t-1-r}.}

Wersja multiplikatywna:

F t 1 = α y t 1 C t 1 r + ( 1 α ) ( F t 2 + S t 2 ) , {\displaystyle F_{t-1}=\alpha {\frac {y_{t-1}}{C_{t-1-r}}}+\left(1-\alpha \right)\left(F_{t-2}+S_{t-2}\right),}
S t 1 = β ( F t 1 F t 2 ) + ( 1 β ) S t 2 , {\displaystyle S_{t-1}=\beta \left(F_{t-1}-F_{t-2}\right)+\left(1-\beta \right)S_{t-2},}
C t 1 = γ y t 1 F t 1 + ( 1 γ ) C t 1 r . {\displaystyle C_{t-1}=\gamma {\frac {y_{t-1}}{F_{t-1}}}+(1-\gamma )C_{t-1-r}.}

gdzie:

F t 1 {\displaystyle F_{t-1}} – wygładzona wartość zmiennej prognozowanej na moment t 1 {\displaystyle t-1} po eliminacji wahań sezonowych,
S t 1 {\displaystyle S_{t-1}} – ocena przyrostu trendu na moment t 1 , {\displaystyle t-1,}
C t 1 {\displaystyle C_{t-1}} – ocena wskaźnika sezonowości na moment t 1 , {\displaystyle t-1,}
r {\displaystyle r} – długość cyklu sezonowego – liczba faz w cyklu, 1 r n , {\displaystyle 1\leqslant r\leqslant n,}
α , β , γ {\displaystyle \alpha ,\beta ,\gamma } – parametry modelu o wartościach z przedziału [0,1].

Prognozę y t {\displaystyle y_{t}^{*}} na moment t {\displaystyle t} wyznacza się ze wzorów:

  • dla wersji addytywnej:
    • y t = F n + S n ( t n ) + C t r , t > n , {\displaystyle y_{t}^{*}=F_{n}+S_{n}\left(t-n\right)+C_{t-r},t>n,}
  • dla wersji multiplikatywnej:
    • y t = [ F n + S n ( t n ) ] C t r , t > n . {\displaystyle y_{t}^{*}=\left[{F_{n}+S_{n}\left(t-n\right)}\right]C_{t-r},t>n.}

Parametry α , β , γ {\displaystyle \alpha ,\beta ,\gamma } wybiera się analogicznie jak w modelu Holta minimalizując średni kwadratowy błąd prognoz wygasłych lub wybiera się wartości bliskie 1 gdy składowe szeregu czasowego zmieniają się szybko, albo bliskie 0 gdy składowe szeregu nie wykazują szybkich zmian.

Za F 1 , S 1 {\displaystyle F_{1},S_{1}} i C 1 , . . . , C r {\displaystyle C_{1},...,C_{r}} przyjmuje się:

  • y 1 {\displaystyle y_{1}} lub średnią z wartości zmiennej w pierwszym cyklu
  • y 2 y 1 {\displaystyle y_{2}-y_{1}} lub różnicę średnich wartości zmiennej wyznaczonych dla drugiego i pierwszego cyklu wyznaczoną na podstawie szeregu średnią różnic (model addytywny) lub ilorazów (model multiplikatywny), odpowiadających tej samej fazie cyklu sezonowego, wartości zmiennej prognozowanej oraz wygładzonych wartości trendu.