Press "Enter" to skip to content

你应该知道的三个常见时间序列建模错误

常见错误及如何避免它们,附实际示例

Photo by Diggity Marketing on Unsplash

我自己也经常犯这个错误——在一些模型训练代码上点击运行,当错误评分出现时,会有一个“哇”时刻。可疑地棒。在浏览特征工程代码时,发现了一个将未来数据混入训练数据的计算,并修复了该特征,将均方误差恢复到了现实水平。现在白板在哪儿来着…

时间序列问题存在许多独特的陷阱。幸运的是,通过一些勤奋和一点实践,在键入“from sklearn import”之前,您将会考虑到这些陷阱。以下是需要注意的三个问题以及可能遇到这些问题的一些情况。

前瞻性偏差

这几乎肯定是您在处理时间序列时遇到的第一个隐患,也是我在入门级投资组合中最常见的问题(看着你,通用股市预测项目)。好消息是,它通常也是最容易避免的。

问题:简单地说,前瞻性偏差是指模型在训练过程中使用了实际上无法访问的未来数据。

您可能会通过将训练和测试数据随机分成两个预定大小的块(例如80/20)来引入此问题到您的代码中。随机抽样将意味着您的训练和测试数据覆盖相同的时间段,因此您的模型将”泄漏”未来的知识。

当使用测试数据进行验证时,模型已经知道发生了什么。您将不可避免地以这种方式得到一些非常出色但虚假的错误评分。

修复方法:使用时间截断而不是保留一定比例的数据来分割数据集。

例如,如果我的数据覆盖了2013年至2023年,我可能将2013年至2021年设置为训练数据,将2022年至2023年设置为测试数据。在简单的用例中,测试数据将完全不知道模型,因此您的错误评分应该是准确的。请记住,这也适用于类似k折交叉验证的情况。

Leave a Reply

Your email address will not be published. Required fields are marked *