Facebook 宣布开源一款基于 Python 和 R 语言的数据预测工具――“Prophet”,即“先知”。取名倒是非常直白。

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

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

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

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

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

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

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

组成部分

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

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

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

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

用户设置的重要节日表。

Facebook支持python的开源预测工具Prophet的更多相关文章

  1. facebook开源的prophet时间序列预测工具---识别多种周期性、趋势性(线性,logistic)、节假日效应,以及部分异常值

    简单使用 代码如下 这是官网的quickstart的内容,csv文件也可以下到,这个入门以后后面调试加入其它参数就很简单了. import pandas as pd import numpy as n ...

  2. 目前比较流行的Python量化开源框架汇总(交易+风险分析工具)

     注:点击框架名称通往Github talib talib的简称是Technical Analysis Library,主要功能是计算行情数据的技术分析指标 numpy 介绍:一个用python实现的 ...

  3. Python的开源人脸识别库:离线识别率高达99.38%

    Python的开源人脸识别库:离线识别率高达99.38%   github源码:https://github.com/ageitgey/face_recognition#face-recognitio ...

  4. Python的开源人脸识别库:离线识别率高达99.38%(附源码)

    Python的开源人脸识别库:离线识别率高达99.38%(附源码) 转https://cloud.tencent.com/developer/article/1359073   11.11 智慧上云 ...

  5. python 各种开源库

    测试开发 来源:https://www.jianshu.com/p/ea6f7fb69501 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. 链接 sel ...

  6. 开源UML工具推荐

    1.StarUML StarUML是一个开源UML项目,可以开发快速,灵活,可扩展,多功能并且免费的UML/MDA平台.此项目运行在Win32平台之上.StarUML项目的目标是成为RationalR ...

  7. 2016年GitHub排名前20的Python机器学习开源项目(转)

    当今时代,开源是创新和技术快速发展的核心.本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们 ...

  8. 开源作业调度工具实现开源的Datax、Sqoop、Kettle等ETL工具的作业批量自动化调度

    1.阿里开源软件:DataX DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).HDFS.Hive.ODPS.HBase.FTP等各种异构数据源之间稳 ...

  9. Python交互K线工具 K线核心功能+指标切换

    Python交互K线工具 K线核心功能+指标切换 aiqtt团队量化研究,用vn.py回测和研究策略.基于vnpy开源代码,刚开始接触pyqt,开发界面还是很痛苦,找了很多案例参考,但并不能完全满足我 ...

随机推荐

  1. Session值的存储与删除

    private static void SetSession<T>(string key, T val) { HttpContext.Current.Session[key] = (T)v ...

  2. 时间序列 R 读书笔记 04 Forecasting: principles and practice

    本章開始学习<Forecasting: principles and practice> 1 getting started 1.1 事件的可预言性 一个时间能不能被预言主要取决于以下三点 ...

  3. android属性动画之ValueAnimator

    楼主前段时间做一个android项目,其中一个需求是需要制作一个动画,但是之前楼主没接触过android动画,所以在网上搜了下,并且也有人推荐可以试下用属性动画,所以我就百度了下属性动画怎么用,并顺便 ...

  4. 【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(一):WebDriverAgent安装

    此篇介绍如何安装WebDriverAgent,下一篇介绍facebook-wda库的安装使用以及自动化脚本的开发. 前言: 对于iOS的应用的测试,如果不需要用到图像识别,推荐使用这个项目facebo ...

  5. struts.properties文件

    此配置文件提供了一种机制来更改默认行为的框架.其实所有的struts.propertiesconfiguration文件中包含的属性也可以被配置在web.xml中使用的init-param,以及在st ...

  6. Eclipse 生成jar包

    Eclipse 生成jar包 打开 Jar 文件向导 Jar 文件向导可用于将项目导出为可运行的 jar 包. 打开向导的步骤为: 在 Package Explorer 中选择你要导出的项目内容.如果 ...

  7. 003android初级篇之【转】Android开发中颜色的定义方法

    正好用到颜色的定义,但脑子里没有记住具体,转载一篇加强印象 1.使用Color类的常量,如: int color = Color.BLUE; // 创建一个蓝色 是使用Android提供的颜色 int ...

  8. To Be a Dog Man

    作为一个多年的篮球爱好者,多年保持者对于足球的偏见. 也许不了解也是偏见開始的地方. 直到我最终看到了那个男人---梅西 梅西:一个犬人,一个病人 视频作者是阿根廷专栏作家Hernam Casciar ...

  9. NDK,在JNI层使用AssetManager读取文件

    NDK,二进制文件数据读取,在JNI层,通过AAssetManager读取asset内部的资源: 需要头文件的支持 #include <android/asset_manager_jni.h&g ...

  10. Caffe模型读取

    caffe模型最终保存使用过的protobuf形式,将一个已经训练好的caffe模型读取出来,可以参考如下: 1,包含的头文件: #include <google/protobuf/io/cod ...