Sorun bildirimi
Bir perakende mağazasının bir yıllık günlük satış rakamlarını içeren bir zaman serisi veri setimiz olduğunu varsayalım. Görevimiz, bu veri kümesini analiz etmek ve olası anormallikleri düzeltmek, eğilimleri belirlemek ve iş kararlarına rehberlik etmek için 7 günlük satış ortalamasını hesaplamaktır. Veri analizi için iyi bilinen ve yaygın olarak kullanılan bir programlama dili olan Python'u kullanacağız.
Çözüm Yaklaşımı
Dönen pencere problemini çözmek için şu adımları izleyeceğiz:
- Gerekli kütüphaneleri içe aktarın
- Veri kümesini yükleyin
- Dönen pencereyi oluştur
- 7 günlük hareketli ortalamayı hesaplayın
- Sonuçları görselleştirin
Gerekli kitaplıkları içe aktarma ve veri kümesini yükleme ile başlayalım.
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())
Veri setini yükledikten sonra, şimdi hareketli pencereyi oluşturmaya devam ediyoruz.
Dönen Pencereyi Oluşturma
Güçlü olana dönüyoruz Pandalar kitaplığı kullanarak yuvarlanan bir pencere oluşturmak için rolling() işlev. 7 günlük hareketli ortalamayı hesaplamak istediğimiz için hareketli pencere 7 günlük bir boyuta sahip olacaktır.
# Create a rolling window of 7 days rolling_window = data['sales'].rolling(window=7)
Artık hareketli pencereye sahip olduğumuza göre, 7 günlük hareketli ortalamayı hesaplayabiliriz.
7 Günlük Hareketli Ortalamanın Hesaplanması
Satışların 7 günlük hareketli ortalamasını bulmak için basitçe mean() yuvarlanan pencere nesnemizde işlev. Daha sonra bu yeni hareketli ortalamayı veri setimize yeni bir sütun olarak ekliyoruz.
# Calculate the moving average data['7_day_avg'] = rolling_window.mean() # Preview the updated dataset print(data.head(10))
Son olarak, verilerimizdeki eğilimleri daha iyi anlamak için sonuçlarımızı görselleştirelim.
Sonuçları Görselleştirme
Popüler olanı kullanacağız matplotlib hem günlük satış verilerini hem de hesaplanan 7 günlük hareketli ortalamamızı gösteren basit bir çizgi grafik oluşturmak için kitaplık.
# 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()
Oluşturulan grafik, günlük satış verilerini 7 günlük hareketli ortalama ile birlikte göstererek, trendleri ve anormallikleri belirlememizi kolaylaştırır.
Sonuç olarak, kayan pencere, büyük veri kümelerindeki gizli kalıpları ve eğilimleri ortaya çıkarma yeteneği nedeniyle veri analizinde, özellikle zaman serilerinde yaygın olarak kullanılmaktadır. Python, Pandas ve Matplotlib'in birleşimi, hareketli ortalamayı hesaplama ve sonuçları görselleştirme sürecini basitleştirerek konuyu hem yeni başlayanlar hem de alandaki uzmanlar için ulaşılabilir bir konu haline getirir.