Wygładzanie wykładnicze

Z testwiki
Wersja z dnia 22:29, 8 mar 2023 autorstwa imported>Beno (WP:SK+mSI.v2+Bn)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

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 (xi) można zdefiniować matematycznie, jako nowy szereg zdefiniowany przez kombinację liniową wartości

st=(1α)t1x0+αi=1t1(1α)i1xti.

Ponieważ wagi tej kombinacji maleją wykładniczo, stąd bierze się nazwa. Odrębne traktowanie xo 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ść st, łatwo wyliczyć st+1 rekurencyjnie, co jest podstawą inkrementalnego algorytmu wyliczania wygładzania wykładniczego

st+1=(1α)tx0+αi=1t(1α)i1xt+1i=(1α)tx0+αxt+αi=2t(1α)i1xt+1i=(1α)[(1α)t1x0+αi=2t(1α)i2xt+1i]+αxt.

Przesuwając teraz wskaźnik i w sumie, otrzymujemy

st=(1α)[(1α)t1x0+αi=1t1(1α)i1xti]+αxt=(1α)st1+αxt,
s1=x1.

Dokładne wygładzanie wykładnicze

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

st+1=1Nti=0tβixti,

gdzie Nt to czynnik normalizacyjny, który dla 0<β<1, wynosi (zobacz szereg geometryczny)

Nt=i=0tβi=1βt+11β.

Również i tutaj można utworzyć rekurencje określającą st+1, na podstawie st.

Wprowadza się do tego celu dodatkowe zmienne i szeregi

y0=0,
yt+1=i=0tβixti=xt+βyt,
a0=β,
at+1=βat,
st+1=1β1atyt+1.

W praktyce at szybko zbiega do zera, i ostatnie wyrażenie jest wtedy równoważne z prostym wygładzaniem wykładniczym (z β=1α). 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:

Y1*=Y0,

dla następnych:

Yt*=αYt1+(1α)Yt1*,

gdzie:

Yt* – wartości prognozy dla danej wartości parametru wygładzania α,
Yt – wartości szeregu,
α – parametr wyrównywania wykładniczego (współczynnik wygładzania) z przedziału (0,1].

Przykład:

Y1*=Y0,
Y2*=αY1+(1α)Y1*,
Y3*=αY2+(1α)Y2*.

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

Ustalenie parametru α(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:

α=2n+1,

gdzie:

n – liczba obserwacji.

Jako wartość Y1* 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:

Ft1=αyt1+(1α)(Ft2+St2),
St1=β(Ft1Ft2)+(1β)St2,

gdzie:

Ft1 – wygładzona wartość zmiennej prognozowanej na moment t1,
St1 – wygładzona wartość przyrostu trendu na moment t1,
α,β – parametry modelu o wartościach z przedziału [0,1].

Równanie prognozy na okres t>n:

yt*=Fn+(tn)Sn,t>n,

gdzie:

yt* – prognoza zmiennej Y na moment t,
Fn – wygładzona wartość zmiennej prognozowanej na moment n,
Sn – ocena przyrostu trendu na moment n,
n – liczba wyrazów w szeregu czasowym.

Wartości początkowe F1 i S1 można uzyskać przyjmując za F1 pierwszą wartość prognozowanej zmiennej y1, zaś za S1 różnicę y2y1. Innym podejściem jest przyjęcie za F1 wyrazu wolnego liniowej funkcji trendu, a za S1 współczynnika kierunkowego tej samej funkcji.

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

yt*=Ft1+St1,2tn

Model Wintersa

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

Addytywna wersja modelu:

Ft1=α(yt1Ct1r)+(1α)(Ft2+St2),
St1=β(Ft1Ft2)+(1β)St2,
Ct1=γ(yt1Ft1)+(1γ)Ct1r.

Wersja multiplikatywna:

Ft1=αyt1Ct1r+(1α)(Ft2+St2),
St1=β(Ft1Ft2)+(1β)St2,
Ct1=γyt1Ft1+(1γ)Ct1r.

gdzie:

Ft1 – wygładzona wartość zmiennej prognozowanej na moment t1 po eliminacji wahań sezonowych,
St1 – ocena przyrostu trendu na moment t1,
Ct1 – ocena wskaźnika sezonowości na moment t1,
r – długość cyklu sezonowego – liczba faz w cyklu, 1rn,
α,β,γ – parametry modelu o wartościach z przedziału [0,1].

Prognozę yt* na moment t wyznacza się ze wzorów:

  • dla wersji addytywnej:
    • yt*=Fn+Sn(tn)+Ctr,t>n,
  • dla wersji multiplikatywnej:
    • yt*=[Fn+Sn(tn)]Ctr,t>n.

Parametry α,β,γ 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 F1,S1 i C1,...,Cr przyjmuje się:

  • y1 lub średnią z wartości zmiennej w pierwszym cyklu
  • y2y1 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.