k_fold() shuffles n rows with seed and cuts them into k folds;
group_k_fold() keeps each group's rows in one fold; time_ordered()
tests on each of the last n_test periods after training on the earlier
ones (with calendar diagonals as periods, the triangle backtest).
Usage
k_fold(n, k, seed)
group_k_fold(groups, k, seed)
time_ordered(periods, n_test)
Arguments
- n
Number of rows.
- k
Number of folds.
- seed
Generator seed.
- groups
Group label per row.
- periods
Period per row (whole numbers).
- n_test
Number of final periods to test on.
Value
A list of splits, each list(train, test) of row numbers.
Examples
length(k_fold(10, 5, seed = 1))
#> [1] 5
time_ordered(c(0, 1, 2, 1, 2, 2), 1)
#> [[1]]
#> [[1]]$train
#> [1] 1 2 4
#>
#> [[1]]$test
#> [1] 3 5 6
#>
#>