基本上我每天有780个观测值,我希望从中收集80%的数据,其余20%的数据用于交叉验证。因此,我了解我将使用:
df_cv = cross_validation(m, initial='624 days', horizon='156 days')
其中初始日期对应于我想训练并确定我想用于交叉验证的其余nº观测值的第一个nº观测值。
我认为我没有正确地应用此功能,因为它似乎是一个截止日期,我并不真正了解它的用途。
我如何实现使用最初的80%观测值训练数据最后20%进行交叉验证的目标?
先感谢您
截止日期用于确定第一次验证迭代时(截止之前)火车数据集中的内容以及将要预测的(截止之后)的内容。如果要使用80%作为火车数据,并且要进行交叉验证,则不能将地平线值设置为数据的20%,因为这样只能进行一次验证。您需要使用较小的数字作为地平线,因为它确定了每次迭代预测的天数。对于每个有序的验证迭代,FBProphet将在截止值和截止值+地平线之间进行预测,然后添加时间段以获取下一个截止值。这是一个例子:
800天总数据集
初始= 624 ==火车数据集
范围的大小= 20 ==预测
周期的大小= 10(默认值=范围的1/2)==截止日期之间的间隔为增量
第1次迭代:在1-624上进行火车,预测为625-644
第2次迭代:在11-634上进行火车,对635-654进行预测
第3次迭代:在21-644上进行火车,对645-664进行预测
因此最后20%可用于不同时间范围的交叉验证
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句