时间序列分析模型
Model for Time Series Analysis
我只是想知道我们是否有一个模型考虑了时间序列预测的两个因素(例如预测未来的销售)。
问题是,如果我们使用像 ARIMA 这样的东西,那么它不会考虑重要信息(比如公司添加的新促销活动,或者可能是产品类型等其他因素)。
另一方面,如果我使用像随机森林这样的机器学习模型,那么我就会丢失趋势和季节性信息。
我们有结合这两者的东西吗?
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 方法。
但是请注意,对于 ML 模型,时间序列输入将始终是固定数量的滞后(与指数平滑等顺序模型相比)。
我只是想知道我们是否有一个模型考虑了时间序列预测的两个因素(例如预测未来的销售)。
问题是,如果我们使用像 ARIMA 这样的东西,那么它不会考虑重要信息(比如公司添加的新促销活动,或者可能是产品类型等其他因素)。
另一方面,如果我使用像随机森林这样的机器学习模型,那么我就会丢失趋势和季节性信息。
我们有结合这两者的东西吗?
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 方法。 但是请注意,对于 ML 模型,时间序列输入将始终是固定数量的滞后(与指数平滑等顺序模型相比)。