#r #tidymodels
Вопрос:
Моя главная цель здесь-лучше понять преимущества использования функции modeltime_fit_resamples() вместо традиционного метода fit_resamples ().
В отличие от функции fit_resamples (), ввод modeltime_fit_resamples должен быть встроенным «Таблицей времени модели», что звучит как пустая трата ресурсов. Зачем мне подгонять модель перед запуском modeltime_fit_resamples (), если эта функция не собирается использовать эту информацию ? Может быть, это глупый вопрос, поэтому я заранее приношу свои извинения.
Воспроизводимый пример ниже:
library(modeltime)
library(modeltime.resample)
library(tidyverse)
library(timetk)
library(earth)
# Set Up Model Workflow and Workflow fit ----
model_spec_mars <- mars(mode = "regression") %>%
set_engine("earth")
recipe_spec <- recipe(value ~ date, data = training(splits)) %>%
step_date(date, features = "month", ordinal = FALSE) %>%
step_mutate(date_num = as.numeric(date)) %>%
step_normalize(date_num) %>%
step_rm(date)
#Workflow
wflw_mars <- workflow() %>%
add_recipe(recipe_spec) %>%
add_model(model_spec_mars)
#Fitted Workflow
splits <- initial_time_split(m750, prop = 0.9)
wflw_mars_fit <- wflw_mars %>%
fit(training(splits))
# Resamples --------
resamples_tscv <- time_series_cv(
data = m750,
assess = "2 years",
initial = "5 years",
skip = "2 years",
slice_limit = 4
)
resamples_tscv
# fit_resamples Example --------
fit_output <-
wflw_mars %>%
fit_resamples(
resamples_tscv,
control=control_resamples(verbose=T, save_pred=T)
)
# modeltime_fit_resamples (does not work )--------
fit_output <-
wflw_mars %>%
modeltime_table() %>%
modeltime_fit_resamples(
resamples_tscv,
control=control_resamples(verbose=T, save_pred=T)
)
# modeltime_fit_resamples ( Works )--------
wflw_mars %>%
fit(training(splits)) %>%
modeltime_table() %>%
modeltime_fit_resamples(
resamples_tscv,
control=control_resamples(verbose=T, save_pred=T)
)
#it works, but why would I fit the model if modeltime_fit_resamples does not use that information ?