【时间序列】NeuralProphet:Prophet的Pytorch实现!精度更高 预测更快 特性更多!...
NeuralProphet是受Prophet和AR-Net的啟發,并建立在Pytorch上的強大繼續模型。
官網:https://neuralprophet.com/
NeuralProphet功能
與Prophet相比,NeuralProphet具備的功能有:
通過使用PyTorch的深度學習完成優化
使用AR-Net對時間序列的自相關建模
使用前饋神經網絡對滯后建模
可自定義損失和指標
同時也具備用戶友好Python接口:
from?neuralprophet?import?NeuralProphet import?pandas?as?pddf?=?pd.read_csv('toiletpaper_daily_sales.csv') m?=?NeuralProphet() metrics?=?m.fit(df,?freq="D") forecast?=?m.predict(df)特征1:自回歸模型
n_lags為NeuralProphet的參數,向AR-Net提供5個滯后并接收 3 個步驟作為預測:
m?=?NeuralProphet(n_forecasts=3,n_lags=5,yearly_seasonality=False,weekly_seasonality=False,daily_seasonality=False, )https://neuralprophet.com/html/auto-regression.html
特性2:滯后回歸模型
滯后回歸器僅AR-Net可用,并且需要指定n_lags值,調用add_lagged_regressor函數注冊這些滯后回歸量:
m?=?m.add_lagged_regressor(names='A')https://neuralprophet.com/html/lagged-regressors.html
特性3:添加特殊事件
在預測問題中需要考慮重復發生的特殊事件,可以以加法格式和乘法格式添加:
m?=?NeuralProphet(n_forecasts=10,yearly_seasonality=False,weekly_seasonality=False,daily_seasonality=False,) m?=?m.add_events(["superbowl",?"playoff"])https://neuralprophet.com/html/events.html
特性4:對未來進行回歸
未來回歸量是具有已知未來值的外部變量,我們還需要提供回歸量的未來值:
df['A']?=?df['y'].rolling(7,?min_periods=1).mean() df['B']?=?df['y'].rolling(30,?min_periods=1).mean()m?=?NeuralProphet(n_forecasts=10,yearly_seasonality=False,weekly_seasonality=False,daily_seasonality=False,)m?=?m.add_future_regressor(name='A') m?=?m.add_future_regressor(name='B')https://neuralprophet.com/html/future-regressors.html
與Prophet實驗對比
訓練時間
訓練時間是Prophet的四倍,但預測非常快,上線部署如果有GPU更快!
模型選擇
數據量比較小、以及長序列預測比較適合用Prophet,其他情況都可以無腦選擇NeuralProphet
具體精度
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載黃海廣老師《機器學習課程》視頻課黃海廣老師《機器學習課程》711頁完整版課件本站qq群955171419,加入微信群請掃碼:
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【时间序列】NeuralProphet:Prophet的Pytorch实现!精度更高 预测更快 特性更多!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RTSP播放器开发填坑之道
- 下一篇: 【Python】Pandas数据排序实现