将数据顺序传递到线性回归模型

问题描述 投票:0回答:1

我有一个 Pandas DataFrame,其中包含特定产品的三列数据。

  1. invoice_date - 包含下产品订单时的invoice_date。它以日期时间格式排序。
  2. prod_quantity - 这包含为相应发票日期订购的产品数量。
  3. lag - 包含两个连续的发票日期之间的滞后。

我正在根据这些数据训练线性回归模型。 prod_quantity 列将作为自变量传递以预测滞后值。

我的疑问是,如何顺序传递prod_quantity数据? 例如,我希望按顺序传递前 200 个 prod_quantity 值以预测下一个滞后值。我该怎么做? 该模型仅采用训练数据集中的随机 prod_quantity 值。

python pandas forecasting
1个回答
0
投票

线性回归不是时间序列模型,因此您将看到随机选择训练数据的示例,因为理论上顺序不应该产生任何差异。

但是,鉴于您认为数据的顺序很重要并且时间可能是关键因素,您可以做一些事情。

  • 基于日期构建更多特征,例如月、年、季度等,以便模型可以了解到在某些时期,某些事情会发生不同的情况
  • 添加一个“趋势”列,该列从 1 开始,每个时间段增加 1(例如,如果您有 52 周的每周数据,则该列将为 1-52,或者本质上是行号)。在分配此数据之前,请确保您的数据按日期升序排列
  • 查找超时验证。这是一种交叉验证方法,强制将训练/测试数据拆分为从训练数据开头开始并扩展的窗口,以强制模型按照数据的时间顺序评估准确性
  • 还评估一些基于树的模型,例如除了 OLS 之外的 XGBoost,看看其他变量是否有帮助
© www.soinside.com 2019 - 2024. All rights reserved.