美文网首页
fbprophet预言者的使用测试

fbprophet预言者的使用测试

作者: 曦宝 | 来源:发表于2019-01-04 17:19 被阅读42次

https://blog.csdn.net/qq_23860475/article/details/81354467

原博在这里

import pandas as pd
import numpy as np
from fbprophet import Prophet
import matplotlib.pyplot as plt


df = pd.read_excel('example_wp_peyton_manning.xlsx')
df['y'] = np.log(df['y'])
playoffs = pd.DataFrame({
  'holiday': 'playoff',
  'ds': pd.to_datetime(['2008-01-13', '2009-01-03', '2010-01-16',
                        '2010-01-24', '2010-02-07', '2011-01-08',
                        '2013-01-12', '2014-01-12', '2014-01-19',
                        '2014-02-02', '2015-01-11', '2016-01-17',
                        '2016-01-24', '2016-02-07']),
  'lower_window': 0,
  'upper_window': 1,
})
superbowls = pd.DataFrame({
  'holiday': 'superbowl',
  'ds': pd.to_datetime(['2010-02-07', '2014-02-02', '2016-02-07']),
  'lower_window': 0,
  'upper_window': 1,
})
holidays = pd.concat((playoffs, superbowls))  # 季后赛和超级碗比赛特别日期
m = Prophet(holidays=holidays)  # 指定节假日参数,其它参数以默认值进行训练
m.fit(df)  # 对过去数据进行训练
future = m.make_future_dataframe(freq='D',periods=365)  # 建立数据预测框架,数据粒度为天,预测步长为一年
forecast =m.predict(future)
m.plot(forecast)  # 绘制预测效果图
plt.show()
m.plot_components(forecast)  # 绘制成分趋势图
plt.show()

原博上的代码,我这里用来测试一下功能。
因为图片不能显示,闪退,我改了一点代码
运行结果如下

Initial log joint probability = -8.22805
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
      99       9754.87    0.00578108       1381.96           1           1      122   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     199       9782.15    0.00377384       666.677           1           1      229   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     299       9787.99   0.000453574        230.12      0.4708           1      341   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     399       9792.73    0.00082002        441.99      0.7395      0.7395      460   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     499        9796.1    0.00110105       162.415           1           1      575   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     576       9798.58   1.47631e-05       163.594   8.109e-08       0.001      716  LS failed, Hessian reset 
     599       9799.37    0.00529958       698.865           1           1      740   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     699       9801.22   2.23812e-05       63.8531           1           1      855   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     799       9801.78    0.00237766       463.774           1           1      972   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     831       9801.93   5.75156e-06       66.1005   6.997e-08       0.001     1053  LS failed, Hessian reset 
     899       9802.31   0.000111814       185.348     0.06377      0.6098     1134   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     926       9802.53   1.17466e-05       121.538   6.346e-08       0.001     1215  LS failed, Hessian reset 
     959       9802.76   8.95068e-06         96.06   7.093e-08       0.001     1304  LS failed, Hessian reset 
     999       9802.82   2.78071e-05       108.203     0.04923      0.9352     1355   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
    1099       9803.99    0.00139863       302.943           1           1     1466   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
    1199        9804.9   0.000434855       145.147           1           1     1589   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
    1278       9805.48   1.79259e-05       173.491   1.337e-07       0.001     1711  LS failed, Hessian reset 
    1299       9805.66    0.00045454       147.286           1           1     1738   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
    1399       9805.93   6.79296e-05       98.3221           1           1     1866   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
    1473       9806.04   2.18264e-05       182.704   1.669e-07       0.001     1993  LS failed, Hessian reset 
    1499       9806.05   0.000101355       111.128      0.5452           1     2030   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
    1508       9806.06   5.64245e-06        75.287   6.175e-08       0.001     2084  LS failed, Hessian reset 
    1522       9806.06   7.78665e-07       52.5976      0.9696      0.2839     2107   
Optimization terminated normally: 
  Convergence detected: relative gradient magnitude is below tolerance

Process finished with exit code 0

效果图如下


image.png
image.png
等过段时间,我缓缓在更新一波参数

我学习这个算法的时候其实是因为我老公忽悠我,说这个算法对时间序列表现优秀,但是我也在一些博客里看到了,只是比别的算法好一点而已,并不是特别优秀,我又在忧虑我公司那种刁钻的数据了,我试一下吧,再来更新一下。
----------------------------分割线--------------------------------------
我发现了一个有用的网址。
https://blog.csdn.net/wjskeepmaking/article/details/64905745

fbprophet目前仅支持以天为最小的时间粒度,下面这个网址介绍了修改代码,使得最小时间粒度变为小时。
https://blog.csdn.net/wjskeepmaking/article/details/65626872

相关文章

  • fbprophet预言者的使用测试

    https://blog.csdn.net/qq_23860475/article/details/8135446...

  • fbprophet的若干问题

    1、import fbprophet 后会提示:ERROR:fbprophet:Importing plotly ...

  • fbprophet导入问题

    问题 import fbprophet 后会提示:ERROR:fbprophet:Importing plotly...

  • fbprophet 安装

    环境centos7安装方式,conda ba'se 下pip install fbprophet一直遇到问题:Co...

  • fbprophet安装

    sudo pip install fbprophet 编译总是报如下错误:error: command 'gcc'...

  • NameError: name 'go' is not defi

    最近在学习fbprophet时,按照安装步骤,搭建好环境之后,使用官方教程进行学习。在执行到下面这句时报错 具体报...

  • mac版的fbprophet从安装到使用手册

    这篇是学习和使用笔记,参考内容比较多,没有很多原创,目的是希望大家快速入手这个包。fbprophet这个包是fac...

  • fbprophet报错:KeyError: '[] not fo

    近日在尝试使用fbprophet算法替换原来的ARIMA做时序预测,安装过程中踩过的坑先不提(后面有时间会另起一篇...

  • 第一章 win 7装prophet之泪

    环境:win 7、python 3.6、VS2015目标:装fbprophet   根据prophet的指导(自己...

  • 预言者之死

    【预言者之死】 很久以前,大地上曾有过一位预言者,他拥有与生俱来的神秘才能,既预知未来,也追溯过去。他从新生儿的号...

网友评论

      本文标题:fbprophet预言者的使用测试

      本文链接:https://www.haomeiwen.com/subject/lnskrqtx.html