fbprophet 年度季节性值太高

fbprophet yearly seasonality values too high

我最近开始在 python 中使用 fbprophet 软件包。我有过去 2 年的月度数据和未来 9 个月的预测。 因为,我有月度数据,我只包括年度季节性 (Prophet(yearly_seasonality = True))。 当我绘制组件时,趋势值似乎很好,但是年度季节性值太高,我不明白为什么? 季节性显示 300 增加或 -200 减少。但是,在实际图表中,它在过去的任何几个月都没有发生 - 我可以做些什么来纠正?

使用代码如下:

m = Prophet(yearly_seasonality = True)
m.fit(df_bu_country1)
future = m.make_future_dataframe(periods=9, freq='M')
forecast = m.predict(future)
m.plot(forecast)
m.plot_components(forecast)

您的数据完全没有季节性。为了有年度季节性,你应该有一个年复一年重复的模式,但是你的时间序列从 10/2015 到 10/2016 的形状与 10/2016 到 10/2017 之间的形状完全不同。所以强制每年的季节性会给你带来奇怪的结果,你应该关闭它(即只使用 Prophet 的默认设置)。

您的数据的季节性因素不一致,2017-04 到 2018-10 之间似乎有一点年度季节性。第一个答案是绝对正确的,但如果你觉得有一些季节性,你可以通过改变它的傅里叶阶来减少它的影响。 https://facebook.github.io/prophet/docs/seasonality,_holiday_effects,_and_regressors.html#fourier-order-for-seasonalities

这个页面有如何做到这一点,默认的傅立叶阶数是 10,减少了它影响的值。 试试这个希望对你有帮助