Práce s odlehlými hodnotami
V tomto cvičení se zaměříš na odlehlé hodnoty – datové body, které se od zbytku dat natolik liší, že je potřeba s nimi zacházet jinak než s ostatními „normálními" hodnotami. K jejich detekci využiješ výstup z předchozího cvičení (procentní změna v čase). Nejdřív napíšeš funkci, která odlehlé hodnoty nahradí mediánem celé časové řady.
Toto cvičení je součástí kurzu
Machine Learning pro data časových řad v Pythonu
Pokyny k cvičení
- Definuj funkci, která přijme vstupní sérii a provede následující:
- Vypočítá absolutní hodnotu vzdálenosti každého datového bodu od průměru série a vytvoří booleovskou masku pro body, které se od průměru liší o více než trojnásobek směrodatné odchylky.
- Pomocí této booleovské masky nahradí odlehlé hodnoty mediánem celé série.
- Aplikuj tuto funkci na svá data a výsledky vizualizuj pomocí připraveného kódu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
def replace_outliers(series):
# Calculate the absolute difference of each timepoint from the series mean
absolute_differences_from_mean = np.abs(series - np.mean(series))
# Calculate a mask for the differences that are > 3 standard deviations from zero
this_mask = absolute_differences_from_mean > (np.____(series) * ____)
# Replace these values with the median accross the data
series[this_mask] = np.____(series)
return series
# Apply your preprocessing function to the timeseries and plot the results
prices_perc = prices_perc.____
prices_perc.loc["2014":"2015"].plot()
plt.show()