Kom igångKom igång gratis

Transformera rådata

I det föregående kapitlet beräknade du det rullande medelvärdet. I den här övningen ska du definiera en funktion som beräknar den procentuella förändringen mellan den senaste datapunkten och medelvärdet för ett fönster av tidigare datapunkter. Funktionen hjälper dig att beräkna den procentuella förändringen över ett rullande fönster.

Detta ger en mer stabil typ av tidsserie, vilket ofta är användbart inom maskininlärning.

Den här övningen är en del av kursen

Maskininlärning för tidsseriedata i Python

Visa kurs

Övningsinstruktioner

  • Definiera en funktion percent_change som tar en tidsserie som indata och gör följande:
    • Extrahera alla utom det sista värdet i indataserien (tilldela till previous_values) och enbart det sista värdet i tidsserien (tilldela till last_value).
    • Beräkna den procentuella skillnaden mellan det sista värdet och medelvärdet av de tidigare värdena.
  • Använd ett rullande fönster på 20 och applicera funktionen på prices. Visualisera resultatet med den angivna koden.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod