怎么样?' (预测)在fbprophet库中计算?

时间:2018-01-12 01:32:31

标签: python time-series prediction

我在Python中使用fbprophet进行时间序列预测,我想知道如何计算yhat(预测)列。我使用了以下代码。

import quandl
import fbprophet

tesla = quandl.get('WIKI/TSLA')
tesla = tesla.reset_index()
tesla = tesla.rename(columns={'Date': 'ds', 'Adj. Close': 'y'})
tesla = tesla[['ds', 'y']]

prophet = fbprophet.Prophet()
prophet.fit(tesla)
future = prophet.make_future_dataframe(periods=365)
future = prophet.predict(future)

future数据框包含以下列:

['ds', 'trend', 'trend_lower', 'trend_upper', 'yhat_lower', 'yhat_upper', 
'seasonal', 'seasonal_lower', 'seasonal_upper', 'seasonalities', 
'seasonalities_lower', 'seasonalities_upper', 'weekly', 'weekly_lower', 
'weekly_upper', 'yearly', 'yearly_lower', 'yearly_upper', 'yhat']

我理解yhat是预测,但它是trend, seasonal, seasonalities, weekly, yearly还是其他的组合?

我尝试合并trend, seasonal, seasonalities, weekly, yearly列,看看它们是否等于yhat列,但它们不是:

future['combination'] = future['trend'] + future['seasonal'] + future['weekly'] + future['yearly'] + future['seasonalities']

print(future[['combination', 'yhat']].head())

   combination       yhat
0    57.071956  27.681139
1    55.840545  27.337270
2    53.741200  26.704090
3    51.874192  26.148355
4    47.827763  25.065950

我一直无法在文档中找到答案,但如果我错过了它就道歉。

2 个答案:

答案 0 :(得分:2)

我是fbprophet的初学者,但我想分享一下我的猜测。 即使我不确定它是否正确,下面的等式可能适用于先知的默认设置。

yhat = trend + seasonal

希望我的回答能帮到你!

答案 1 :(得分:1)

这似乎已经改变了。查看Github代码,yhat的计算如下

yhat =(趋势*(1 +乘数项)+加法项