首页 > 解决方案 > 有没有更快的方法在 Python 中对时间序列进行滚动预测?

问题描述

目前,我正在构建一个带有滚动窗口的 SARIMA Modell,其中包含每日数据。

history = [x for x in train_set_d]
predictions = list()


for t in range(len(test_set_d)):
    # in history wird die vorhersage gespeichert
    Sarima_Modell_same = SARIMAX(history,order = (2,1,0),seasonal_order=(0,2,1,6))
    
    model_fit = Sarima_Modell_same.fit()
    output = model_fit.forecast()
    yhat = output[0]
    
    predictions.append(yhat)
    np.append(predictions,yhat)
    obs = test_set_d[t]
    history.append(obs)
    
    print('predicted=%f, expected=%f' % (yhat, obs))


    

rmse = sqrt(mean_squared_error(test_set_d, predictions))
rmse

这样做的问题是,它需要长达 10 分钟 770 sek 才能完成,这太长了。我也尝试进行 numpy 转换,但我没能做到。

有什么方法可以减少这个 for 循环的时间,以便更快地预测时间序列?

标签: pythonloopsoptimizationtime-seriesforecasting

解决方案


推荐阅读