gpt4 book ai didi

r - 使用 tbats 预测每周数据

转载 作者:行者123 更新时间:2023-12-04 12:02:43 26 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

4年前关闭。




Improve this question




这是我的数据 data
数据从 26/07/2016 开始到 10/03/2017 结束
所以2个问题:
这样对吗 ?使用 tbats 吗?每周季节性?
我还希望预测数据看起来像初始数据,但如图所示,这不是我的情况,我该怎么做?
这就是我所拥有的,这也是代码

enter image description here

我执行此命令以使用 tbts 预测最终获得此结果

      data.raw=read.csv(file=file.choose(),header=TRUE,sep=";",row.names=NULL)%>%
mutate(date.re = as.POSIXct(date, format = "%d/%m/%Y"))
complete.dates <- range(data.raw$date.re)
dates.seq <- seq(complete.dates[1], complete.dates[2], by = "week")
series <- data.frame(sale.week = week(dates.seq),sale.month = month(dates.seq), sale.year = year(dates.seq))

data.post <- data.raw %>%
mutate(sale.week = week(date.re),sale.month = month(date.re), sale.year = year(date.re)) %>%
select(Quantite, sale.week,sale.month, sale.year) %>%
group_by(sale.week,sale.month, sale.year) %>%
summarize_all(funs(sum(.))) %>%
right_join(series) %>%
replace_na(list(Quantite = 0))

data2=data.post[,4]
sensor <- ts(data2,frequency=52)
fit <- tbats(sensor)
fc <- forecast(fit)
plot(fc)

先感谢您

最佳答案

您正确拟合并正确预测。但是,您错误地指定了季节性。

要将其纳入每周季节性,您很可能希望使用

sensor <- ts(data2,frequency=7)

要更多地了解这一点,您可以阅读它 here.但基本上它归结为在同一天再次下降之前你有多少观察。因此,如果每周有 7 天的数据,则频率应为 7。如果每周只有 5 天的数据,则频率应为 5。

tbats 的好处之一是您可以有两个季节性时段。您可以通过尝试以下操作来指定每周和每年的季节性:
library(forecast)
sensor <- msts(data2, seasonal.periods=c(7,365.25))

另一种选择是使用 ARIMA。但是,您只能在 ARIMA 中使用一个季节性周期。您希望每周使用一次。使用 ARIMA 还允许您包含指标,例如您希望看到异常大或小销售额的假期。如果您希望它们也与正常趋势不同,您也可以使用假期前几天的指标。

我做了一些每周的季节性分析,并且使用 ARIMA 获得了最好的运气,主要是因为您可以包含其他协变量。

您可能要考虑的其他事情是检查异常值。你可以用 tsoutliers() 来做到这一点这也在 forecast 中包裹。而且,有时您可以通过转换数据获得更好的结果。所以也要考虑一下。

有关更多详细信息,您可能需要阅读有关时间序列的一些内容。 This is an excellent book with many examples in R.

关于r - 使用 tbats 预测每周数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42931488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com