在FB先知模型中使用几个自变量



我倾向于像这样使用fbprophet来预测时间序列

uni变量:
import pandas as pd
from fbprophet import Prophet
import matplotlib.pyplot as plt
plt.style.use('fivethirtyeight')
stock = 'FB'
df = pd.read_csv('C:/Bla/' + stock + '.csv')
df['Date'] = pd.DatetimeIndex(df['Date'])
df = df.rename(columns={'Date': 'ds',
'Close': 'y'})
my_model = Prophet(
weekly_seasonality=True
, interval_width=0.95
)
my_model.fit(df)
future_dates = my_model.make_future_dataframe(periods=5, freq='B')
future_dates.tail()
forecast = my_model.predict(future_dates)
forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()
my_model.plot(forecast, uncertainty=True)
plt.show()

我认为现在还可以使用多个自变量进行预测(使用 add_regressor?有人这样做了吗?如果是这样,您能否提供一些代码示例?让我们假设自变量在上面的 df 中称为 X1。谢谢!

除非在拟合期间添加其他回归量,否则无法使用附加回归器进行预测。如果您想将回归器添加到模型中,则应按照以下步骤操作(直接取自文档(:

def nfl_sunday(ds):
date = pd.to_datetime(ds)
if date.weekday() == 6 and (date.month > 8 or date.month < 2):
return 1
else:
return 0
df['nfl_sunday'] = df['ds'].apply(nfl_sunday)
m = Prophet()
m.add_regressor('nfl_sunday')
m.fit(df)
future['nfl_sunday'] = future['ds'].apply(nfl_sunday)
forecast = m.predict(future)
fig = m.plot_components(forecast)

最新更新