前言 :
最近在做时间序列预测的课题,经理让我了解一下prophet算法,所以就想着在win7环境下搞一套测试环境来,但是在网上搜了一些教程,各种血淋淋的字眼不禁让人望而却步,下面就把我的步骤记录一下。
环境背景:
我是Anaconda3的环境。
1.进入Navigator新创建一个环境,创建成功。
2.下载各种依赖
----sklearn----
点击apply
会出现以下显示,再次点击applay。
等待安装完成。。。。。。
----cython----
重复以上步骤~~
----pandas----
依旧同上~~~
----pystan----
----matplotlib----
3.安装fbprohet
最后就可以安装fbprohet了,这个算法包在anaconda里是找不到的,
1.打开prompt
2. 切换anaconda环境
activate prophetAndSklearn (prophetAndSklearn 这个是自己起的名字)
3.开始安装fbprophet(执行以下命令之一即可,推荐使用第一个)
conda install -c conda-forge fbprophet
conda install -c conda-forge/label/cf201901 fbprophet
conda install -c conda-forge/label/cf202003 fbprophet
万幸没有报错。
4.简单测试一下
注意一下,因为这次是在新创建的空间里安装的环境,所以python.exe的位置要搞清楚。
以我的举例,
Anaconda根目录envs ps:在这个目录下有你所有创建过的空间。
所以python.exe的位置在: Anaconda根目录envsprophetAndSklearnpython.exe
测试也在这个位置。运行exe
貌似是成功了。
5,将环境加入pycham里
随便创建一个python项目,或者导入一个之前的项目。
编译环境
File --> setting --> project
选择add
上图中的对号不要忘记点了。否则只有基础的python环境。
运行环境
选择和编译环境。
现在可以开始你的以第一个prophet小例子了。
import pandas as pd
import matplotlib.pyplot as plt
from fbprophet import Prophet
# 你自己的数据
path = 'E:异常点检测data'
df = pd.read_csv(path)
# 赋予列名字
columns = ['ds', 'y']
df.columns = columns
# 转换成时间格式
df.index = pd.to_datetime(df['ds'])
# 数据存在多个渠道,将各个渠道求和
df = df.resample('T').sum()
# 为了速度运算截取2天的数据
df = df['2019/11/10':'2019/11/13']
# 时间序列必须在字段里
df['ds'] = df.index
# 数据必须是两列,ds为时间序列,y为指标列
m = Prophet().fit(df)
future = m.make_future_dataframe(periods=50, freq='T')
fcst = m.predict(future)
fig = m.plot(fcst)
plt.show()
搞定!