Ruwe data transformeren
In het vorige hoofdstuk heb je het voortschrijdend gemiddelde berekend. In deze oefening definieer je een functie die het procentuele verschil berekent van het laatste datapunt ten opzichte van het gemiddelde van een venster met eerdere datapunten. Deze functie helpt je het procentuele verschil over een rollend venster te berekenen.
Dit levert een stabielere tijdreeks op die vaak nuttig is in Machine Learning.
Deze oefening maakt deel uit van de cursus
Machine Learning voor tijdreeksgegevens in Python
Oefeninstructies
- Definieer een functie
percent_changedie een tijdreeks als invoer krijgt en het volgende doet:- Haal alle waarden behalve de laatste uit de invoerreeks (toegewezen aan
previous_values) en haal alleen de laatste waarde van de tijdreeks op (toegewezen aanlast_value). - Bereken het procentuele verschil tussen de laatste waarde en het gemiddelde van de eerdere waarden.
- Haal alle waarden behalve de laatste uit de invoerreeks (toegewezen aan
- Pas deze functie met een rollend venster van 20 toe op
prices, en visualiseer het met de gegeven code.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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()