我正试图建立一个模型来预测未来几天产品的销售量
这个问题是关于我是否应该使用意甲的尾部作为测试集,并使用其余的数据来训练模型,还是应该像往常一样随机地创建一个测试集,挑选日期。
在阅读经典时间序列模型(ARIMA)时,他们推荐了第一种方法(使用最后几天作为测试),但我在应用机器学习模型时感到很奇怪。
正确的方法是什么?使用其中一种或另一种有什么好处或劣势?
发布于 2022-03-05 15:32:38
您仍然可以使用时间序列进行交叉验证,但不要只是随机地获取数据点。滚动窗口是一种很好的方式,就像:
1st: ~~~~ train ~~~~ train ~~~~ test
2nd: ~~~~ train ~~~~ train ~~~~ train ~~~~ test
3rd: ~~~~ train ~~~~ train ~~~~ train ~~~~ train ~~~~ test测试的大小与您的预测视界大小大致相同。
发布于 2022-04-06 16:49:48
您还可以像这样拆分数据:
~~~~ train ~~~~ test ~~~~ train ~~~~ test ~~~~ ...然后,你总是用一对训练和测试来训练和测试模型。然后,考虑到超参数的当前值,您可以根据它在单个运行中对所有单个测试集所造成的平均损失来优化您的模型超参数。确保您没有将任何测试数据(也不是回溯窗口)输入培训过程。这是至关重要的。与其他建议的方法相比,我的方法具有训练集大小总是相同的优点。他的优点是你可以根据更多的数据来训练模型。
https://datascience.stackexchange.com/questions/108770
复制相似问题