Transformer des données brutes
Au chapitre précédent, vous avez calculé la moyenne mobile. Dans cet exercice, vous allez définir une fonction qui calcule la variation en pourcentage du dernier point de données par rapport à la moyenne d'une fenêtre de points précédents. Cette fonction vous aidera à calculer la variation en pourcentage sur une fenêtre glissante.
Il s'agit d'un type de série temporelle plus stable, souvent utile en Machine Learning.
Cette activité fait partie du cours
Machine Learning pour les données chronologiques en Python
Instructions de l’exercice
- Définissez une fonction
percent_changequi prend une série temporelle en entrée et fait ce qui suit :- Extraire toutes les valeurs sauf la dernière de la série d'entrée (affectées à
previous_values) ainsi que la dernière valeur seulement de la série temporelle (affectée àlast_value). - Calculer l'écart en pourcentage entre la dernière valeur et la moyenne des valeurs précédentes.
- Extraire toutes les valeurs sauf la dernière de la série d'entrée (affectées à
- En utilisant une fenêtre glissante de 20, appliquez cette fonction à
prices, puis visualisez le résultat avec le code fourni.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()