当前位置:  开发笔记 > 编程语言 > 正文

R Caret的时间片-窗口和地平线不清晰

如何解决《RCaret的时间片-窗口和地平线不清晰》经验,为你挑选了1个好方法。

使用插入符号中的时间分割及其参数,如何使用xyz行拆分数据,每行的长度为12?

理想情况下,还要考虑60-20-20火车测试-验证比率。

我应该这样设置吗:

initialWindow = 12,horizo​​n = 12,fixedWindow = TRUE?

我已经阅读了文档,但是对我来说仍然不清楚。



1> thie1e..:

您可以使用样例向量尝试发生的情况1:100。如果进行设置window = 12fixedWindow = T则训练集将始终有12行。horizon指定将包含在测试集中的后续观察值的大小。如果将其设置为12,并且您不希望多次预测任何行,则必须skip将其设置为(horizo​​n-1)。

例如,可以通过将前20%initialWindow的大小设置为60%,然后在前半部分运行模型,slices然后将后半部分slices用作最后20%,来实现60-20-20的分区。

我不知道您是否已经尝试在插入符号的train功能中使用时间片。无论如何,您都可以使用createTimeSlices()函数尝试不同的设置:

library(caret)
dat <- 1:100

slices <- createTimeSlices(dat, initialWindow = 12, horizon = 1, 
                           skip = 0, fixedWindow = T)
slices # 88 test and train sets
# [...]

slices <- createTimeSlices(y = dat, initialWindow = 12, horizon = 12,
                           skip = 11, fixedWindow = T)
slices 
# 7 test and train sets, observations 97 - 100 not in any test set

$train
$train$Training01
 [1]  1  2  3  4  5  6  7  8  9 10 11 12

$train$Training13
 [1] 13 14 15 16 17 18 19 20 21 22 23 24

$train$Training25
 [1] 25 26 27 28 29 30 31 32 33 34 35 36

$train$Training37
 [1] 37 38 39 40 41 42 43 44 45 46 47 48

$train$Training49
 [1] 49 50 51 52 53 54 55 56 57 58 59 60

$train$Training61
 [1] 61 62 63 64 65 66 67 68 69 70 71 72

$train$Training73
 [1] 73 74 75 76 77 78 79 80 81 82 83 84


$test
$test$Testing01
 [1] 13 14 15 16 17 18 19 20 21 22 23 24

$test$Testing13
 [1] 25 26 27 28 29 30 31 32 33 34 35 36

$test$Testing25
 [1] 37 38 39 40 41 42 43 44 45 46 47 48

$test$Testing37
 [1] 49 50 51 52 53 54 55 56 57 58 59 60

$test$Testing49
 [1] 61 62 63 64 65 66 67 68 69 70 71 72

$test$Testing61
 [1] 73 74 75 76 77 78 79 80 81 82 83 84

$test$Testing73
 [1] 85 86 87 88 89 90 91 92 93 94 95 96

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有