简介:本文除了介绍RobustPeriod的核心技术亮点,还将重点解释如何将它构筑成服务来解决阿里云的业务痛点。
本文作者:张颖莹,文青松,孙亮,何凯,柯旻,蒋君伟
近日,由阿里云计算平台和阿里云达摩院合作的时序多周期检测相关论文RobustPeriod: Robust Time-Frequency Mining for Multiple Periodicity Detection被SIGMOD 2021 (Research Track)接收[1]。这也是阿里巴巴首次以第一单位在SIGMOD 的Research Track发表的论文。
ACM SIGMOD国际数据管理会议(ACM SIGMOD International Conference on Management of Data)由美国计算机协会(ACM)数据管理专业委员会(SIGMOD)发起,是数据库领域具有最高学术地位的国际性学术会议,其论文录取难度极高,SIGMOD位列数据库方向的三大顶级会议之首 (其次是VLDB及ICDE),被中国计算机学会(CCF)推荐为A类会议。本年度的SIGMOD会议将于2021年6月20日至2021年6月25日在中国西安召开。
本次工作是前沿算法与阿里云实际业务场景紧密结合落地的典型案例。论文提出的RobustPeriod是一套具有鲁棒性的时间序列多周期检测通用框架,它不仅在理论上具备创新性,同时基于它构筑的时间序列异常检测和预测服务支撑了阿里云大数据计算平台的多个业务场景。本文除了介绍RobustPeriod的核心技术亮点,还将重点解释如何将它构筑成服务来解决阿里云的业务痛点。
一、业务需求和难点
论文的灵感来源于阿里云大数据计算平台真实的业务场景需求。在大数据平台运维和运营的场景中,有很多需要监控的指标,例如机器的CPU、内存和存储使用率,批处理作业的运行时间,流式作业的吞吐量等。这些指标都属于时间序列,同时这些时间序列中可能存在一些重复出现的模式,即周期性。甚至在一条时间序列中可能存在多种周期性,例如某个作业的TPS曲线,可能既存在天周期,即每天的凌晨都是流量高峰;同时又存在周周期,即工作日相对流量较高,周末流量偏低。如果我们能够自动且精准地识别出每个指标中存在的各个周期,那么就能更高效地对这些指标进行异常监控,及时发现偏离周期性的异常点,甚至可以准确地对这些指标的未来每个时刻的走势进行预测,从而提前进行资源规划。因此,异常检测和预测是周期检测的两个典型应用。此外,由于周期也是时间序列的典型特征之一,该周期的检测和识别也能广泛应用于时间序列之间关系的建模。
图1. 大数据平台运维场景部分监控指标示例(注:图中红色部分表示数据缺失)
然而,对云监控指标进行周期检测并非易事。图1展示了一部分指标的示例,我们发现这类指标具有如下特点:
(1)由于时序数据的复杂性,周期检测受到时序数据中除周期成分外的其他的成分的干扰,包括了趋势的变化(如缓缓增长或下降的趋势),噪音和异常点,甚至由于业务特性或采集问题可能出现大段的数据缺失。图1最左上角还展示了类似『稀疏型』的周期性数据。
(2)天周期、周周期、年周期可能交织存在且存在一些特例,如很多数据集中都有长周末(正常周末2天+额外1天)的现象。
(3)由于涉及的业务场景繁多,不同曲线的业务背景、模式、粒度等都存在较大差异。难以人工设定一些先验的周期信息。
(4)双十一、618等大促,小长假等特殊情况都会对周期的判别造成干扰。
(5)随着业务的发展,周期性并非一成不变而是具有一定动态性。
上述特点给周期的识别带来了很大的挑战。我们需要一套高效鲁棒的通用算法框架,能够自动识别出任意一条时间序列中存在的周期数量,并且准确计算每个周期的长度。
二、RobustPeriod周期检测框架介绍
现有的周期检测算法主要集中在基于

最低0.47元/天 解锁文章
4028

被折叠的 条评论
为什么被折叠?



