CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Calculez la moyenne mobile sur 52 semaines de co2_levels et assignez-la à ma.
  • Calculez l'écart type mobile sur 52 semaines de co2_levels et 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()
Modifier et exécuter le code