解決済み: pytorch ローリング ウィンドウ

最終更新: 09/11/2023

ローリングウィンドウ データ分析の世界では、時系列データの操作が必要になることが多く、そのようなデータを処理する際に使用される一般的な手法は、 ローリングウィンドウ。 ローリング ウィンドウ (移動ウィンドウまたはスライディング ウィンドウとも呼ばれます) は、データセットを小さなチャンクに分割して処理し、結果として得られるサブシリーズから有用な洞察を得ることができるアプローチです。 この強力なテクニックは財務、予測、トレンド分析で広く使用されているため、分析ツールボックスに入れておくと価値のあるスキルになります。 この記事では、ローリング ウィンドウの概念を探り、問題に取り組み、その解決策をわかりやすい手順に分けて、私たちの生活を楽にする関連する Python ライブラリと関数について説明します。

問題提起

7 年間の小売店の毎日の売上高を含む時系列データセットがあると仮定します。 私たちのタスクは、このデータセットを分析し、売上の XNUMX 日間移動平均を計算して、潜在的な異常を排除し、傾向を特定し、ビジネス上の意思決定を導くことです。 データ分析にはよく知られ広く使用されているプログラミング言語である Python を使用します。

ソリューションアプローチ

ローリング ウィンドウの問題を解決するには、次の手順に従います。

  1. 必要なライブラリをインポートする
  2. データセットをロードする
  3. ローリングウィンドウを作成する
  4. 7日間の移動平均を計算する
  5. 結果を視覚化する

必要なライブラリをインポートし、データセットをロードすることから始めましょう。

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))

最後に、データの傾向をより深く理解するために結果を視覚化しましょう。

結果の視覚化

人気のあるものを使用させていただきます matplotlib ライブラリを使用して、毎日の売上データと計算された 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 を組み合わせると、移動平均の計算と結果の視覚化のプロセスが簡素化され、この分野の初心者と専門家の両方にとって取り組みやすい主題になります。

関連記事: