Я использую Prophet для прогноза многоканальных потенциальных клиентов. Я смог сделать прогноз, используя метод, описанный @RLave в этом посте Предсказание Пророка с использованием R для нескольких элементов . Я хотел бы добавить регрессоры к моему прогнозу. Ниже приведен пример, данный @RLave вместе с примером того, как я пытался добавить регрессор, и его результаты. Как заставить add_regressor работать с моим списком лидов?
library(tidyverse) # contains also the purrr package
set.seed(123)
tb1 <- tibble(
ds = seq(as.Date("2018-01-01"), as.Date("2018-12-31"), by = "day"),
y = sample(365)
regressor = rnorm(365, mean = 0, sd = 1)
)
tb2 <- tibble(
ds = seq(as.Date("2018-01-01"), as.Date("2018-12-31"), by = "day"),
y = sample(365)
regressor = rnorm(365, mean = 0, sd = 1)
)
ts_list <- list(tb1, tb2) # two separate time series
Построение и прогноз :
library(prophet)
m_list <- map(ts_list, prophet) # prophet call
future_list <- map(m_list, make_future_dataframe, periods = 40) # makes future obs
forecast_list <- map2(m_list, future_list, predict) # map2 because we have two inputs
Попытка добавить регрессор
m <- prophet()
m <- add_regressor(m,"regressor")
m_list2 <- map2(m,ts_list, fit.prophet ) # prophet call
Error: Mapped vectors must have consistent lengths:
* `.x` has length 31
* `.y` has length 14