A média móvel, também conhecida como média de rolagem ou corrida, é uma ferramenta de análise de dados de séries temporais que calcula as médias de subconjuntos distintos de todo o conjunto de dados. Também é conhecido como média em movimento (mm) ou média de rolamento porque inclui o cálculo da média do conjunto de dados por um determinado período. A média móvel pode ser calculada em vários métodos, um dos quais é selecionar um subconjunto definido de uma sequência inteira de números.
Pandas DataFrame.Ewm ()
A EWMA fornece mais peso às observações atuais ou menos peso aos dados à medida que se move mais no tempo, permitindo que ele registre as tendências recentes relativamente mais rápidas do que as outras técnicas de encontrar médias. O “DataFrame.O método ewm () ”Pandas é usado para executar a EMA.
Sintaxe:
Pandas.Quadro de dados.ewm (com = nenhum, span = nenhum, halflife = nenhum, alfa = nenhum, min_periods = 0,
ajuste = true, ignore_na = false, eixo = 0).significar()
Parâmetros:
Exemplo 1: com parâmetro de span
Neste exemplo, temos um quadro de dados de análise que armazena as informações de ações do produto da empresa. Temos colunas de produto, quantidade e custo, e a empresa precisa estimar a média móvel exponencial com um período de 5 dias.
Importar pandas
# Crie dados de dados de pandas para calcular a média móvel exponencial
# com 3 colunas.
Analytics = Pandas.DataFrame ('Product': [11,22,33,44,55,66,77,88,99,110],
'Quantidade': [200.455.800.900.900.122.400.700.80.500],
'Custo': [2400.4500.5090.600.8000.7800.1100.2233.500.1100])
Impressão (Analytics)
imprimir()
# Calcule a média móvel exponencial por 5 dias
Analytics ['5 dias ewm'] = análise ['quantidade'].ewm (span = 5).significar()
Impressão (Analytics)
Saída:
Custo de quantidade do produto
0 11 200 2400
1 22 455 4500
2 33 800 5090
3 44 900 600
4 55 900 8000
5 66 122 7800
6 77 400 1100
7 88 700 2233
8 99 80 500
9 110 500 1100
Quantidade do produto Custo de 5 dias EWM
0 11 200 2400 200.000000
1 22 455 4500 353.000000
2 33 800 5090 564.736842
3 44 900 600 704.000000
4 55 900 8000 779.241706
5 66 122 7800 539.076692
6 77 400 1100 489.835843
7 88 700 2233 562.734972
8 99 80 500 397.525846
9 110 500 1100 432.286704
Explicação:
Na primeira saída, exibimos toda a análise. Na segunda saída, calculamos a média móvel exponencial da coluna de quantidade e armazenamos os valores na coluna “5 dias ewm”.
Exemplo 2: Visualize o EWM
Vamos visualizar a média móvel exponencial para a coluna "Quantidade" em um período de 5 dias usando o módulo Matplotlib.
De Matplotlib Import PyPlot
Importar pandas
Analytics = Pandas.DataFrame ('Product': [11,22,33,44,55,66,77,88,99,110],
'Quantidade': [200.455.800.900.900.122.400.700.80.500],
'Custo': [2400.4500.5090.600.8000.7800.1100.2233.500.1100])
# Plote a quantidade real
Pyplot.Plot (Analytics ['Quantity'], Label = 'Quantity')
# Calcule a média móvel exponencial por 5 dias
Analytics ['5 dias ewm'] = análise ['quantidade'].ewm (span = 5).significar()
# Plote a quantidade média móvel exponencial de 5 dias
Pyplot.plot (análise ['5 dias ewm'], etiqueta = 'ewm de 5 dias')
# Defina a lenda como 1
Pyplot.Legenda (loc = 1)
Saída:
Explicação:
Calculamos a média móvel exponencial da coluna de quantidade e armazenamos os valores na coluna “5 dias ewm”. Agora, você pode ver que no gráfico, a linha azul indica a “quantidade” real e a cor laranja indica a média móvel exponencial com um período de 5 dias.
Exemplo 3: com o span e ajuste os parâmetros
Estime a média móvel exponencial da coluna "custo" com um período de 2 dias, definindo o ajuste para falsidade e visualizá -la.
De Matplotlib Import PyPlot
Importar pandas
Analytics = Pandas.DataFrame ('Product': [11,22,33,44,55,66,77,88,99,110],
'Quantidade': [200.455.800.900.900.122.400.700.80.500],
'Custo': [2400.4500.5090.600.8000.7800.1100.2233.500.1100])
# Plote o custo real
Pyplot.plot (análise ['custo'], etiqueta = 'compra')
# Calcule a média móvel exponencial por 2 dias
Analytics ['2 dias ewm'] = análise ['custo'].ewm (span = 2, ajuste = false).significar()
# Plote o custo médio móvel exponencial de 2 dias
Pyplot.plot (análise ['2 dias ewm'], etiqueta = 'ewm de 2 dias')
# Defina a lenda como 1
Pyplot.Legenda (loc = 1)
Impressão (Analytics)
Saída:
Quantidade do produto Custo de 2 dias ewm
0 11 200 2400 2400.000000
1 22 455 4500 3800.000000
2 33 800 5090 4660.000000
3 44 900 600 1953.333333
4 55 900 8000 5984.444444
5 66 122 7800 7194.814815
6 77 400 1100 3131.604938
7 88 700 2233 2532.534979
8 99 80 500 1177.511660
9 110 500 1100 1125.837220
Explicação:
Armazenamos os valores na coluna “2 dias ewm” para custo e exibição. Finalmente, visualizamos o uso do Matplotlib PyPlot.
Exemplo 4: com o parâmetro ignore_na
Veja a média móvel exponencial para a coluna "Produto", sem valores, com um período de 3 dias, definindo o ignore_na como false.
De Matplotlib Import PyPlot
Importar pandas
Analytics = Pandas.DataFrame ('Product': [Nenhum, 22,33, nenhum, 55, nenhum],
'Quantidade': [200.455, nenhum, 900.900.122])
# Plote o custo real
Pyplot.Plot (Analytics ['Product'], Label = 'Product')
# Calcule a média móvel exponencial com extensão de 3 dias sem ignorar os valores da NAN.
Analytics ['3 dias EWM com NAN'] = Analytics ['Produto'].ewm (span = 3, ignore_na = false).significar()
# Plote o produto médio móvel exponencial de 3 dias
Pyplot.Lote (análise ['3 dias ewm com nan'], etiqueta = 'ewm de 3 dias')
# Defina a lenda como 1
Pyplot.Legenda (loc = 1)
Saída:
Conclusão
O conceito de calcular a média móvel ponderada exponencial é discutida neste artigo. Na seção de introdução deste escrito, explicamos a idéia de EWM. O “DataFrame.ewm ().O método da média () ”é fornecido com todos os seus parâmetros que são descritos brevemente. Realizamos quatro exemplos. As estratégias básicas para calcular a EWM são elaboradas neste aprendizado.