Как добавить add_regressor при прогнозировании нескольких временных рядов с помощью Prophet R? - PullRequest
0 голосов
/ 05 марта 2020

Я использую 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
...