
문제 정책
7년 동안 소매점의 일일 판매 수치가 포함된 시계열 데이터 세트가 있다고 가정해 보겠습니다. 우리의 임무는 이 데이터 세트를 분석하고 XNUMX일 연속 판매 평균을 계산하여 잠재적 이상 현상을 완화하고 추세를 식별하며 비즈니스 결정을 내리는 것입니다. 우리는 데이터 분석을 위해 잘 알려지고 널리 사용되는 프로그래밍 언어인 Python을 사용할 것입니다.
솔루션 접근
롤링 윈도우 문제를 해결하기 위해 다음 단계를 따릅니다.
- 필요한 라이브러리 가져오기
- 데이터세트 로드
- 롤링 창 만들기
- 7일 이동 평균 계산
- 결과 시각화
필요한 라이브러리를 가져오고 데이터 세트를 로드하는 것부터 시작하겠습니다.
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())
데이터 세트를 로드한 후 이제 롤링 창 만들기를 진행합니다.
롤링 윈도우 생성
우리는 강력한 판다 라이브러리를 사용하여 롤링 창을 만들 수 있습니다. rolling() 기능. 롤링 윈도우는 7일 이동 평균을 계산하기 위해 7일 크기를 가집니다.
# Create a rolling window of 7 days rolling_window = data['sales'].rolling(window=7)
이제 롤링 윈도우가 있으므로 7일 이동 평균을 계산할 수 있습니다.
7일 이동 평균 계산
판매의 7일 이동 평균을 찾으려면 단순히 mean() 롤링 창 개체에 대한 함수입니다. 그런 다음 이 새로운 이동 평균을 데이터 세트의 새 열로 추가합니다.
# Calculate the moving average data['7_day_avg'] = rolling_window.mean() # Preview the updated dataset print(data.head(10))
마지막으로 데이터의 추세를 더 잘 이해하기 위해 결과를 시각화해 보겠습니다.
결과 시각화
우리는 인기있는 것을 사용할 것입니다 매트플롯립 라이브러리를 사용하여 일일 판매 데이터와 계산된 7일 이동 평균을 모두 보여주는 간단한 선 차트를 만들 수 있습니다.
# 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()
생성된 차트에는 7일 이동 평균과 함께 일일 판매 데이터가 표시되어 추세와 이상 현상을 쉽게 식별할 수 있습니다.
결론적으로 롤링 윈도우는 대규모 데이터 세트 내에서 숨겨진 패턴과 추세를 드러내는 기능 때문에 데이터 분석, 특히 시계열에서 널리 활용됩니다. Python, Pandas 및 Matplotlib의 조합은 이동 평균을 계산하고 결과를 시각화하는 프로세스를 단순화하여 해당 분야의 초보자와 전문가 모두에게 접근할 수 있는 주제입니다.