2015-12-07 39 views
0

在插入符號中使用時間片及其參數 如何使用xyz行分割數據,每個長度爲12?R Caret的時間片 - 窗口和地平線不清

理想情況下,還要考慮60-20-20列車測試驗證比率。

我應該把它就像這樣:

initialWindow = 12,視距= 12,fixedWindow = TRUE?

我已閱讀文檔,但對我而言仍然不清楚。

回答

2

你可以嘗試使用像1:100這樣的示例向量來發生什麼。 如果您設置了window = 12fixedWindow = T,訓練集將始終有12行。 horizon指定將包括在測試集中的後續觀察的大小。如果它設置爲12,並且不希望多次預測任何行skip必須設置爲(水平-1)。

的60-20-20的分隔可通過例如設定initialWindow到的第一個60%的大小和第一運行你上的slices上半年模型並使用的slices下半年作爲最後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