已解决:pytorch 滚动窗口

最后更新: 09/11/2023

滚动窗口 数据分析领域通常需要处理时间序列数据,处理此类数据的常用技术是采用 滚动窗口. 滚动窗口,有时称为移动窗口或滑动窗口,是一种允许我们将数据集分割成更小的块、处理它们并从生成的子系列中获得有用见解的方法。 这种强大的技术广泛用于金融、预测和趋势分析,使其成为您分析工具箱中的一项宝贵技能。 在本文中,我们将探索滚动窗口的概念,解决一个问题,将其解决方案分解为易于理解的步骤,并讨论可以让我们的生活更轻松的相关 Python 库和函数。

问题陈述

假设我们有一个时间序列数据集,其中包含零售店一年的每日销售数据。 我们的任务是分析此数据集并计算 7 天的销售滚动平均值,以消除潜在的异常情况、识别趋势并指导业务决策。 我们将使用 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 的组合简化了计算移动平均值和可视化结果的过程,使其成为该领域初学者和专家都容易上手的主题。

相关文章: