【问题标题】:Q: fbProphet on rolling Pandas DataFrame问:滚动 Pandas DataFrame 上的 fbProphet
【发布时间】:2021-04-11 18:46:18
【问题描述】:

我需要以“滚动”方式与先知进行预测。 只是给你一个想法,考虑到形状的 df (2400,2),我想执行类似的操作:

def forecast(dataframe):

    m = Prophet()
    m.fit(dataframe)
    future = m.make_future_dataframe(
             periods=24, freq="H")
    forecast = m.predict(future)

    return forecast['yhat'][-1]

df['yhat'] = df[['ds','y']].rolling(240).apply(forecast)

有没有聪明的方法来做到这一点?

【问题讨论】:

    标签: python pandas facebook-prophet prophet


    【解决方案1】:

    这样完成,或许还有更好的办法:

    def forecast(data, prds):
    
        data.name='y'
        data.reset_index(drop=True, inplace=True)
    
        df = pd.DataFrame()
        df['ds'] = pd.date_range(start='1/1/2020', periods=len(data), freq="H")
    
        df=df.merge(data, left_index=True, right_index=True)
    
        m = Prophet()
        m.fit(df)
        future = m.make_future_dataframe(periods=prds, freq="H")
        forec = m.predict(future)
    
        prediction = forec['yhat'].iloc[-1]
    
        return prediction
    
    dataframe['yhat'] = dataframe['y'].rolling(240).apply(forecast, args=(24,))
    
    

    【讨论】:

      猜你喜欢
      • 2021-04-08
      • 2019-01-03
      • 1970-01-01
      • 2018-12-17
      • 2018-05-03
      • 2017-10-14
      • 2022-10-05
      • 2017-08-01
      • 2020-08-14
      相关资源
      最近更新 更多