--- title: timeseries keywords: fastai sidebar: home_sidebar summary: "Módulo com implementação de algoritmos para detecção de **anomalias em series temporais**." description: "Módulo com implementação de algoritmos para detecção de **anomalias em series temporais**." ---
O algoritmo popularizado pelo Twitter é um conjunto como o Seasonal Hybrid ESD (S-H-ESD) que funciona em cima do Generalized ESD test para detecção de anomalias. S-H-ESD pode ser utilizado tanto para detecção local ou global de anomalias. O método envolvi decompor a serie temporal e utilizar métodos robustos para detecção de anomalias(MAD).
Já existe a implementação fornecida pelo Twitter na linguagem R, a seguir temos a implementação do algoritmo feita em Python.
Artigo: https://arxiv.org/pdf/1704.07706.pdf
Obs: Implementacao esta atualmente utilizando o MAD ao inves do ESD ##TODO
df = pd.read_csv('./dados/rec-center-hourly.csv', parse_dates=[0])
df.set_index('datetime', inplace=True)
df.head()
ts = df['kw_energy_consumption']
ts.plot(figsize=(20, 5));
24*7 # Week seasonality 24*7
anomalies = twitter(df['kw_energy_consumption'], period=168, only_low_values=True)
anomalies.head(), len(anomalies)
plot_anomalies(ts, anomalies, s=100);
plot_anomalies(ts['2010-10-4':'2010-10-5'], anomalies['2010-10-4':'2010-10-5'], s=100);
plot_anomalies(ts['2010-10-4':'2010-10-5'], anomalies['2010-10-4':'2010-10-5'], s=100);