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
Övningsinstruktioner
- Definiera en funktion
percent_changesom 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 tilllast_value). - Beräkna den procentuella skillnaden mellan det sista värdet och medelvärdet av de tidigare värdena.
- Extrahera alla utom det sista värdet i indataserien (tilldela till
- 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()