Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Definieer een functie percent_change die 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 aan last_value).
    • Bereken het procentuele verschil tussen de laatste waarde en het gemiddelde van de eerdere waarden.
  • 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()
Code bewerken en uitvoeren