Trasformare i dati grezzi
Nel capitolo precedente hai calcolato la media mobile. In questo esercizio definirai una funzione che calcola la variazione percentuale dell'ultimo punto dati rispetto alla media di una finestra di punti dati precedenti. Questa funzione ti aiuterà a calcolare la variazione percentuale su una finestra scorrevole.
Si tratta di una tipologia di serie temporale più stabile, spesso utile nel Machine Learning.
Questo esercizio fa parte del corso
Machine Learning per dati di serie temporali in Python
Istruzioni dell'esercizio
- Definisci una funzione
percent_changeche prende in input una serie temporale e fa quanto segue:- Estrai tutti i valori tranne l'ultimo dalla serie in input (assegnali a
previous_values) e solo l'ultimo valore della serie temporale (assegnalo alast_value). - Calcola la differenza percentuale tra l'ultimo valore e la media dei valori precedenti.
- Estrai tutti i valori tranne l'ultimo dalla serie in input (assegnali a
- Usando una finestra scorrevole di 20, applica questa funzione a
pricese visualizzala usando il codice fornito.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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()