Facebook的数据预测工具Prophet有何优势?用贝叶斯推理一探究竟

简介:

雷锋网按:上个月(2月23日),Facebook开源了一款基于 Python 和 R 语言的数据预测工具——“Prophet”(详细报道请看雷锋网此前文章 《支持Python!Facebook开源预测工具Prophet》)。本文则详细介绍了Prophet的贝叶斯推理实践,具体展示了研究人员把两个数据集用在Prophet上的运行效果。

如今,市面上已经许多Python 和 R语言可适用的时间序列预测模型了,那么Facehook的Prophet在这一领域又有什么优势呢?

Prophet在进行预测,其后端系统是一个概率程序语言Stan,这代表Prophet能发挥出很多贝叶斯算法的优势,比如说:

使模型具有简单、易解释的周期性结构;

预测结果包括才完全后验分布中导出的置信区间,即Prophet提供的是一个数据驱动的风险估计。

在下面研究中,研究者让Prophet对两组数据进行预测,在后端使用概率程序语言,读者可以借此看到使用Stan的一些工作细节。

Prophet使用了一种通用时间序列模型,这种模型可适用于Facebook上的数据,并且具有分段走向(piecewise trends)、多周期及弹性假期(floating holiday)三种特性。

Prophet的把时间序列预测问题转变成了一个曲线拟合练习(exercise)。在这个曲线中,因变量是增长、周期和holiday的总体表现。

增长(growth)

这一部分采用一个随时间变化的逻辑增长模型,属于非线性增长,所以,要用简单的分段常数函数来模拟线性增长。

用比率调整向量模拟分段点,每个分段点都对应一个具体的时间点。用拉普拉斯分布(Laplace distribution)模拟比率调整变量,位置参数(location parameter)设定为0。

Prophet 模型周期(periodic seasonality)

采用标准傅里叶级数。年、周的周期性(seasonality)近似值分别为20和6,周期性成分(seasonal component)在正常情况下是平滑状态。

假期(Holiday)

用一个指标函数来模拟。

使用者可以调节扩散参数(spread parameter),以模拟未来会有多少历史季节性变化(historical seasonal variation)。

Prophet的使用

用户在用Prophet时,不需要了解Stan代码,仅仅使用大家熟知的Python 或 R编程语言即可。

下面,研究者让它在一个周期性极强的数据集上运行(运行过程如下图所示)。

该数据集为摩纳哥夏威夷火山上测量的大气二氧化碳含量。

 

Facebook的数据预测工具Prophet有何优势?用贝叶斯推理一探究竟

 

设置好程序后,只用了几秒钟,模型就给出了下图所示的预测结果:

 

Facebook的数据预测工具Prophet有何优势?用贝叶斯推理一探究竟

 

Prophet很容易就探测到该数据以年为周期,并且长期增长的趋势。在这里要提一下,Prophet自带数据驱动的置信区间,这是概率编程系统的一个重要优点。

另外,Prophet也为时间序列的组成部分(例如一周中某天、或一年中的某天)提供了简单、易解释的预测结果,如下图所示:

 

Facebook的数据预测工具Prophet有何优势?用贝叶斯推理一探究竟

 

这里要注意的是,以周为单位的预测数据要比其他两个的数据小得多,而且噪点也更大。知道这一点非常有意义:这表明,在全球范围内,大气中化学物质的含量并不是以周为周期变化的;另外,年数据也显示出北半球植被对二氧化碳含量的影响:夏天过后含量降低,冬天过后含量升高。

出生数据

下面,研究人员让Prophet对一组更具挑战性的数据集(美国年出生人数)进行预测。

该数据集用高斯过程(雷锋网(公众号:雷锋网)注:也叫正态随机过程)进行分析,它同时具有周期性和“假期效果”。

 

Facebook的数据预测工具Prophet有何优势?用贝叶斯推理一探究竟

 

Prophet能够通过调整转折点平滑参数自动探测到转折点。研究者把转折点平滑参数设为0.1,而不是默认的0.05。这可使预测结果更灵活,更少平滑,但也更容易显示噪点。

Prophet用了大概1分钟来理解这些数据集下图中的黑点),然后给出了预测结果(下图中的蓝线)。

 

Facebook的数据预测工具Prophet有何优势?用贝叶斯推理一探究竟

 

Prophet预测出,出生率会在每年的八月到十月有所提高。

从下图中能看出,新年期间出生人数较少,而情人节期间则偏高。Prophet通过定义指示变量系列(indicator variable series),把这种一年某些天数据猛然增高的现象自动看做“holidays”,这个指示变量系列能说明(或预测)该点的数据是不是(或是否将是)一个假期。

 

Facebook的数据预测工具Prophet有何优势?用贝叶斯推理一探究竟

 

总结

以上概率程序报告中展示了Prophet在贝叶斯算法中的实践效果,结果发现:

开发者和数据员们能通过概率编程语言(例如Stan和pymc3),更容易地量化所有结果的概率值,而不仅仅是选出最有可能性的那一个;

在做预测时,它能为通用时间序列模拟合适的函数。但在模拟函数时,为了达到Prophet用户想要的效果,可能会牺牲一些灵活性;

Prophet使研究人员能更简单、快捷地运行Stan,省掉了使用Python和R的复杂;

Prophet的鲁棒性良好,作为一个概率程序产品,用户很容易就能上手。



   


 


  

本文转自d1net(转载)

目录
相关文章
|
26天前
|
机器学习/深度学习 数据可视化 算法
PACNet & CellNet(代码开源)|bulk数据作细胞分类,评估细胞命运性能的一大利器
PACNet和CellNet都是强大的工具,分别用于研究细胞命运工程和细胞类型保真度,它们在细胞类型分类和网络分析方面有所不同,可以根据研究需求选择合适的工具。
27 1
|
27天前
|
人工智能
MIT等首次深度研究集成LLM预测能力:可媲美人类群体准确率
【4月更文挑战第16天】研究人员集成12个大型语言模型(LLM)组成“硅基群体”,在预测比赛中与925名人类预测者对比。研究发现,LLM群体的预测准确性与人类群体无显著差异,且通过集成可抵消个体模型的偏差,提高预测准确。GPT-4和Claude 2等模型结合人类预测后,准确度提升17%至28%。然而,个别LLM预测精度不一,模型选择和校准度是提升预测性能的关键,同时LLM在时间跨度和现实场景适应性方面仍有挑战。
23 6
MIT等首次深度研究集成LLM预测能力:可媲美人类群体准确率
|
27天前
R语言LME4混合效应模型研究教师的受欢迎程度
R语言LME4混合效应模型研究教师的受欢迎程度
|
机器学习/深度学习 数据采集 传感器
机器学习实战系列[一]:工业蒸汽量预测(最新版本上篇)含数据探索特征工程等
在工业蒸汽量预测上篇中,主要讲解了数据探索性分析:查看变量间相关性以及找出关键变量;数据特征工程对数据精进:异常值处理、归一化处理以及特征降维;在进行归回模型训练涉及主流ML模型:决策树、随机森林,
|
9月前
|
机器学习/深度学习 人工智能 安全
调查分析两百余篇大模型论文,数十位研究者一文综述RLHF的挑战与局限
调查分析两百余篇大模型论文,数十位研究者一文综述RLHF的挑战与局限
240 0
|
11月前
|
机器学习/深度学习 人工智能 算法
OpenAI、谷歌双标玩得溜:训练大模型用他人数据,却决不允许自身数据外流
OpenAI、谷歌双标玩得溜:训练大模型用他人数据,却决不允许自身数据外流
|
12月前
|
机器学习/深度学习
斯坦福最新研究警告:别太迷信大模型涌现能力,那是度量选择的结果(2)
斯坦福最新研究警告:别太迷信大模型涌现能力,那是度量选择的结果
118 0
|
12月前
|
机器学习/深度学习 编解码 人工智能
斯坦福最新研究警告:别太迷信大模型涌现能力,那是度量选择的结果(1)
斯坦福最新研究警告:别太迷信大模型涌现能力,那是度量选择的结果
141 0
|
12月前
|
机器学习/深度学习 人工智能 缓存
连夜卷出 | 超越所有YOLO检测模型,mmdet开源当今最强最快目标检测模型!(二)
连夜卷出 | 超越所有YOLO检测模型,mmdet开源当今最强最快目标检测模型!(二)
458 0
|
12月前
|
Go 计算机视觉 开发者
连夜卷出 | 超越所有YOLO检测模型,mmdet开源当今最强最快目标检测模型!(一)
连夜卷出 | 超越所有YOLO检测模型,mmdet开源当今最强最快目标检测模型!(一)
431 0