我正在使用芝加哥的犯罪数据集,并专门研究芝加哥的犯罪率的未来预测(从2012年到2016年,我有数据)。我使用Facebook的先知软件包生成了一个预测。它工作得很好,一切都完成了。现在,我想训练和测试我的模型。因此,我将数据集分为70%训练和30%测试。我训练了模型并对其进行了测试,最后得到了一个不错的图。我对诊断部分进一步感兴趣。先知为我提供了一个名为cross_validation()
的函数:df.cv<- cross_validation(m, initial = nrow(trainData), period = 365, horizon = nrow(testData), units = 'days')
。问题就在这里,我总是遇到此错误,并从昨天开始尝试修复它,但未成功:
Fehler in generate_cutoffs(df, horizon.dt, initial.dt, period.dt) :
Less data than horizon after initial window. Make horizon or initial shorter.
有人知道如何解决此错误并提供诊断列表吗?
我的火车/测试区看起来像这样:
我的火车数据集可以在这里下载:https://ufile.io/4e38c 我的测试数据集在这里:https://ufile.io/ds65p
我希望有人能帮助我!真的很棒,我真的很感激。预先感谢!
答案 0 :(得分:0)
交叉验证将应用于滑动窗口,并根据设置执行截断。请在这里阅读文档: https://facebook.github.io/prophet/docs/diagnostics.html
由于滑动窗口超出范围而导致的错误。尝试这样:
df.cv<- cross_validation(m, initial = 100, period = 100, horizon = 100, units = 'days')
答案 1 :(得分:0)
我遇到了类似的问题,我设法使用了{strong> string 这样的参数,例如create Table dbo.provinces(
int int not null identity,
States nvarchar(100))
,而不是 int horizon="365 days"
。
此解决方案适用于Python版本。