python中线性回归分类器的输入批处理

问题描述

我想使用 3 年窗口批量输入 2000 年至 2020 年的输入,同时在 Python 中创建线性回归算法以查看这三年对第四年数据的意义。

输入数据示例:[2000,2001,2002],[2001,2002,2003],[2002,2003,2004]

输出数据:[2003],[2004] [2005]

我希望我的分类器能够解析 2000 年至 2020 年的整个数据集,并将线性回归作为一个整体来拟合其结果。

我没有“到目前为止我已经完成了”示例代码,因为我多年来一直在考虑 for 循环,但如果我理解正确,我的 reg.fit(x,y) 命令将重置每次循环中的拟合以及最终我的拟合最终将成为 [2017,2018,2019] 的输入,而 [2020] 是覆盖所有先前拟合的输出

解决方法

我将假设目标是预测类似于您的示例的内容,即您有 3 个数据点作为输入:

  • X1:从第 N-4 年到第 N-2 年的滑动窗口上的值 v
  • X2:从第 N-3 年到第 N-1 年滑动窗口上的值 v
  • X3:从第 N-2 年到第 N 年的滑动窗口上的值 v

并且您想在从第 N-1 年到第 N+1 年的下一个滑动窗口中预测代表 v 的 Y。

在 ML 设计中,此选项意味着您具有三个特征,即线性回归模型的 3 个输入维度。换句话说,单个实例由 (X1,X2,X3,Y) 组成。像往常一样,训练集由多个此类实例组成,因此您可以根据训练集中的所有实例训练单个模型。

此选项的优点是模型将考虑 3 年 v 如何影响下一年 v 的年份变化。然而,此模型只能预测下一年,而在单个维度上训练的模型X 可以预测任何年份。