我目前正在处理一些时间序列数据,并且正在使用TimeSeriesSplit
来将我的数据集拆分为正向链接交叉验证拆分。
因此,如果我有100个数据点-并且我分为3个分割。 1.我在1-25训练。测试26-50。 2.在1-50上训练。测试51-75。 3.乘1-75火车。在76-100上测试。
将此称为扩展窗口示例。
我想知道是否有一种方法可以在每次训练时向前滑动训练窗口,所以它不是从0开始。我正在尝试实现类似于图的滑动窗口方案
答案 0 :(得分:0)
不幸的是,sklearn中没有专门用于时间序列交叉验证的滑动窗口CV。但是,将StratifiedKFold或KFold与参数shuffle=False
一起使用可以模拟非随机化。请注意,train_test_split
也适用,这对时间序列数据也很有用。
这是sklearn文档页面,用于可视化各种交叉验证行为:
另一种替代方法是使用Python pandas
或collections
库按索引进行拆分。熊猫对与时间序列相关的概念也提供了很好的支持,例如滚动窗口。