當數據集具有很強的時間成分時,這種重采樣方法非常有用。重新采樣不是隨機的,並且包含連續值的數據點。該函數假設原始數據集按時間順序排序。
參數
- data
-
一個 DataFrame 。
- initial
-
初始重采樣中用於分析/建模的樣本數量。
- assess
-
每次評估重新抽樣所使用的樣本數量。
- cumulative
-
一個合乎邏輯的。每次重新采樣時分析重新采樣是否會超出
initial
指定的大小? - skip
-
一個整數,指示要跳過多少次附加重采樣(如果有)以精簡分析重采樣中的數據點總量。請參閱下麵的示例。
- lag
-
包含評估和分析集之間的滯後的值。如果在訓練和測試期間使用滯後預測變量,這非常有用。
- ...
-
這些點用於將來的擴展,並且必須為空。
值
帶有類 rolling_origin
、 rset
、 tbl_df
、 tbl
和 data.frame
的 tibble。結果包括數據分割對象的列和名為 id
的列,其中包含帶有重采樣標識符的字符串。
細節
主要選項 initial
和 assess
分別控製分析和評估集中原始數據的數據點數量。當 cumulative = TRUE
時,分析集將隨著重采樣的繼續而增長,而評估集大小將始終保持靜態。 skip
使函數能夠不使用重采樣中的每個數據點。當 skip = 0
時,重采樣數據集將增加一位。假設數據集的行是連續的天。使用skip = 6
將使分析數據集運行數周而不是數天。評估集大小不受此選項的影響。
也可以看看
sliding_window()
、 sliding_index()
和 sliding_period()
用於附加基於時間的重采樣函數。
例子
set.seed(1131)
ex_data <- data.frame(row = 1:20, some_var = rnorm(20))
dim(rolling_origin(ex_data))
#> [1] 15 2
dim(rolling_origin(ex_data, skip = 2))
#> [1] 5 2
dim(rolling_origin(ex_data, skip = 2, cumulative = FALSE))
#> [1] 5 2
# You can also roll over calendar periods by first nesting by that period,
# which is especially useful for irregular series where a fixed window
# is not useful. This example slides over 5 years at a time.
library(dplyr)
library(tidyr)
data(drinks, package = "modeldata")
drinks_annual <- drinks %>%
mutate(year = as.POSIXlt(date)$year + 1900) %>%
nest(data = c(-year))
multi_year_roll <- rolling_origin(drinks_annual, cumulative = FALSE)
analysis(multi_year_roll$splits[[1]])
#> # A tibble: 5 × 2
#> year data
#> <dbl> <list>
#> 1 1992 <tibble [12 × 2]>
#> 2 1993 <tibble [12 × 2]>
#> 3 1994 <tibble [12 × 2]>
#> 4 1995 <tibble [12 × 2]>
#> 5 1996 <tibble [12 × 2]>
assessment(multi_year_roll$splits[[1]])
#> # A tibble: 1 × 2
#> year data
#> <dbl> <list>
#> 1 1997 <tibble [12 × 2]>
相關用法
- R rsample rset_reconstruct 使用新的 rset 子類擴展 rsample
- R rsample reverse_splits 反轉分析和評估集
- R rsample reg_intervals 具有線性參數模型的置信區間的便捷函數
- R rsample reshuffle_rset “重新洗牌”一個 rset 以重新生成具有相同參數的新 rset
- R rsample validation_set 創建驗證拆分以進行調整
- R rsample initial_split 簡單的訓練/測試集分割
- R rsample populate 添加評估指標
- R rsample int_pctl 自舉置信區間
- R rsample vfold_cv V 折交叉驗證
- R rsample group_mc_cv 小組蒙特卡羅交叉驗證
- R rsample group_vfold_cv V 組交叉驗證
- R rsample group_bootstraps 團體自舉
- R rsample labels.rset 從 rset 對象中查找標簽
- R rsample get_fingerprint 獲取重采樣的標識符
- R rsample bootstraps 引導抽樣
- R rsample validation_split 創建驗證集
- R rsample clustering_cv 集群交叉驗證
- R rsample initial_validation_split 創建初始訓練/驗證/測試拆分
- R rsample get_rsplit 從 rset 中檢索單個 rsplit 對象
- R rsample loo_cv 留一交叉驗證
- R rsample complement 確定評估樣本
- R rsample slide-resampling 基於時間的重采樣
- R rsample as.data.frame.rsplit 將 rsplit 對象轉換為 DataFrame
- R rsample labels.rsplit 從 rsplit 對象中查找標簽
- R rsample mc_cv 蒙特卡羅交叉驗證
注:本文由純淨天空篩選整理自Hannah Frick等大神的英文原創作品 Rolling Origin Forecast Resampling。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。