Przekształcanie surowych danych
W poprzednim rozdziale obliczać średnią kroczącą. W tym ćwiczeniu zdefiniujesz funkcję, która oblicza procentową zmianę ostatniego punktu danych względem średniej z okna poprzednich punktów. Funkcja ta pozwoli ci wyznaczać zmianę procentową w kroczącym oknie czasowym.
To bardziej stabilny rodzaj szeregu czasowego, który często sprawdza się w uczeniu maszynowym.
To ćwiczenie jest częścią kursu
Uczenie maszynowe dla danych szeregów czasowych w Pythonie
Instrukcje do ćwiczenia
- Zdefiniuj funkcję
percent_change, która przyjmuje szereg czasowy i wykonuje następujące kroki:- Wyodrębnij wszystkie wartości szeregu oprócz ostatniej (przypisz je do
previous_values) oraz tylko ostatnią wartość szeregu (przypisz ją dolast_value). - Oblicz procentową różnicę między ostatnią wartością a średnią wcześniejszych wartości.
- Wyodrębnij wszystkie wartości szeregu oprócz ostatniej (przypisz je do
- Używając kroczącego okna o rozmiarze 20, zastosuj tę funkcję do
pricesi zwizualizuj wynik za pomocą dostarczonego kodu.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Your custom function
def percent_change(series):
# Collect all *but* the last value of this window, then the final value
previous_values = series[:____]
last_value = series[-1]
# Calculate the % difference between the last value and the mean of earlier values
percent_change = (____ - np.mean(previous_values)) / np.mean(previous_values)
return percent_change
# Apply your custom function and plot
prices_perc = prices.rolling(20).____
prices_perc.loc["2014":"2015"].plot()
plt.show()