CommencerCommencer gratuitement

Afficher des moyennes mobiles

Il est également possible de visualiser des moyennes mobiles des valeurs de votre série temporelle. Cela revient à « lisser » vos données, et c’est particulièrement utile lorsque votre série comporte beaucoup de bruit ou de valeurs aberrantes. Pour un DataFrame df donné, vous pouvez obtenir la moyenne mobile de la série temporelle avec la commande :

df_mean = df.rolling(window=12).mean()

Le paramètre window doit être défini en fonction de la granularité de votre série. Par exemple, si votre série contient des données quotidiennes et que vous voulez des valeurs glissantes sur une année entière, vous devez spécifier window=365. Il est tout aussi simple d’obtenir des valeurs glissantes pour d’autres mesures, comme l’écart type (.std()) ou la variance (.var()).

Cet exercice fait partie du cours

Visualiser des séries temporelles en Python

Afficher le cours

Instructions

  • Calculez la moyenne mobile sur 52 semaines de co2_levels et affectez-la à ma.
  • Calculez l’écart type mobile sur 52 semaines de co2_levels et affectez-le à mstd.
  • Calculez la borne supérieure de la série, définie comme la moyenne mobile + (2 × l’écart type mobile), et affectez-la à ma[upper]. De même, calculez la borne inférieure comme la moyenne mobile − (2 × l’écart type mobile) et affectez-la à ma[lower].
  • Tracez le graphique en ligne de ma.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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