【问题标题】:Model evaluation on ProphetProphet 模型评估
【发布时间】:2020-03-06 18:08:07
【问题描述】:

我正在运行此代码。使用 Prophet 预测多个时间序列,但不知道如何评估模型。提前致谢

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]

数据的结构是这样的:

id       ds         y
id1   2017-01-01    12
id2   2017-01-01    15
id3   2017-01-01    16

【问题讨论】:

    标签: python time-series forecasting forecast facebook-prophet


    【解决方案1】:

    你可以从预测中得到'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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-24
      • 2017-04-24
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      • 2016-06-27
      • 2019-03-09
      • 1970-01-01
      相关资源
      最近更新 更多