Začněte nyníZačněte zdarma

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

Zobrazit kurz

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()
Upravit a spustit kód