我必须为2000个不同的时间序列创建每小时预测。在我的系列中,我有很强的每小时和每周的季节性。为了处理每小时的季节性,我使用了season("day")选项。然而,我认为season("week")每周会创建168个虚拟对象,这将是一个计算问题。
你知道使用tsibble或fabletools包创建星期几虚拟对象的快捷方法吗?
ts_forecast1 <- train%>% filter(store_number==288) %>% collect()%>%
mutate(store_number = factor(store_number)) %>% group_by(store_number) %>%
filter(sales!=0) %>% tsibble::fill_gaps(sales=100) %>%
fabletools::model(Arima = ARIMA(log(sales) ~ season("day") +fourier("week", K = 8)))发布于 2020-11-01 15:12:27
您的代码已经包含了答案。
season("day")将创建23个虚拟变量,因为一天中有24小时。season("week")将为一周内的168个小时创建167个虚拟变量。要使用较少的系数,请将season()替换为fourier(),并使用K控制系数的数量(等于两倍K)。
https://stackoverflow.com/questions/64626222
复制相似问题