试图了解FB先知交叉验证

问题描述

我有一个月销售量为84(从2013年1月1日到2019年12月)的数据集-仅几个月,而不是几天。

Month 01 | Sale 1

Month 02 | Sale 2

Month 03 | Sale 3

....     |   ...

Month 84 | Sale 84

通过可视化,看起来该模型非常适合...但是我需要对其进行检查...。

所以我了解到cross val不支持Months,所以我所做的就是转换为使用w / days(尽管我的原始df中没有日期信息)...

我想用前五年(60个月)尝试我的模型,而剩下的2年(24个月)去看看模型的预测效果如何。

所以我做了类似的事情:

cv_results = cross_validation( model = prophet,initial='1825 days',period='30 days',horizon = '60 days')

这有意义吗?

我没有得到截止日期和预测期的概念

解决方法

我也为此苦了一段时间。但是这是它的工作方式。最初的模型将在前1,825天的数据中进行训练。它将预测未来60天的数据(因为地平线设置为60)。然后,模型将在初始期间+期间(在这种情况下为1,825 + 30天)进行训练,并预测接下来的60天。它将继续这样,将训练数据再增加30天,然后预测接下来的60天,直到不再有足够的数据来执行此操作。

总而言之,周期是在每次交叉验证迭代中向训练数据集中添加多少数据,而地平线是它将预测多远。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...