时序算法研究系列之Prophet安装(准备篇)

2023-11-19

前言

新开一个关于时序数据预测算法的系列博客。计划整理目前的时序数列的预测方法、原理、应用、心得等。

其中Prophet因为在安装时候踩了很多雷,所以专门开一个准备篇写安装过程,下一篇讲述具体应用。

目录

前言

Prophet 简介

方法一:

方法二:

方法三:

方法四:

方法五:


近期因工作需要做时序数据用到了Facebook 的 Prophet,感觉是一个非常不错的时间序列预测工具。个人理解fbprophet类似于STL分解思路,但是Prophet 在控制程度上操作跟灵活低耦合,模块化的操作在可解释性上比传统时序模型也更有优势。

Prophet 简介

Facebook 2017年开源了一个时间序列预测的算法叫做 fbprophet,它的官方网址与基本介绍来自于以下几个网站:

Github:https://github.com/facebook/prophet

官方网址:https://facebook.github.io/prophet/

论文名字与网址:《Forecasting at scale》

从官网的介绍来看,Facebook 所提供的 prophet 算法不仅可以处理时间序列存在一些异常值的情况,也可以处理部分缺失值的情形,还能够几乎全自动地预测时间序列未来的走势。

从论文上的描述来看,这个 prophet 算法是基于时间序列分解和机器学习的拟合来做的,其中在拟合模型的时候使用了 pyStan 这个开源工具,因此能够在较快的时间内得到需要预测的结果。

除此之外,为了方便统计学家,机器学习从业者等人群的使用,prophet 同时提供了 R 语言和 Python 语言的接口。从整体的介绍来看,如果是一般的商业分析或者数据分析的需求,都可以尝试使用这个开源算法来预测未来时间序列的走势。

有木有很心动?  是不是觉得相见恨晚?    有木有觉得自己马上就要变成数据分析师了? 

然后就可以愉快的按照官网的推荐安装了

                    Too young too simple ~

fbprophet的安装过程踩到很多雷,通过查阅资料才最终排雷成功。

为节省大家时间,将踩到的坑以及个人成功的方法进行整理与大家分享~

先说结论:注意版本! 注意版本! 注意版本!建议使用python3.5版本 或者用anconda建立虚环境。

通过Anconda本人测试了python3.5python3.6python3.7 目前py35环境装起来最方便。

方法一:

第一步:

pip install fbprophet

 

 

如果直接成功,恭喜欧皇体质,可以直接进入到下一篇应用篇了,后续不用再看。 

但是大概率会报错,错到哪里去也不知道,百度之,发现安装这个 fbprophet一定要先安装pystan。

好的我们进入下一步。

第二步:

pip install pystan

 这一步会有两种可能,一种可能直接成功,可以继续进行第三步。奈何本人非酋体质,系统提示安装pystan一定要先安装Microsoft visual 14.00 C++,什么鬼!然后上官网直接下载Microsoft visual 14.00 C++,结果公司网关屏蔽这个链接QAQ~~~

安装后直接 pip install pystan,期间经历了下载tar.gz的包,放在了指定目录下(如D:\)然后使用python setup.py install 

然后死得很难看QAQ ,不知道是不是下载了tar.gz的包对于 pip install pystan有没有影响了,总之成功了~

ps:在另一台电脑上直接pip install pystan成功了,这一步看来问题不大。

这里还发生了一个小插曲,在Win10安装时候突然conda源链接损坏了,报错

CondaHTTPError: HTTP 404 NOT FOUND for url <https://pypi.tuna.tsinghua.edu.cn/simple/noarch/repodata.json>
Elapsed: 00:00.032390

The remote server could not find the noarch directory for the
requested channel with url: https://pypi.tuna.tsinghua.edu.cn/simple

As of conda 4.3, a valid channel must contain a `noarch/repodata.json` and
associated `noarch/repodata.json.bz2` file, even if `noarch/repodata.json` is
empty. please request that the channel administrator create
`noarch/repodata.json` and associated `noarch/repodata.json.bz2` files.
$ mkdir noarch
$ echo '{}' > noarch/repodata.json
$ bzip2 -k noarch/repodata.json

You will need to adjust your conda configuration to proceed.
Use `conda config --show channels` to view your configuration's current state.
Further configuration help can be found at <https://conda.io/docs/config.html>.

可能是之前添加的下载镜像源导致的,问题不大。直接

  • 删除之前的镜像通道(实际上只用这个就行了)
  • 重新添加默认的镜像通道
conda config --remove-key channels
conda config --append channels conda-forge --append channels bioconda --append channels defaults

 import pystan 无误后继续下一步。

第三步:

这时候可以继续尝试下  pip install fbprophet ,如果安装成功,可以直接进入下一篇应用,没有成功请继续。

方法二:

如果电脑装有Anaconda可以换另一种方法:

conda install -c conda-forge fbprophet

 这种是博主遇到的最接近成功的方法了,因为屏幕显示真的安装成功了!!!!

然鹅,在import fbprophet时候,还是会遇到报错信息,卒~~~~

此时可以视具体的报错原因,进行修改。

方法三:

期间还尝试了git clone 源码安装包的方法

(py35) [chaijian@LY1F-R010608 ~]$ git clone https://github.com/facebook/prophet
正克隆到 'prophet'...
remote: Enumerating objects: 43, done.
remote: Counting objects: 100% (43/43), done.
remote: Compressing objects: 100% (32/32), done.
remote: Total 3373 (delta 23), reused 25 (delta 11), pack-reused 3330
接收对象中: 100% (3373/3373), 37.67 MiB | 546.00 KiB/s, 完成.
处理 delta 中: 100% (2074/2074), 完成.
(py35) [chaijian@LY1F-R010608 ~]$ ls
anaconda3  Callreason  cr_text  DATA  Git_lab  Order  pc  prophet  TrafficPredict-code  通话时长分析交接材料P2
(py35) [chaijian@LY1F-R010608 ~]$ cd prophet/
(py35) [chaijian@LY1F-R010608 prophet]$ ;s
-bash: 未预期的符号 `;' 附近有语法错误
(py35) [chaijian@LY1F-R010608 prophet]$ ls
CODE_OF_CONDUCT.md  docker-compose.yml  Dockerfile  docs  examples  LICENSE  Makefile  notebooks  python  R  README.md
(py35) [chaijian@LY1F-R010608 prophet]$ cd python/
(py35) [chaijian@LY1F-R010608 python]$ ls
fbprophet  LICENSE  MANIFEST.in  README.md  requirements.txt  scripts  setup.py  stan
(py35) [chaijian@LY1F-R010608 python]$ python setup.py install
running install
running bdist_egg
running egg_info
creating fbprophet.egg-info
writing fbprophet.egg-info/PKG-INFO
writing dependency_links to fbprophet.egg-info/dependency_links.txt
writing requirements to fbprophet.egg-info/requires.txt
writing top-level names to fbprophet.egg-info/top_level.txt
writing manifest file 'fbprophet.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'fbprophet/stan_model'
writing manifest file 'fbprophet.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/fbprophet
creating build/lib/fbprophet/stan_model
INFO:pystan:COMPILING THE C++ CODE FOR MODEL anon_model_888a84912910fa0a45b9d614b75bb8a8 NOW.
error: command 'gcc' failed with exit status 1

 显示缺少gcc编译环境,这时候可以(1)有root权限的话直接安装gcc环境就可以  经测试,sudo yum install python-devel 、sudo yum install libevent-devel、yum install python-tools也可以解决  (2)没有root权限的话,请告别这种方法。(gcc环境建议还是不要轻易更改,尤其是编译模式下极容易搞崩服务器)因为本人没有root权限,放弃了此种方法。

方法四:

刚才已经说过,其实主要报错还是因为python本身的版本问题报错,通过Anconda建立python3.5环境,然后conda install -c conda-forge fbprophet  一般没有问题。

方法五:

这个方法经本人测试无误,Win10、linux系统有anconda环境的都可以用。所谓的安装的包也就是一段段的python代码,在Anconda科学环境中,所以可以直接将安装好的fbprophet粘贴到正确的python环境包路径中就可以了,import时候可以看在新环境下缺少什么辅助包直接补充就行了。

 如图为作者将服务器中的fbprophet包直接拷贝到Win10系统中,经测试有效。

有需要的直接百度云下载就可以了,下载后解压到python的包的路径下“site-packages”这个文件夹下面。

需要的话直接百度云下载就可以了。链接:https://pan.baidu.com/s/1CyWIIH4NW1NTU4dAiFyqfg 密码:oucm

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

时序算法研究系列之Prophet安装(准备篇) 的相关文章

随机推荐

  • 《程序员的自我修养--链接、装载与库》学习笔记(一)

    本系列文章是 程序员的自我修养 链接 装载与库 电子工业出版社 一书的学习摘录笔记 本文是书中1 1至1 4部分 文章目录 基础概念 硬件 软件 基础概念 include
  • 前端开发必备

    Chrome调试css chrome开发工具workspace使用 chrome调试less
  • 源码编译安装opencv4.6.0,别的版本也行

    1 下载opencv4 6 0 系统 ubuntu 1804 64位 点我下载opencv 4 6 0 https codeload github com opencv opencv zip refs tags 4 6 0 指令下载 推荐
  • 实现三角形类Tri,数据成员包含三个Point类对象,实现判断两个三角形全等

    实现三角形类Tri 数据成员包含三个Point类对象 实现从屏幕输入三个点的坐标 用于构造Tri的一个对象 实现函数Cong 判断两个三角形是否全等 include
  • ffmpeg 判断关键帧

    当mp4的profile为high的时候 avpacket 1并不能判断是否是关键帧 很多不是的也被误判断成关键帧了 具体做法应该是 进一步判断字节 int is keyframe h264 AVPacket pkt printf 02x
  • 什么是javascript内存泄漏?以及解决方法

    什么是javascript内存泄漏 以及解决方法 一 什么是javascript内存泄漏 二 常见的内存泄漏 1 意外的全局变量 通常是变量未被定义或者胡乱引用了全局变量 2 计时器 3 闭包 4 事件监听未被移除 5 console lo
  • ESP32-AT指令学习笔记

    目录 前言 一 硬件和软件准备 二 使用步骤 1 下载固件 2 接线 总结 前言 针对 ESP32 芯片 实现了一些常用的 AT 指令集 链接地址为 ESP32 AT指令集 该指令集可用于用户 MCU PC 同 ESP32 进行交互 也适用
  • 数据库系统概论第五版课后习题答案第七章

    第七章 数据库设计 1 试述数据库设计过程 答 这里只概要列出数据库设计过程的六个阶段 l 需求分析 2 概念结构设计 3 逻辑结构设计 4 数据库物理设计 5 数据库实施 6 数据库运行和维护 这是一个完整的实际数据库及其应用系统的设计过
  • Spring总结

    1 Spring概述 1 1 简介 Spring 春天 gt 给软件行业带来了春天 2002年 Rod Jahnson首次推出了Spring框架雏形interface21框架 2004年3月24日 Spring框架以interface21框
  • 企业及个人如何有效防护网络攻击

    企业及个人如何有效防护网络攻击 众所周知 网络攻击手段有很多 让人眼花缭乱 防不胜防 其带来的危害和影响也非常之大 因此 如何防范网络攻击 成为大家关注的重点 本文为大家介绍一些防范网络攻击的小技巧 快来看看吧 1 对于个人来说 密码不少于
  • 赛事

    第25届中国机器人及人工智能大赛成功举办 2023年6月13日至14日 第二十五届中国机器人及人工智能大赛于海南科技职业大学成功举办 大赛由中国人工智能学会主办 共有来自清华大学 哈尔滨工业大学 中国科学技术大学 西安交通大学等500多所高
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • MATLAB实现CNN-LSTM卷积长短期记忆神经网络数据分类预测

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 内容介绍 一种基于长短时记忆网络和卷积神经网络的文本分类方法 首先 利用词向量将输入文本进行向
  • Win7 64位操作系统连接HP 1010打印机完美解决方案

    工作的第一天就遇到问题 新电脑无法连接老式的HP1010打印机 64位Windows7系统无法连接32位XP网络共享打印机 而32位WIN7就可以 这里分享个简单的解决方法 先去下载一个64位的打印机驱动 然后添加打印机 注意这里要添加的是
  • SQL---DML---ORDER BY排序检索子句的几种方式

    关系数据库设计理论认为 如果不明确规定排序顺序 则不应该假定检索出的数据的顺序有意义 为了明确地排序用SELECT语句检索出来的数据 可使用ORDER BY子句 排序一列数据 SELECT 列名1 FROM 表名 ORDER BY 列名2
  • 【2022年MathorCup大数据竞赛】B题:北京移动用户体验影响因素研究(四)(问题一的千余行代码整理)

    目录 代码整理 一 问题一附件1语音业务数据集处理代码 二 问题一附件2上网业务数据集处理代码 一 问题一附件1语音业务数据集处理代码 问题一附件1语音业务数据集处理代码 import numpy as np import pandas a
  • 打包前后端项目并部署至服务器

    1 打包前端项目 打包命令 npm run build 执行完命令后 会生成一个名为 dist 的文件夹 这个就是打包好的前端项目 2 打包后端项目 2 1 执行 maven 的 clean 删除项目编译创建的 target 文件夹 2 2
  • fastcgi 模块各个常用变量的意义

    nginx fasrcgi 模块的文档 http nginx org en docs http ngx http fastcgi module html fastcgi pass 设置FastCGI服务器的地址 将匹配到该location的
  • C语言程序的结构

    1 C语言程序主要由函数构成 函数是C语言程序的基本单位 一个C语言源程序必须有一个main函数 可以包含一个main函数和若干个其他函数 主函数可以调用其他函数 其他函数之间可以互相调用 但其他函数不能调用主函数 被调用的函数可以是系统提
  • 时序算法研究系列之Prophet安装(准备篇)

    前言 新开一个关于时序数据预测算法的系列博客 计划整理目前的时序数列的预测方法 原理 应用 心得等 其中Prophet因为在安装时候踩了很多雷 所以专门开一个准备篇写安装过程 下一篇讲述具体应用 目录 前言 Prophet 简介 方法一 方