介绍轨道,一个时间序列推理和预测的开源包

0.
介绍轨道,一个时间序列推理和预测的开源包

轨道是贝叶斯时间序列建模的一般界面。轨道开发团队的目标是创建一个易于使用,灵活,可读性和高性能(快速计算)的工具。在引擎盖下,轨道使用概率编程语言(PPL),包括但不限于斯坦烙黑对于后近近似(即MCMC采样,SVI)。下面是在灵活性和完整性方面的评估中定位几个时间序列相关包的象限图表。轨道是唯一允许简单的模型规范和分析的工具,同时不会将自身限制为小型模型子集。例如,先知有一个完整的端到端解决方案,但只有一种型号类型和Pyro具有总规范模型的灵活性,但不给出结束到终解决方案。因此,轨道桥接业务问题与统计解决方案之间的差距。

图1某些时间序列相关包的象限图表。X轴表示泛化和工具的能力,而Y轴表示特定模型实现的完整性。

Uber的时间序列预测有许多不同的用例,战略(长期)和战术(短期)。这个优步博客雷竞技到底好不好用邮政提供了这些用例的概述。其中许多不仅需要端到端的预测,而且还需要一个因果推断结构,以便提供解释性,量化不确定性,并执行什么情况分析。轨道可以提高这个过程的质量和效率。

轨道在优步营销数据科学团队中有广泛的应用,用于测量,规划和预测。主要用于测量子信道和日常粒度的各种营销杆的性能。

轨道使KPI时间序列易于分解成趋势,季节性和营销渠道效应。这种分解使得能够提供无偏见的预测和动态见解,包括营销渠道的成本曲线和ROA。预测是规划未来营销预算的重要组成部分,以及在不同渠道和地区的消费优化。

轨道可以同时利用多种格式的现实世界数据;即,并将来自先前实验的结果与多个同期数据的渠道合并。

图2动态显示使用扩展窗口方案在轨道中显示轨道的后退测试过程。

什么是轨道?

轨道代表O.BICT-O.R.欣赏B.ayeS.一世一个T.IME系列。它用于对现实案例和研究进行结构贝叶斯时间序列模型进行时间序列推断和预测。雷竞技是骗人的与许多其他ML使用情况一样,最佳模型结构在很大程度上取决于该特定用例和可用数据。确定一个适合良好模型的常见方法是尝试不同的模型类型,执行反向,并诊断它们的执行程度。具有一个持续的界面,用于执行所有这些任务,大大简化了我们确定给定用例的最佳模型的能力。

虽然Python生态系统中有充足的时间序列模型实现,但轨道旨在提供一致的Python接口,以简化贝叶斯时序建模工作流程,通过将一个命令链接到下图中的每个步骤。看看如何使用轨道?用于命令示例的部分。

图3概述了贝叶斯时间序列建模工作流程

我们遵循许多面向对象的设计模式以维持在之间的独立性估算器楷模。最终用户的意思是包使用中会有一致性来完成所需的用例。模型开发人员的意思是它们的焦点可以是模型的结构,而不是轨道接口或与底层PPL的交互。

图4更深入地看看轨道类关系

估算器是处理与PPL相互作用的课程,如STAN或PYRO。如果我们使用底层的PPL,它似乎不必实现此类,但是,除了每个PPL的细微差,用户还必须确定:

  • 是否执行点估计或样本全部分发
  • 用于抽样分发的算法
  • 用于点估计的汇总是什么样的聚合
  • 和各种算法微调配置

我们抽象了一些决定,允许一个模型撰写指定的估算器在其中。一种模型是模型结构的具体实现,以及如何在参数估计后进行推动。目前实施的是两个主要的模型类,名为本地全球趋势(LGT)和阻尼本地趋势(DLT),我们将在下面进一步详细讨论。我们发现,对于我们的用例,目前的两种模型实现相对于其他解决方案良好。轨道的一个重要目标是在保持一致的界面时快速结合新模型。此外,我们有用于回溯,诊断和可视化的模块,该可视化将从带有任何轨道模型对象的框中工作。具体而言,我们的包提供:

  • 具有巨大可扩展性的时间序列模型培训和预测的一般界面
  • 儿童课程为贝叶斯指数平滑模型的家庭
  • 数据加载器,用于快速访问时间序列数据集,具有不同的粒度
  • 丰富的诊断绘图工具
  • 一种通用的回溯实用程序
  • 超参数调整实用程序

如何使用轨道?

轨道的API是下降才能拥有类似的界面克里克特 - 学习(通用统计和机器学习模型建筑的De-Facto标准Python库)。使用DAMPED本地趋势(DLT)模型在轨道API中的示例工作流程如下:

有关更多详细信息,请阅读我们的快速入门指南文件页。

在模型培训之后,可以在方便的时候可视化预测。

图5实际V.S.由轨道产生的拟合图。黑点代表实际的培训数据点,橙色测试数据点。青色线与置信区间表示预测结果。

轨道还提供了丰富的绘图工具,可视化和诊断采样参数的后部分布和后探针的痕迹。

图6为拟合轨道模型一组诊断图。

轨道包还配备了通用的回溯实用程序,以评估时间序列预测性能。支持两种反向驱动方案:扩展窗口和滚动窗口。早期呈现的图2是一个动画,用于通过使用具有6个分割的扩展窗口方案来可视化预测结果。

一点数学

目前,我们在轨道中实施了两种主要类型的贝叶斯结构时间序列模型:

  • 季节性本地/全球趋势模型(LGT)
  • 阻尼当地趋势模型(DLT)

(通过轨道OO设计,开发人员可以创建自己的特定问题。)

LGT.

LGT模型是一种添加模型,具有以下预测方程式:

在哪里可以分别被视为水平,本地趋势,全球趋势,季节性和误差术语。

更新过程遵循三重指数平滑形式:

在哪里是平滑参数。它们将在MCMC采样过程中自动估计。

我们的LGT模型是一种基于Sybyl提出的乘法模型的变种rlgt.。其优于原始RLGT模型的优点是两倍:首先,计算对添加剂形式更有效;第二,在RLGT中是参数化的这引入了噪声产生的依赖性被精制为LGT的独立噪声。通过这种变化,它通过向量调度噪声生成过程来降低计算成本。

然而,LGT中的一个限制是它的假设。为了确保满足这种情况,需要这一点

DLT.

用于用例,我们提供一种替代 - 阻尼的本地趋势(DLT)模型,具有以下预测方程式:

类似地,更新过程遵循指数平滑形式:

我们为确定性的全球趋势提供灵活的选择:选项包括平面,线性,对数线或逻辑。DLT的另一个重要特征是回归分量的引入。这是在外源回归众所周知的,例如活动和假期时,这是北卡斯特或预测的目的。没有普遍性,人们可以假设:

除了正常分布之外,还有一套丰富的轨道包装中的前像素,包括套索,山脊和马蹄铁前锋。为了我们的知识,轨道是系统地为结构贝叶斯时间序列模型系统实施所有这些前锋的包装之一。

基准

为了评估与其他时间序列预测包相比的轨道站点,我们对丰富的数据集进行了全面的基准研究:

  • 优步骑士的第一次Trips系列(由城市的每周9个系列)
  • 优步的司机第一次旅行系列(由城市每周9个系列)
  • 优步们一阶系列(由国家/地区每日15系列)
  • M3比赛系列(1428个月系列)
  • M4比赛系列(359周次系列)

对称的均值百分比误差(闷气)被用作我们的性能指标。遵循比赛的建议,我们分别使用了13个预测地平线和18个预测地平线M4每周和M3每月系列1分裂;对于优步数据集,我们使用了13个预测地平线,3个分裂,每周行程系列和28个预测步骤,28个预测地平线,4个分裂和每日吃订单系列的14个增量步骤。

我们将轨道模型,LGT和DLT与其他流行的时间系列模型进行了比较,包括Sarima.和Facebook预言家。先知和轨道模型都使用最大的后验(地图)估计,它们在优化和季节性设置方面尽可能类似地配置。值得指出优步的数据集涵盖城市的Covid-19锁定时段。这对于测试模型如何在存在这种极端事件的情况下是有用的。基准性能表如下。轨道模型与其他模型相比表现出具有竞争力的结果,具有改善的度量范围从12%到60%。

表1模型平均血液比较。请注意,每个数据集具有最佳Smape度量标准的那个以粗体突出显示。括号内的值是标准偏差。

期待

我们已经介绍了与轨道相关的工作第40国际预测研讨会Stancon 2020.,我们收到了会议与会者的宝贵反馈。我们的下一个轨道项目的主要里程碑是推出更多专用贝叶斯时间序列模型。作为这项努力的一部分,我们将重点关注以下优先事项:

  • 基于内核的,时变系数贝叶斯时间序列模型的实现
  • 处理多变量时间序列的能力
  • 与超级UTER的ML平台集成米开朗基罗
  • 与之集成arviz贝叶斯模型的探索性分析

要了解更多关于轨道的信息,请务必退房回购GitHub.和我们的白皮书在arxiv。通过开放包装,我们期待更多来自其他优步数据科学团队和更广泛的数据科学界的合作和采用。

致谢

我们要感谢以下人员:

  • 雅典娜戴,默克斯湾, 和沙龙沉为了支持优步的许多用例中采用轨道。
  • Dirk Beyer.Gavin Steininger.有助于审查和编辑此博客文章。雷竞技到底好不好用
  • 肖恩·洛佩兹用于设计轨道的徽标。
  • Slawek Swyl.Fritz Obermeyer.作为贝叶斯预测顾问。
注释
上一篇文章 PPROF ++:具有硬件性能监控的GO Profiler
下一篇文章 优步的API Gateway的体系结构
Edwin NG是优步高级数据科学家,在那里他领导团队建立统计和机器学习模型,以支持营销中的测量和战略决策。作为第40届国际预测研讨会的从业者演讲,他被邀请在优步营销中提出概率预测。
Zhishi Wang是Uber营销数据科学团队的数据科学家。他主要根据时间序列研发,包装开发和模型平台化。
伊峰吴是营销DS团队的数据科学家。逸峰在建立创意优化平台上进行工作,使用因果推断的显示通道上的实时竞标策略。逸峰是轨道的贡献者。
景潘是营销数据科学团队的数据科学家。她专注于营销的目标,个性化,优化和因果推论。
Ariel江是Uber营销数据科学团队的数据科学家。她致力于规划和预测,边际利益和实验。
Steve Yang是Uber的前数据库。目前,史蒂夫在Facebook现实实验室的因因果推理和优化问题上进行了作用。作为完整的堆栈数据科学家,史蒂夫的工作包括将业务问题转化为统计和机器学习任务,工程数据管道,部署统计Python软件包和生产模型。