支持Python!Facebook开源预测工具Prophet-程序员宅基地

技术标签: python  

Facebook 表示,Prophet 相比现有预测工具更加人性化,并且难得地提供 Python 支持。另外,它生成的预测结果足以和专业数据分析师媲美。

Facebook 把预测任务的流程用下图展示出来:

支持Python!Facebook开源预测工具Prophet

从图中可以看出,预测共分四个流程:建模,预测评估,表面问题和人工检查。

在建模阶段,当前可用的 Python 工具包寥寥无几。最广为人知的 “ forecast” ,谷歌开发的 CausalImpact, 以及推特的  AnomalyDetection,均是基于 R 语言。很显然,Facebook 想要改变这一点。

从 Facebook 官方声明来看,推出 Prophet,是希望用它来替代 forecast,成为最受欢迎的预测工具。雷锋网(公众号:雷锋网)了解到,相对于后者,Facebook 表示 Prophet 有两大优点:

  1. 开发合理、准确的预测模型更加直接。

    Prophet 包含许多预测技术,比如 ARIMA 和 exponential smoothing。每一项工具都有它的长处、短处和调节参数。Facebook 表示,选择不恰当的模型或参数会造成让人难以满意的结果;而即便是有经验的数据分析师在选择模型、参数上也经常遇到困难。言下之意是,Prophet 将着重改善这方面的体验,让模型、参数的选择更直观。

  2. 用 Prophet 做出的预测,能够以对普通人更加直观的方式进行定制。

    Prophet 有针对周期性的平滑参数(smoothing parameters for seasonality),允许开发者调整与历史周期的匹配程度。它还有针对趋势的平滑参数,能够调整对历史趋势变化的紧跟程度。对于增长曲线(growth curves),开发者能人工设置上限,即 capacities,把关于“该预测如何增长(或下降)”的先验信息注入进去。最后,开发者还能设置不规则日期,来对超级碗、感恩节、黑色星期五之类的特殊日子进行建模。

组成部分

在它的核心,Prophet 是一个可加回归模型(additive regression model),它有四个组成部分:

  1. 一个分段的线性或逻辑增长曲线趋势。Prophet 通过提取数据中的转变点,自动检测趋势变化。

  2. 一个按年的周期组件,使用傅里叶级数(Fourier series)建模而成。

  3. 一个按周的周期组件,使用虚拟变量(dummy variables)。

  4. 用户设置的重要节日表。

适用范围

雷锋网获知,Prophet 针对的是商业预测任务,适用于具备以下特征的场景:

  • 针对每小时、每天或每星期的观察频次,有至少数月(理想情况的一年)的历史记录。

  • 多重显著的“人类层级”周期性:星期X以及年份。

  • 日期间隔不规则的重要节日(比如超级碗),需要事先得知。

  • 观察缺失或是异常值在合理范围内。

  • 历史趋势变化,比如产品发布或者改写记录(logging changes)。

  • 符合非线性增长曲线的趋势,有天然上、下限或者饱和点。

想要进一步了解 Prophet 的读者,请参考以下链接:

Facebook 博客:https://research.fb.com/prophet-forecasting-at-scale/

使用指南:https://facebookincubator.github.io/prophet/docs/quick_start.html

文件:http://facebookincubator.github.io/prophet/





本文作者:三川
本文转自雷锋网禁止二次转载, 原文链接
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34198762/article/details/90428336

智能推荐

云计算系统大作业:北美五大职业体育联盟球队相关数据分析及预测——地理分布与成功指数_北美足球联盟球队-程序员宅基地

文章浏览阅读5.1k次,点赞16次,收藏17次。本实验中提到的“北美五大职业体育联盟”(以下简称“五大联盟”)包括传统的“北美四大职业体育联盟”和美国职业足球大联盟(MLS),其中,“北美四大职业体育联盟”由美国职业篮球联赛(NBA)、美国国家橄榄球联盟(NFL)、国家冰球联盟(NHL)以及美国职棒大联盟(MLB)组成。_北美足球联盟球队

戴尔服务器怎么win7系统安装系统,戴尔 DELLVostro3400能不能安装windows7系统_戴尔 DELLVostro3400怎么安装win7系统-win7之家...-程序员宅基地

文章浏览阅读4.3k次。刚买了一台戴尔 DELLVostro3400笔记本电脑,想安装windows7系统,但不知道能不能安装,也不知道装完win7系统之后系统运行的流畅不流畅,小编特意查了下戴尔 DELLVostro3400笔记本的相关信息,跟大家分析下这个能不能安装win7系统。我们先看下戴尔 DELLVostro3400笔记本电脑的相关配置参数:预装操作系统:LinuxCPU类型:酷睿双核i3处理器CPU型号:i3..._戴尔笔记本安装win7

MySQL Json类型支持通过虚拟列方式建立索引_mysql 为json列中的某字段创建虚拟列-程序员宅基地

文章浏览阅读1k次。背景* 在MySQL 5.7.8中,MySQL支持由RFC 7159定义的本地JSON数据类型,它支持对JSON(JavaScript对象标记)文档中的数据进行有效访问.* MySQL会对DML JSON数据自动验证。无效的DML JSON数据操作会产生错误.优化的存储格式。存储在JSON列中的JSON文档转换为一种内部格式,允许对Json元素进行快速读取访问.MySQL Json类型支持通过虚拟列方式建立索引,从而增加查询性能提升.Json 索引创建Json索引表 jso._mysql 为json列中的某字段创建虚拟列

attention 文字识别算法_支持40种语言的图片文字识别(OCR)项目-程序员宅基地

文章浏览阅读773次。Hi!大家好呀!我是你们努力的喵哥!OCR(光学字符识别)是我们日常很常用的人工智能技术。我们总会有从图片中提取文字的需求。你是不是有需要从图片复制文字的经历?手打是最低效的选择。我们可以使用 OCR 软件,直接将图片上的符号转化为对应的文字。那么,这里喵哥就要给大家推荐一个开源项目 EasyOCR。EasyOCR 并不是可以直接使用的软件(虽然它有一个演示网站),而是一个超级易于使用的 OCR ..._ocr 越南语 torch 模型

VLC视频直播低时延配置_vlc 缓冲时间设置-程序员宅基地

文章浏览阅读1.5k次,点赞3次,收藏7次。默认的VLC的播放时延是比较高的,一般是秒级别,默认配置的话,都是5秒左右,这种默认配置是为了利用缓存机制,使播放体验更加流畅,对于需要更低时延的播放测试的话,并不适合,需要调整一下配置项目,来降低时延:可以调整为50ms或网络质量好的话,直接调整为0ms。配置解码器的参数,或者使用gpu硬解或者cpu的解码线程数可以进一步降低时延!可以根据兴趣自行研究。若如上的时延是毫秒级别的,即可调整如上的vlc的配置,降低播放器引入的时延问题!// -analyzeduration 单位:微秒。工具->偏好设置->_vlc 缓冲时间设置

java/php/node.js/python学生课外兴趣班管理系统【2024年毕设】-程序员宅基地

文章浏览阅读21次。学生通过注册、登录到系统前台,可以对首页、兴趣班、系统公告、个人中心、后台管理的功能进行查看及操作;系统功能结构图是系统设计阶段,系统功能结构图只是这个阶段一个基础,整个系统的架构决定了系统的整体模式,是系统的根据。任何用户只要进入网站不需登录也可浏览到的信息,后台管理是针对已登录的用户看到满意的选课信息而设计的。用户信息的添加和管理,以及对课程名称管理、兴趣班管理、选课信息管理、系统管理,这些都是管理员的功能。个人中心、学生管理、课程名称管理、兴趣班管理、选课信息管理、系统管理。

随便推点

开源框架weiit-frame核心包解析-程序员宅基地

文章浏览阅读344次。weiit-frame框架核心支持:weiit-frame框架的核心包命名标准,三个标准:核心支持命名、资源支持命名、业务支持命名三种1、以weiit-support作为前缀的表示核心支持,核心支持的特点是约定了规范跟标准,不应该团队经常去改动。2、以weiit-resource作为前缀的表示资源支持,即工具类或者第三方支持的封装,可以改动对第三方的依赖配置。3、以weiit-business作为前缀的表示业务支持,即已经开发好的业务模块是否可以复用的问题,如果已经有编写封装好的业务,那就可以整理_weiit-frame

容器环境下JVM堆内存大小配置实践_-xx:+usecontainersupport-程序员宅基地

文章浏览阅读1.6k次。该参数通常在运行Java应用程序时与容器化平台集成时使用。在容器环境中,包括更好地处理内存、CPU和网络资源。在k8s等容器环境中运行java服务时,如果不配置堆内存大小,默认为RAM的1/4就会浪费pod内存资源,如果使用-Xms和-Xmx配置堆内存大小,固定的数值就显得非常不灵活。总之,启用UseContainerSupport参数可以,-XX:InitialRAMPercentage、 -XX:MaxRAMPercentage、-XX:MinRAMPercentage_-xx:+usecontainersupport

vue3中使用 wx-open-launch-app 标签及解决控制台警告的问题_vue3 wx-open-launch-app-程序员宅基地

文章浏览阅读1.8k次。在移动端h5中如何正确的使用 wx-open-launch-app 标签_vue3 wx-open-launch-app

Linux进程以及计划任务_linux启动项和计划任务-程序员宅基地

文章浏览阅读440次。本章主要介绍程序和进程的区别,如何查看进行,有多种方式进行查看;进程的启动方式,有多种启动方式,前台运行还是后台运行,如何互相调用前后台运行;设置周期性任务,一次性任务还是周期性任务怎么设置,怎么删除;如何删除一个进行,怎么删除,批量删除还是强制删除。2、进程在CPU及内存中运行的程序代码动态执行的代码每个程序可以创建一个或多个进程3、线程负责功能的运行多线程可同时运行多个任务有三种状态①就绪状态:在创建线程后存在等待cpu过来的执行的时间称为就绪状态②运行状态:当cpu过来执行就会转_linux启动项和计划任务

色温(Kelvin)到RGB的转换:算法和样例_色温转rgb-程序员宅基地

文章浏览阅读2.1w次,点赞18次,收藏66次。色温(Kelvin)到RGB的转换:算法和样例据我所知,还不太可能找到从色温到RGB转换的一个可靠的公式。虽然,有很多算法实现了类似的功能,但是,大多是都是从色温转换到XYZ颜色空间。这之后你再可以根据需要从XYZ空间在转换到RGB颜色空间。这种算法的一种实现方式你可以在这找到。很不幸的是,这种方式并不是真正意义上的数学公式,只是一种美化的..._色温转rgb

985 研究生入职电网 6 个月,牛客网面经下载,血与泪的总结_牛客的面经怎么下载-程序员宅基地

文章浏览阅读126次。什么是 RPC?RPC 原理是什么?什么是 RPC?RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如两个不同的服务 A、B 部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP 请求 当然可以,但是可能会比较慢而且一些优化做的并不好。 RPC 的出现就是为了解决这个问题。RPC 原理是什么? 服务消费方(client)调用以本地调用方.._牛客的面经怎么下载