Moyenne mobile exponentielle et sur/sous-lissage
Dans l’exercice précédent, nous avons constaté que notre chiffre d’affaires est relativement stable dans le temps. Dans cet exercice, nous allons approfondir l’analyse pour comprendre pourquoi. Nous allons observer le revenu d’un seul produit d’achat in-app afin de voir si cela révèle des tendances. Comme il s’agit d’un sous-ensemble plus restreint que le chiffre d’affaires global, les données seront plus bruitées. Pour y remédier, nous allons lisser la série à l’aide d’une moyenne mobile exponentielle.
Un nouveau jeu de données daily_revenue est fourni, contenant le revenu pour ce produit.
Cet exercice fait partie du cours
Analytics client et A/B Testing en Python
Instructions
- À l’aide de la méthode
.ewm(), calculez la moyenne mobile exponentielle avec unspande 10 et enregistrez-la dans une colonnesmall_scale. - Répétez l’étape précédente avec un span de 100 et enregistrez le résultat dans une colonne
medium_scale. - Enfin, calculez la moyenne mobile exponentielle avec un span de 500 et enregistrez-la dans une colonne
large_scale. - Tracez les trois moyennes ainsi que les données brutes. Observez à quel point la tendance devient plus lisible.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Calculate 'small_scale'
daily_revenue['small_scale'] = daily_revenue.revenue.____(span=____).mean()
# Calculate 'medium_scale'
daily_revenue['___'] = daily_revenue.revenue.____(____=____).____
# Calculate 'large_scale'
daily_revenue[____] = daily_revenue.revenue.____(____=____).____
# Plot 'date' on the x-axis and, our three averages and 'revenue'
# on the y-axis
daily_revenue.plot(x = ____, y =['revenue', 'small_scale', ____, ____])
plt.____