我正在尝试使用 R 中的 Fable 函数预测多个时间序列。这似乎是最有效的方法,但我对使用 R 非常陌生,所以我目前正在处理很多问题。我只是想向某人寻求建议和想法。我已经找到了如何仅使用预测功能包来做到这一点,但需要很多额外的步骤。我的数据是一个 5701 列和 50 行的 excel。第一行的每一列作为产品的名称,后面的49个值是数字,代表2017年1月到2021年1月的销售额。首先,如何将该表转换为tibble?我知道我需要这样做才能与 Fable 合作,但我被困在如此简单的一步。然后我想输出一个表格,其中包含未来 3 个学期(2021 年 4 月至 2022 年 9 月)的月度预测,其中包含 Product|Date|Model Arima(values)|error of arima(value/values)|model ETS|Error ETS的|模型天真|天真..等的错误。我的主要目标是获得一张表格,其中包含产品|2021 年 4 月/2021 年 9 月的最佳预测|2021 年 10 月/2021 年 3 月的最佳预测|2022 年 4 月/2022 年 9 月的最佳预测|
我正在做的是使用这段代码:
newdata <- read_excel("ALLINCOLUMNS.xlsx")
Fcast <- ts(newdata[,1:5701], start= c(1), end=c(49), frequency=12)
output <- lapply(Fcast, function(x) forecast(auto.arima(x)))
prediction <- as.data.frame(output)
write.table(prediction, file= "C:\\Users\\thega\\OneDrive\\Documentos\\finalprediction.csv",sep=",")
默认情况下,这给了我一些格式为 |product1.Point.Forecast||Product1.Lo.80||Product1.Hi.80|Product1.Lo.95|Product1.Hi.95|Product2.Point.Forecast |...|Product5071.Hi.95|... 无论如何,我不需要 80 和 95 间隔,这让我更难以使用它进行 excel 工作。如何获得以下格式的内容:|点预测产品 1|点预测产品 2|....|点预测产品 5701|,仅显示预测?我知道我必须在预测函数中使用 level=NULL,但它并没有按照我尝试的方式工作。我打算做一个编程来删除这些列,但它不那么优雅。最后,有没有办法显示列中方法的所有错误?我想将最好的方法添加到我的表中,所以我需要验证哪个错误更少。