首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解释Prophet输出的每周和年度季节性

解释Prophet输出的每周和年度季节性
EN

Stack Overflow用户
提问于 2017-07-12 23:36:13
回答 1查看 1.3K关注 0票数 3

我正在学习在R中使用prophet的教程。

您可以在以下位置找到数据集:https://github.com/facebookincubator/prophet/blob/master/examples/example_wp_peyton_manning.csv

代码语言:javascript
复制
# R
library(prophet)
library(dplyr)

df <- read.csv('peyton.csv') %>%
  mutate(y = log(y))

head(df)

          ds        y
1 2007-12-10 9.590761
2 2007-12-11 8.519590
3 2007-12-12 8.183677
4 2007-12-13 8.072467
5 2007-12-14 7.893572
6 2007-12-15 7.783641

df$ds<-as.Date(df$ds,'%m/%d/%Y')

m <- prophet(df)

future <- make_future_dataframe(m, periods = 365)

forecast <- predict(m, future)

plot(m, forecast)

prophet_plot_components(m, forecast)

prophet_plot_components(m,forecast)的输出如下:

我是否将年度季节性部分的曲线图解释为:

不管你对某个特定日期的预测是什么,增加或减少某某的数量来考虑每年的季节性?例如,它看起来像是在4月1日,y预期为-0.5。如何使用此结果?我是否将一年的平均值y减去-0.5以考虑季节性?有点迷惑。

任何帮助都是最好的!

EN

回答 1

Stack Overflow用户

发布于 2018-04-30 13:13:33

@Nick Prophet predict()函数具有以下语法:

代码语言:javascript
复制
temp_dataframe_to_store_prediction <- predict(model_name, new_dataframe_created)

在您的案例中:

代码语言:javascript
复制
forecast <- predict(m, future)

来自predict()函数的预测或预测包括每一行的趋势和季节性,即每个time_stamp。因此,您不需要在最终预测值中包含或排除季节性的任何单独代码行。您的解释是正确的,即最终预测值是通过将季节性和趋势性的(+/-)值与固定的"y“值相加而获得的。请注意,prophet在您的代码中使用的"y“值是log(original_y)

代码语言:javascript
复制
 mutate(y = log(y))

这一行使original_y值固定。因此,为了解释最终结果,您需要取预测的"y“值的指数。这将使预测恢复到原始规模。如果original_y没有被转换,则不需要取指数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45062100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档