Windows/Linux 安装prophet 步骤

297 阅读4分钟

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

  • 步骤 2: 在anaconda prompt里,创建一个虚拟环境

    • 在开始菜单中找到Anaconda Prompt,并以管理员身份运行。

      WechatIMG35.jpg

    • 创建并激活虚拟环境
      • 在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,按如下图操作 WechatIMG37.jpg 2. 添加anaconda的配置环境,选择prophet的环境 WechatIMG38.jpg 3. 选择添加好的anaconda的prophet环境 1702952952863.jpg 4. jupyter配置anaconda的prophet环境 WechatIMG39.jpg

4、创建demo 测试

创建文件demo.ipynb

image-20231219105657558.png

代码如下
# 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…

本文章共参考学习如下地址:

blog.csdn.net/fan18317517…

blog.csdn.net/anshuai_aw1…