Nothing
context("Modeltime Residuals")
test_that("modeltime_residuals(): Returns correct order", {
skip_on_cran()
library(tidymodels)
library(dplyr)
library(timetk)
data <- walmart_sales_weekly %>%
dplyr::select(ID = id, date = Date, value = Weekly_Sales)
splits <- data %>% time_series_split(assess = "3 months", cumulative = TRUE)
rec_obj <- recipes::recipe(value ~ ., rsample::training(splits)) %>%
recipes::step_mutate(ID = droplevels(ID)) %>%
step_timeseries_signature(date) %>%
recipes::step_rm(date) %>%
recipes::step_zv(recipes::all_predictors()) %>%
recipes::step_dummy(recipes::all_nominal_predictors(), one_hot = TRUE)
# Workflow
wflw_xgb <- workflows::workflow() %>%
workflows::add_model(
boost_tree("regression") %>% parsnip::set_engine("xgboost")
) %>%
workflows::add_recipe(rec_obj) %>%
fit(rsample::training(splits))
skip_if_not_installed("glmnet")
wflw_glmnet <- workflows::workflow() %>%
workflows::add_model(
linear_reg(penalty = 1) %>%
parsnip::set_engine("glmnet")
) %>%
workflows::add_recipe(rec_obj) %>%
fit(rsample::training(splits))
model_tbl <- modeltime_table(
wflw_xgb,
wflw_glmnet
)
i <- 1
# Order is not changed for the training set
calib_tbl_train <- model_tbl %>%
modeltime_calibrate(
rsample::training(splits)
)
expect_equal(rsample::training(splits)$value, calib_tbl_train$.calibration_data[[1]]$.actual)
# Usage of the full data set
# if i want to refit and than I use calibrate row order is changed
refit_tbl <- model_tbl %>%
modeltime_refit(data)
calib_tbl <- refit_tbl %>%
modeltime_calibrate(
data
)
expect_equal(data$value, calib_tbl$.calibration_data[[1]]$.actual)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.