我正在运行这段代码。用先知预测多个时间序列,但不知道如何评估模型。预先感谢
y
数据的结构是这样的:
import pandas as pd
from fbprophet import Prophet
data = pd.read_csv(r'C:\Users\XXX.csv')
ids = data['id'].unique()
series = []
for id in ids:
f = data[data['id'] == id]
series.append(f)
def run_prophet(timeserie):
model = Prophet(yearly_seasonality=False,daily_seasonality=False)
model.fit(timeserie)
forecast = model.make_future_dataframe(periods=90, include_history=False)
forecast = model.predict(forecast)
return forecast
results = list(map(lambda timeserie: run_prophet(timeserie), series))
results[0]
results[1]
答案 0 :(得分:0)
您可以从预测中获取“ yhat”,“ yhat_lower”,“ yhat_upper”:
def run_prophet(timeserie):
model = Prophet(yearly_seasonality=False,daily_seasonality=False)
model.fit(timeserie)
forecast = model.make_future_dataframe(periods=90, include_history=False)
forecast = model.predict(forecast)
return forecast
results = run_prophet(timeserie)
print(results['yhat'])
您还可以可视化预测数据:
import matplotlib.pyplot as plt
model.plot(forecast)
fig = model.plot_components(forecast)
plt.show()