Média móvel exponencial e super/subsuavização
No exercício anterior, vimos que nossa receita está relativamente estável ao longo do tempo. Neste exercício, vamos nos aprofundar nos dados para tentar entender o motivo. Vamos analisar a receita de um único produto de compra dentro do app que estamos vendendo para ver se isso revela alguma tendência. Como esse recorte tem menos dados do que a receita total, haverá muito mais ruído. Para lidar com isso, vamos suavizar a série usando uma média móvel exponencial.
Foi fornecido um novo conjunto de dados daily_revenue, contendo a receita desse produto.
Este exercício faz parte do curso
Customer Analytics and A/B Testing in Python
Instruções do exercício
- Usando o método
.ewm(), calcule a média móvel exponencial comspande 10 e armazene na colunasmall_scale. - Repita o passo anterior com
spande 100 e armazene na colunamedium_scale. - Por fim, calcule a média móvel exponencial com
spande 500 e armazene na colunalarge_scale. - Plote as três médias junto com os dados brutos. Observe quão clara fica a tendência dos dados.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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.____