
Problema Declaração
Vamos supor que temos um conjunto de dados de série temporal que contém números de vendas diárias de uma loja de varejo por um ano. Nossa tarefa é analisar esse conjunto de dados e calcular a média contínua de 7 dias de vendas para suavizar possíveis anomalias, identificar tendências e orientar as decisões de negócios. Estaremos usando Python, uma linguagem de programação conhecida e amplamente utilizada para análise de dados.
Abordagem de Solução
Para resolver o problema da janela rolante, seguiremos estas etapas:
- Importe as bibliotecas necessárias
- Carregar o conjunto de dados
- Criar a janela rolante
- Calcular a média móvel de 7 dias
- Visualize os resultados
Vamos começar importando as bibliotecas necessárias e carregando o conjunto de dados.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Load dataset (Assuming the dataset is a CSV file)
data = pd.read_csv('sales_data.csv')
# Preview the dataset
print(data.head())
Depois de carregar o conjunto de dados, passamos a criar a janela rolante.
Criando a Janela Rolante
Nós nos voltamos para os poderosos Pandas biblioteca para criar uma janela rolante usando o rolling() função. A janela contínua terá um tamanho de 7 dias, pois queremos calcular a média móvel de 7 dias.
# Create a rolling window of 7 days rolling_window = data['sales'].rolling(window=7)
Agora que temos a janela contínua, podemos calcular a média móvel de 7 dias.
Calculando a média móvel de 7 dias
Para encontrar a média móvel de vendas de 7 dias, simplesmente chamamos o mean() função em nosso objeto de janela rolante. Em seguida, adicionamos essa nova média móvel como uma nova coluna em nosso conjunto de dados.
# Calculate the moving average data['7_day_avg'] = rolling_window.mean() # Preview the updated dataset print(data.head(10))
Por fim, vamos visualizar nossos resultados para entender melhor as tendências em nossos dados.
Visualizando resultados
Usaremos o popular matplotlib biblioteca para criar um gráfico de linhas simples mostrando os dados diários de vendas e nossa média móvel calculada de 7 dias.
# Plot the daily sales data
plt.plot(data['sales'], label='Daily Sales')
# Plot the 7-day moving average
plt.plot(data['7_day_avg'], label='7-Day Moving Average', color='red')
# Add labels and legend
plt.xlabel('Days')
plt.ylabel('Sales')
plt.title('Daily Sales and 7-Day Moving Average')
plt.legend()
# Display the plot
plt.show()
O gráfico gerado exibe os dados diários de vendas junto com a média móvel de 7 dias, facilitando a identificação de tendências e anomalias.
Em conclusão, a janela rolante é amplamente utilizada na análise de dados, especificamente séries temporais, por sua capacidade de revelar padrões e tendências ocultos em grandes conjuntos de dados. A combinação de Python, Pandas e Matplotlib simplifica o processo de cálculo da média móvel e visualização dos resultados, tornando-o um assunto acessível tanto para iniciantes quanto para especialistas na área.