前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >prophet快速开发教程

prophet快速开发教程

作者头像
lovelife110
发布2021-01-14 14:37:41
1.5K0
发布2021-01-14 14:37:41
举报
文章被收录于专栏:爱生活爱编程

一、windows环境安装prophet步骤

第一步安装Anaconda,配置相关环境变量,在命令行下执行

安装完Anaconda后配置清华镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes

查看配置 conda config --show

第二步安装C++ compiler,mingw-w64

prophet主要依赖pystan

PyStan windows环境要求: Python 2.7:不支持并行采样 Python 3.5或更高版本:支持并行采样 PyStan依赖C++编译器 PyStan针对mingw-w64进行了测试,该编译器适用于两个Python版本(2.7,3.x)并支持x86和x64

安装命令如下

conda install libpython m2w64-toolchain -c msys2

第三步安装PyStan

conda install pystan -c conda-forge

第四步安装fbprophet

conda install -c conda-forge fbprophet

二、prophet快速开发

demo代码:https://github.com/lilihongjava/prophet_demo/tree/master/quick_start

代码语言:javascript
复制
# encoding: utf-8
"""
@author: lee
@time: 2019/5/10 14:55
@file: main.py.py
@desc: 
"""
import pandas as pd
from fbprophet import Prophet
from pandas.plotting import register_matplotlib_converters


def main():
    df = pd.read_csv('./data/example_wp_log_peyton_manning.csv')
    print(df.head())
    m = Prophet()
    m.fit(df)

    future = m.make_future_dataframe(periods=365)
    print(future.tail())

    forecast = m.predict(future)
    print(forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail())

    register_matplotlib_converters()
    fig1 = m.plot(forecast)
    fig1.show()
    fig2 = m.plot_components(forecast)
    fig2.show()


if __name__ == "__main__":
    main()

三、API讲解

下面实例的数据使用的是佩顿 · 曼宁(前美式橄榄球四分卫)的维基百科主页上每日访问量(取对数)的时间序列数据(2007/12/10 - 2016/01/20)。这个数据集具有多季节周期性、不断变化的增长率和可以拟合特定日期(例如佩顿 · 曼宁的季后赛和超级碗)等 。

首先我们将导入数据:

df = pd.read_csv('../examples/example_wp_log_peyton_manning.csv') df.head()

实例化一个Prophet对象来拟合模型。预测过程的任何设置都将传递给构造函数。然后调用它的fit方法并传入数据。安装需要1-5秒。

m = Prophet() m.fit(df)

然后在dataframe(上面df)上进行预测,dataframe包含要进行预测的日期,按你希望预测的天数,将数据延伸(原数据是2007-12-10到2016-01-20,配置了365后数据延申至2017-01-19)。可以通过使用Prophet.make_future_dataframe方法指定天数。

future = m.make_future_dataframe(periods=365) future.tail()

predict方法将通过future变量为每个行指定一个名为yhat的预测值。forecast对象是一个新的dataframe,其中包含一个名为yhat的预测列,以及预测的上下边界"yhat_upper"、"yhat_lower" forecast = m.predict(future) forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()

可以通过调用Prophet.plot方法并传入数据来绘制预测图。 fig1 = m.plot(forecast)

上图是一个整体的预测结果图,它包含了从历史数据的时间起点到期望预测的未来时间终点的结果。图中的ds坐标表示时间,y坐标对应预测值。图中的黑点表示已知的历史数据,由图上我们很容易发现数据中的异常点,蓝色曲线表示模型的预测值。仔细查看蓝色曲线,我们可以发现,曲线轮廓的上下边界有浅蓝色区域,它表示模型预测值的上、下边界。在评估结果时,我们将蓝色曲线的预测值视作主预测值,上、下边界的预测值作为参考。

如果要查看预测组件,可以使用Prophet.plot_components方法。默认情况下,有trend,yearly和weekly图。如果你包括holidays,那也能显示出图来。 fig2 = m.plot_components(forecast)

参考资料:

https://facebook.github.io/prophet/docs/quick_start.html 官方文档快速开始

https://pystan.readthedocs.io/en/latest/installation_beginner.html pystan官方安装文档

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、windows环境安装prophet步骤
    • 第一步安装Anaconda,配置相关环境变量,在命令行下执行
      • 第二步安装C++ compiler,mingw-w64
        • 第三步安装PyStan
        • 第四步安装fbprophet
        • 二、prophet快速开发
        • 三、API讲解
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档