假设我已经通过对一组变量的时间观察来建立索引。
A B C D ... V day
16.50 14.00 53.00 45.70 ... 6.39 1
17.45 16.00 64.00 46.30 ... 6.00 2
18.40 12.00 51.00 47.30 ... 6.57 3
19.35 7.00 42.00 48.40 ... 5.84 4
20.30 9.00 34.00 49.50 ... 6.36 5
20.72 10.00 42.00 50.60 ... 5.78 6
21.14 6.00 45.00 51.90 ... 5.16 7
21.56 9.00 38.00 52.60 ... 5.62 8
21.98 2.00 32.00 53.50 ... 4.94 9
22.78 8.00 29.00 53.80 ... 6.25 10
...
基于此数据框,我想为目标变量V构建一个预测模型,其中预测变量是先前观察中的其他一些变量,用时间水平{{0 }}。也就是说,我想适合这种类型的模型
,
其中是错误,而是从某些类的函数中选择的(例如某种神经网络或基于树的方法)。
问题是否有一些软件包可以让我灵活地选择学习算法(可能从其他软件包中选择),同时还可以进行必要的预处理?符合Caret的精神。
思路当然,我可以在数据框中添加一列列,例如A1,A2,...,AK等,其中A1是前一天的A值,A2是2天之前的A值,以此类推。之后,我可以应用任何我想要的软件包。问题是,如果我的初始数据帧很大,那么这个新数据帧将大很多倍(准确地说,约为倍)。如果很大,则这种方法效率很低。
Caret软件包确实具有称为createTimeSlices
的功能,但它似乎是为单变量时间序列设计的。这个问题类似于2009年的this older one。那里推荐的软件包似乎并没有达到我上面所描述的。我想知道从那时起是否出现了其他工具。如果python中存在类似信息,我也将不胜感激。