Skip to contents

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
#> 
#>