Exponenciální vyrovnávání
Author
Albert FloresExponenciální vyrovnávání (někdy též exponenciální vyhlazování) je jednoduchá metoda pro vyhlazování a krátkodobou predikci časových řad. Název pochází z toho, že význam (váha) datového bodu pro hodnotu predikce exponenciálně klesá s časovou vzdáleností od predikce (stářím daného datového bodu). Exponenciální vyrovnávání z pohledu teorie zpracování signálu působí jako filtr typu dolní propust a odstraní z dat vysokofrekvenční šum.
Předpokládejme, že časová řada \{x_t\} má začátek v čase t = 0 a výstup algoritmu exponenciálního vyrovnávání se píše \{s_t\}. Pak nejjednodušší podoba exponenciálního vyhlazování je dána vzorci:
\begin{align} s_0& = x_0\\ s_{t}& = \alpha x_{t} + (1-\alpha)s_{t-1},\ t>0 \end{align}
kde \alpha je vyrovnávací konstanta, 0 . Vyrovnávací konstantu je potřeba nastavit podle chování dané časové řady, například tak, že se vyzkouší několik hodnot a podle součtu čtverců chyb se zvolí nejlepší konstanta. +more V uvedené jednoduché podobě se metoda hodí pro zpracování řad, které nevykazují výrazný trend a jen nepravidelně kolísají, například při řízení skladových zásob.
Pro zahrnutí trendu a sezónnosti byly vypracovány složitější varianty této metody, zejména takzvané dvojité exponenciální vyrovnávání, jež zahrnuje vliv lineárního trendu, a trojité (Holtovo-Wintersovo) exponenciální vyrovnávání.
Softwarově je exponenciální vyrovnávání pokryto například v MS Excelu a LibreOffice funkcí FORECAST.ETS, v programovacím jazyce R funkcí ets v balíčku forecast a v mnoha jiných statistických softwarových nástrojích.
Reference
Externí odkazy
[url=https://github.com/vitsaidl/workshops/blob/master/machine_learning/time_series_forecast.ipynb]Zpracování časových řad pomocí Pythonu[/url]