Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Definisci una funzione percent_change che 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 a last_value).
    • Calcola la differenza percentuale tra l'ultimo valore e la media dei valori precedenti.
  • Usando una finestra scorrevole di 20, applica questa funzione a prices e 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()
Modifica ed esegui il codice