prophet 是facebook 开发的一个时间序列预测算法,基本思路是将时间序列分解并做拟合求解出的
1、Linux安装安装步骤
-
步骤 1: 安装依赖项
确保系统已经安装了以下依赖项: ```bash sudo apt-get update sudo apt-get install -y build-essential python3-dev sudo apt-get install -y libopenblas-dev liblapack-dev -
步骤 2: 安装Conda(如果未安装)
步骤 2: 安装Conda(如果未安装) # 下载Miniconda安装脚本 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh # 运行安装脚本 bash miniconda.sh # 按照提示安装,按照默认设置操作即可 # 删除安装脚本 rm miniconda.sh -
步骤 3: 创建并激活虚拟环境
# 创建一个新的Conda虚拟环境 conda create -n prophet-env python=3.7 # 激活虚拟环境 conda activate prophet-env -
步骤 4: 安装pystan
conda install pystan -
步骤 5: 安装 Prophet
# 安装 prophet conda install -c conda-forge prophet # 安装 jupyter conda install jupyter -
步骤 6: 验证Prophet是否安装成功
# 可以通过在 Python 解释器中导入 Prophet 来验证安装是否成功: python import prophet # 如果没有报错,说明安装成功。
2、windows安装Prophet
-
步骤 1: 安装anaconda
-
如果你尚未安装Anaconda,可以从Anaconda官网下载并安装最新版本。
- 详细下载配置流程请参考如下地址: blog.csdn.net/fan18317517…
-
-
步骤 2: 在anaconda prompt里,创建一个虚拟环境
-
在开始菜单中找到Anaconda Prompt,并以管理员身份运行。
-
创建并激活虚拟环境
-
在Anaconda Prompt中执行以下命令:
conda create -n prophet-env python=3.7 conda activate prophet-env
-
-
-
步骤 3: 安装pystan(Prophet的依赖项)
# 安装 pystan conda install -c conda-forge pystan -
步骤 4: 安装prophet
# 安装 prophet conda install -c conda-forge prophet # 安装 jupyter conda install jupyter -
步骤 5: 验证prophet
打开Python解释器(可以在Anaconda Prompt中执行
python命令),然后尝试导入Prophet和pystan:import prophet import pystan如果没有报错,说明安装成功。
3、 Windows10 pycharm 配置anaconda的Prophet环境
1.打开pycharm的 settings配置, 搜索python Interpreter,按如下图操作
2. 添加anaconda的配置环境,选择prophet的环境
3. 选择添加好的anaconda的prophet环境
4. jupyter配置anaconda的prophet环境
4、创建demo 测试
创建文件demo.ipynb
代码如下
# Python
# 引用包
import logging
import warnings
logging.getLogger('prophet').setLevel(logging.ERROR)
warnings.filterwarnings('ignore')
# 引用包
import pandas as pd
from prophet import Prophet
# 获取csv文件
# 读入数据集
df = pd.read_csv('https://raw.githubusercontent.com/facebook/prophet/main/examples/example_wp_log_peyton_manning.csv')
# Prophet 的输入量往往是一个包含两列的数据框:ds 和 y 。ds 列必须包含日期(YYYY-MM-DD)或者是具体的时间点(YYYY-MM-DD HH:MM:SS)。 y 列必须是数值变量,表示我们希望去预测的量。
# 打印显示文件数据
df.head()
# 拟合模型
m = Prophet()
m.fit(df)
# 通过对一个 Prophet 对象进行实例化来拟合模型,任何影响预测过程的设置都将在构造模型时被指定。接下来,就可以使用 fit 方法代入历史数据集来拟合模型,拟合过程应当花费 1 - 5 秒。
# 预测过程则需要建立在包含日期 ds 列的数据框基础上。通过使用辅助的方法 Prophet.make_future_dataframe 来将未来的日期扩展指定的天数,得到一个合规的数据框。默认情况下,这样做会自动包含历史数据的日期,因此我们也可以用来查看模型对于历史数据的拟合效果。
# 构建待预测日期数据框,periods = 365 代表除历史数据的日期外再往后推 365 天
future = m.make_future_dataframe(periods=365)
future.tail()
# predict 方法将会对每一行未来 future 日期得到一个预测值(称为 yhat )。如果你传入了历史数据的日期,它将会提供样本的模型拟合值。预测 forecast 创建的对象应当是一个新的数据框,其中包含一列预测值 yhat ,以及成分的分析和置信区间。
# 预测数据集
forecast = m.predict(future)
forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()
# 通过 Prophet.plot 方法传入预测得到的数据框,可以对预测的效果进行绘图。
fig1 = m.plot(forecast)
# 如果想查看预测的成分分析,可以使用 Prophet.plot_components 方法。默认情况下,将展示趋势、时间序列的年度季节性和周季节性。如果之前包含了节假日,也会展示出来。
# 预测的成分分析绘图,展示预测中的趋势、周效应和年度效应
fig2 = m.plot_components(forecast)
再详细的入门demo使用可以参考如下地址:blog.csdn.net/anshuai_aw1…
本文章共参考学习如下地址: