多种趋势的时间序列模型

数据挖掘 机器学习 时间序列 机器学习模型
2022-01-19 12:02:20

我是 ML 领域的新手。所以,如果我在某个地方错了,请忽略或更好地纠正。目前致力于时间序列数据的模型训练。我的问题更具体一点是共享单车。我每天计算每个区域和每种自行车类型(齿轮,无齿轮......)的自行车共享数量。

例如,数据:

Date    BikeType    Area    BikeCount
1/1/19  Gear        1        10
1/1/19  WithoutGear 1        15
1/1/19  Gear        2        8
1/1/19  WithoutGear 2        12
2/1/19  Gear        1        11
2/1/19  WithoutGear 1        17
2/1/19  Gear        2        9
2/1/19  WithoutGear 2        16

因此,我将为每个区域的每种类型的自行车制定趋势。如何对这些数据使用时间序列。我必须预测每种类型和每个区域所需的自行车。例如,对于给定的数据,我必须预测 2019 年 3 月 1 日 1 和 2 区域所需的齿轮自行车和无齿轮自行车的数量。(考虑到两个日期的数据足以预测,我有每个特定区域和类型的 2 年数据,它们有很好的趋势)

第二个问题是……目前,我只需要二维自行车类型和面积,以后可能会增加(如颜色和状况)如何处理。任何贡献都会有所帮助。

我从问题中得到提示: https ://stackoverflow.com/questions/55545501/how-to-perform-time-series-analysis-that-c​​ontains-multiple-groups-in-python-usin

但是,这是最好的唯一方法吗……

谢谢(我也需要问题标题的建议)

编辑:

我在以下参考文献中遇到了类似的问题:

多维和多变量时间序列预测 (RNN/LSTM) Keras

多变量和多序列 LSTM

现在,我还有两个疑问:

  1. LSTM是唯一的方法吗?

  2. 我的数据列(数据类型和区域)是维度还是特征。

2个回答

我认为您应该研究多元回归。您可以将这些变量(类型、面积等)与季节性等其他因素一起使用。创建虚拟变量,例如星期几、星期数、月份等来捕捉季节性。例如雨月可能有较少的自行车需求。这些是数据的固有特征。

我将一一解决您的问题:

如何对这些数据使用时间序列

您可以通过输入变量的时间序列来训练 RNN 多元回归器。您的第一层将是循环的(LSTM 或 GRU),并提供以下内容input_shape

( batch size , input size , Number of variables )


我只需要二维自行车类型和面积,它们可能会在以后增加(例如它们的颜色和状况)如何处理

如果您需要添加一个以前不存在的新变量,恐怕您将不得不重新训练您的模型。不同的架构 = 要训练的不同权重集。


LSTM是唯一的方法吗?

不,您可以将循环层与 GRU 单元一起使用。GRU 与 LSTM 不同:它们的参数更少(即功能更弱),但训练速度更快。没有正确或错误的选择,我认为值得测试两种架构,看看哪个在当前任务上表现更好。


我的数据列(数据类型和区域)是维度还是特征

请改写这个问题,不清楚你的意思。是[数据类型和区域]维度或特征”是什么意思?

如果您对它们进行相应的预处理,则上面显示的所有变量都可以用作输入变量。例如,可以将日期时间信息转化为更多的数值变量来捕捉季节性趋势(这只是一个示例)。自行车类型和区域可以一次性编码,或者可以根据它们的值加入其他相关信息......有很多选择。