Afficher des moyennes mobiles
Il est aussi possible de visualiser des moyennes mobiles des valeurs de votre série chronologique. Cela revient à « lisser » vos données et peut être particulièrement utile si votre série contient beaucoup de bruit ou de valeurs aberrantes. Pour un DataFrame df donné, vous pouvez obtenir la moyenne mobile de la série avec la commande :
df_mean = df.rolling(window=12).mean()
Le paramètre window doit être défini selon la granularité de votre série chronologique. Par exemple, si votre série contient des données quotidiennes et que vous cherchez des valeurs mobiles sur une année complète, vous devriez préciser window=365. De plus, il est facile d'obtenir des valeurs mobiles pour d'autres mesures, comme l'écart type (.std()) ou la variance (.var()).
Cette activité fait partie du cours
Visualiser des séries chronologiques en Python
Instructions de l’exercice
- Calculez la moyenne mobile sur 52 semaines de
co2_levelset assignez-la àma. - Calculez l'écart type mobile sur 52 semaines de
co2_levelset assignez-le àmstd. - Calculez la borne supérieure de la série, définie comme la moyenne mobile + (2 × l'écart type mobile), et assignez-la à
ma[upper]. De même, calculez la borne inférieure comme la moyenne mobile − (2 × l'écart type mobile) et assignez-la àma[lower]. - Tracez le graphique en courbes de
ma.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Compute the 52 weeks rolling mean of the co2_levels DataFrame
ma = ____.rolling(window=____).____()
# Compute the 52 weeks rolling standard deviation of the co2_levels DataFrame
mstd = ____
# Add the upper bound column to the ma DataFrame
ma['upper'] = ma['co2'] + (____ * ____)
# Add the lower bound column to the ma DataFrame
ma['lower'] = ma['co2'] - (____ * ____)
# Plot the content of the ma DataFrame
ax = ____(linewidth=0.8, fontsize=6)
# Specify labels, legend, and show the plot
ax.set_xlabel('Date', fontsize=10)
ax.set_ylabel('CO2 levels in Mauai Hawaii', fontsize=10)
ax.set_title('Rolling mean and variance of CO2 levels\nin Mauai Hawaii from 1958 to 2001', fontsize=10)
plt.show()