时间序列预测算法----Prophet
生活随笔
收集整理的這篇文章主要介紹了
时间序列预测算法----Prophet
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上周同事在分享爬蟲的過程中,說到了動態調度的難度在于網站的每天的更新的次數,然后我就想到關于時間序列的預測,是否可以解決這個問題。
關于時間序列的建模,AR,MA,ARMA等傳統的算法已經很成熟,但是效果不是很好,facebook開源的工具Prophet效果就好很多
Github地址:
https://github.com/facebook/prophet
官方網址:
https://facebook.github.io/prophet/
prophet 所做的事情就是:
(1)輸入已知的時間序列和對應的值(Prophet是單特征模型,輸入只有兩列,日期列必須被稱為“ds”,數值列被稱為“y”);
(2)輸入需要預測的時間序列的長度,比如 periods 設置365,就表示預測365個新值;
(3)使用已經有的時間序列和對應值訓練模型,并輸出結果。
(4)輸出結果包括目標值,上界和下界,等,還可以畫出趨勢曲線。
其中yhat為預測的結果,yhat_lower和yhat_upper分別是預測的下界和上界
實現代碼如下:
from fbprophet import Prophet import pandas as pd df = pd.read_excel('./test.xlsx') m = Prophet() m.fit(df) #這里預測是以天為維度 默認的是freq='D' , # freq: Any valid frequency for pd.date_range, such as 'D' or 'M'. 可以使用 pd.date_range定義任意的時間間隔 future = m.make_future_dataframe(periods=365) forecast = m.predict(future)dataFm = pd.DataFrame(forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']]) dataFm.to_csv('./res.csv')picter1 = m.plot(forecast) picter1.show() picter2 = m.plot_components(forecast) picter2.show()總結
以上是生活随笔為你收集整理的时间序列预测算法----Prophet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: class_create和class_d
- 下一篇: linux驱动之ioctl