Média Móvel Simples
Matematicamente, o modelo da média móvel simples é representado da seguinte forma:
Nesta equação, a previsão por Média Móvel Simples (SMA) consiste em variáveis, onde k
representa o tamanho da janela (quantos valores passados serão considerados para calcular o próximo valor) e p
é o valor considerado.
Como funciona esse modelo? Na verdade, a média móvel simples, a cada momento de previsão, calcula a média de diversos valores passados - o número resultante é a próxima previsão. Você pode imaginar um gráfico no qual uma janela de tamanho n
se desloca (podendo considerar 2 valores, 3 valores, etc.). Quanto menor a janela, mais suavizadas são as previsões. Vamos demonstrar isso a seguir:
Na primeira imagem, o tamanho da janela para o qual o valor médio é calculado é 8, enquanto no segundo gráfico, n
= 3. Quanto menor a janela, menos picos ela poderá capturar.
Python permite que você implemente esse modelo assim:
import matplotlib.pyplot as plt
import pandas as pd
# Calcular previsões
t_average = df["value"].rolling(window=8).mean()
# Plotar resultados
plt.figure(figsize=(10, 5))
plt.plot(df["value"][:50], "k-", label="Original")
plt.plot(t_average[:50], "r-", label="Média Móvel")
plt.ylabel("NO2")
plt.xlabel("Data")
plt.grid(linestyle=":")
plt.legend(loc="upper left")
plt.show()
rolling()
- uma função usada para calcular a média móvel.
A média móvel simples é um dos modelos mais simples, por isso basta utilizar a biblioteca pandas
para implementá-la.
Swipe to start coding
Faça previsões para o conjunto de dados pr_air_quality.csv
com tamanho de janela 5.
- Converta a coluna
"date.utc"
para o tipodatetime
. - Calcule as médias móveis utilizando janelas móveis de tamanho
5
. - Compare os resultados em um gráfico: visualize os primeiros 50 valores da coluna
"value"
dodf
na primeira chamada da função.plot()
e os primeiros 50 valores dopred
na segunda chamada. - Exiba a legenda e o gráfico.
Solução
Obrigado pelo seu feedback!