【问题标题】:Model for Time Series Analysis时间序列分析模型
【发布时间】:2018-11-04 09:28:56
【问题描述】:

我只是想知道我们是否有一个模型可以考虑时间序列预测的两个因素(例如预测未来的销售额)。

问题在于,如果我们使用 ARIMA 之类的东西,那么它不会考虑重要信息(例如公司添加的新促销活动,或者可能是其他因素,例如产品类型等)。

另一方面,如果我使用随机森林等机器学习模型,那么我会丢失趋势和季节性信息。

我们有没有将这两者结合起来的东西?

【问题讨论】:

  • 您的问题不清楚。让它更具体,请给我们一个样本,看看你的数据是什么样的。

标签: machine-learning time-series data-science data-analysis forecasting


【解决方案1】:

ARIMA 模型可以获取除时间序列数据本身之外的其他信息。这些被称为因果变量或外生变量。请参阅 ARMAX 和 ARIMAX 型号。

指数平滑型模型(Holt、Holt-Winters 等)稍微复杂一些。

机器学习模型也可以用于时间序列数据,您只需要以正确的方式格式化数据。

对于传统的时间序列模型,数据如下所示:

Train              Test 
[1, 2, 3],          [4]
[1, 2, 3, 4],       [5]
[1, 2, 3, 4, 5],    [6]
[1, 2, 3, 4, 5, 6], [7]

您可以重新格式化数据,使其看起来像一个监督学习问题:

Train:    [1, 2, 3 | 4]
          [2, 3, 4 | 5]
          [3, 4, 5 | 6]
-----------------------
Test:     [4, 5, 6 | 7]

您可以应用大多数有监督的机器学习方法。 但请注意,对于 ML 模型,时间序列输入将始终是固定数量的滞后(与指数平滑等顺序模型相比)。

【讨论】: