我是靠谱客的博主 动人季节,最近开发中收集的这篇文章主要介绍时间序列预测算法----Prophet,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

上周同事在分享爬虫的过程中,说到了动态调度的难度在于网站的每天的更新的次数,然后我就想到关于时间序列的预测,是否可以解决这个问题。
关于时间序列的建模,AR,MA,ARMA等传统的算法已经很成熟,但是效果不是很好,facebook开源的工具Prophet效果就好很多

Github地址:
https://github.com/facebook/prophet
官方网址:
https://facebook.github.io/prophet/

prophet 所做的事情就是:
(1)输入已知的时间序列和对应的值(Prophet是单特征模型,输入只有两列,日期列必须被称为“ds”,数值列被称为“y”);

https
(2)输入需要预测的时间序列的长度,比如 periods 设置365,就表示预测365个新值;
(3)使用已经有的时间序列和对应值训练模型,并输出结果。
(4)输出结果包括目标值,上界和下界,等,还可以画出趋势曲线。
其中yhat为预测的结果,yhat_lower和yhat_upper分别是预测的下界和上界,给出了一个置信区间
其中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的全部内容,希望文章能够帮你解决时间序列预测算法----Prophet所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部