Zacznij terazZacznij za darmo

Obsługa wartości odstających

W tym ćwiczeniu zajmiesz się wartościami odstającymi – punktami danych tak różnymi od reszty, że wymagają odrębnego traktowania w porównaniu z „normalnymi" obserwacjami. Do ich wykrycia wykorzystasz wyniki z poprzedniego ćwiczenia (zmiana procentowa w czasie). Zaczniesz od napisania funkcji, która zastępuje wartości odstające medianą całego szeregu czasowego.

To ćwiczenie jest częścią kursu

Uczenie maszynowe dla danych szeregów czasowych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj funkcję, która przyjmuje serię wejściową i wykonuje następujące operacje:
    • Oblicza wartość bezwzględną odległości każdego punktu danych od średniej serii, a następnie tworzy maskę logiczną dla punktów oddalonych o więcej niż trzy odchylenia standardowe od średniej.
    • Używa tej maski logicznej, aby zastąpić wartości odstające medianą całej serii.
  • Zastosuj tę funkcję do swoich danych i zwizualizuj wyniki przy użyciu dostarczonego kodu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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()
Edytuj i uruchom kod