时间序列的快速分组的制作方法

文档序号:9620898阅读:828来源:国知局
时间序列的快速分组的制作方法
【技术领域】
[0001] 本公开涉及数据分析的技术领域。
[0002] 背景
[0003] 时间序列形式的数据在许多领域中是常见的,这些领域包括科学、工程和商业。分 析一个或多个时间序列可以提供有价值的洞察。例如,管理在云中运行不同服务的数千机 器的操作工程师可以监视机器的CPU使用和存储器消耗。为了改善资源分配和容量规划, 操作工程师可以收集和分析表示一个或多个对应机器的CPU使用和存储器消耗的数据点 的一个或多个时间序列。因而,操作工程师可具有表示针对许多不同机器的CPU使用的许 多不同的时间序列。由于与不同时间序列相关联的大量数据,对于操作工程师而言,组织数 据并且跨许多不同机器来识别出模式或相似性是具有挑战性的。
[0004] 概述
[0005] 此处描述了提供以快速且高效的方式分析和分组时间序列数据集的实现。将多个 时间序列快速分组成各个群集可以使用若干技术来实现,即便在具有有限信息或不具有关 于多个时间序列的特性的先验知识的情况下。此类技术的示例包括通过多步采样、数据特 性估计、以及通过群集经采样集合来进行数据缩减。在一些实现中,用户可以通过选择粒度 水平来控制时间序列分组结果。较精细的粒度水平将输出较小大小的群集以及相对大量的 群集,其中在该群集中的时间序列对之间具有较小的最大距离。较不精细的粒度水平将输 出相对较大大小的群集。
[0006] 提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本 概述并不旨在标识出所要求保护的主题的关键特征或必要特征;也不旨在用于确定或限制 所要求保护的主题的范围。
[0007] 附图简述
[0008] 参考附图阐述详细描述。在附图中,附图标记最左边的数字标识该附图标记首次 出现的附图。在不同附图中使用同一附图标记指示相似或相同的项或特征。
[0009] 图1是解说根据一些实现的包括用于执行多个时间序列的分组的选择组件的示 例环境的框图。
[0010] 图2解说根据一些实现的显示时间序列的群集的示例。
[0011] 图3解说根据一些实现的显示时间序列的群集的示例。
[0012] 图4是根据一些实现的将多个时间序列分配到各个群集的示例过程的流程图。
[0013] 图5是根据一些实现的对多个时间序列进行分组的示例过程的流程图。
[0014] 图6是解说可以实现对多个时间序列的分组的代表性计算设备的框图。
[0015] 详细描述
[0016] 多个时间序列的快速分组
[0017] 本文描述的技术一般涉及对多个时间序列进行分组。如本文所使用的,时间序列 是一系列数值或数据点。例如,时间序列可以是按照与每一个值被收集的时间点相对应的 次序被存储或呈现的一系列值。时间序列数据集是至少两个时间序列的集合。在一些实现 中,时间序列数据集是一个或多个时间序列的集合。通过将多个时间序列组织到不同的组 中,可以更高效地分析这些时间序列。例如,具有类似特性或模式的两个或更多个时间序列 可以被组织到同一个组或群集中。在一些实现中,时间序列数据集中的每一时间序列具有 相同数目的数值或数据点。
[0018] 时间序列分析可涉及基于时间序列数据或单个值来进行数据透视(pivot)。数据 透视可涉及以下操作,诸如对照数据集来按类分组、排序、以及过滤,这些操作的结果可以 呈现在显示器上。例如,在系统管理域中,操作工程师可能对了解许多不同机器在某一时间 段期间的使用模式感兴趣。系统操作员可能希望理解机器子集的使用模式(例如CPU使 用),该机器子集可以是按单值属性(例如在机器上运行的服务类型)来过滤的机器集合。 在其他情形中,机器集合可以按照与时间序列属性相关联的特定类型的使用模式(例如, 存储器消耗模式或CPU使用模式)来过滤。因而,在一特定时间区间上展现出特定存储器 使用模式的机器可以被标识并且呈现给用户。
[0019] 在一些实现中,为了用时间序列属性或单值属性来启用数据透视,经由群集来获 得或标识时间序列属性的模式(例如,一天中数百万时间序列的CPU使用模式)。在一些 示例中,时间序列群集算法满足至少两个目标以便支持对多个时间序列的数据透视。第一 目标是为了使群集算法快速且可伸缩。为了支持与数据透视相关联的平滑用户体验,下划 线分析引擎对用户的数据透视具有实时或近乎实时的响应是重要的。数据集可能是极其大 的。例如,数据中心可具有数百万的机器,存在与每一机器相关联的时间序列。
[0020] 第二目标是为了使算法提供对具有未知特性的数据的群集或者对具有关于数据 特性的有限信息的数据的群集。可能难以确定数据集中时间序列模式的群体,诸如群集数 目和群集密度,因为数据在不同域中可能是不同的。此外,甚至在同一域中,不同时间序列 属性的特性也可能是不同的(例如,CPU使用、存储器消耗)。此外,一种类型的时间序列在 不同时间段可能具有不同的群集群体。
[0021] 为了使算法快速且可伸缩,可以使用多步采样来缩减标识群集中心的计算成本, 同时为群集中心标识保持足够的准确性。接着,可以使用局部性敏感散列(LSH)技术来对 照所标识的群集中心匹配数据集的每一时间序列并且将每一时间序列分配到最接近的群 集。在一些实现中,多步采样可包括至少两个步骤或过程。第一步骤是使用分段聚集逼近 (PAA)来执行数据维度缩减,或者其他合适的数据维度缩减技术,诸如离散傅立叶变换、离 散小波变换、以及离散余弦变换。在一些实现中,用于PAA的参数将由该算法来确定。第二 步骤是执行时间序列采样,这包括选择时间序列子集以作为近似来表示时间序列数据集分 布。在以上步骤之后,获得经采样的时间序列数据集,该数据集与原始时间序列数据集相比 具有降低的维度和更少的数据点。群集算法随后可被应用于经采样的时间序列数据集以便 获得群集中心集合。接着,实现局部性敏感散列(LSH)技术来对照所获得的群集中心匹配 数据集的每一时间序列以将每一时间序列分配到最接近的群集。可以代替LSH来使用其他 合适的匹配技术,诸如计算时间序列与所有时间序列群集中心之间的距离(例如,代替计 算时间序列群集中心的较小部分与匹配LSH值之间的距离,如上所述)。
[0022] 在一些实现中,为了在具有关于时间序列特性的有限知识或没有知识的情况下处 理各个时间序列,一种算法使用迭代办法来确定或估计群集群体,这可包括群集数目、每一 群集的中心、以及用于群集的距离阈值。在一些实现中,通过群集算法来确定大部分或所有 的群集参数。此外,在一些实现中,用户指定从粗到细的群集粒度水平,这将使得群集算法 分别输出相对较小数目的群集到输出相对较大数目的群集。在一些实现中,群集算法是高 度高效且高度可伸缩的。
[0023] 在一些实现中,时间序列数据集被定义为D= {TJ,i= 1,. . .,N,其中是时间 序列而N是D中的时间序列总数。时间序列T被定义为T= = 1,...,m,其中心是 数值而m是时间序列中数据点的数目。在一些实现中,D中的所有时间序列具有相同数目 的数据点。
[0024] 在一些实现中,可以定义用于时间序列群集的距离度量。在一些示例中,诸如在高 维度数据挖掘应用中,L1-范数可被使用,而非欧几里德距离度量(L2-范数)。因而在一些 实现中,L1-范数距离被用作距离度量。
[0025] 在一些实现中,给定时间序列数据集D和群集粒度水平(L= {1},1 = 1,2,..., 1_),一种算法输出时间序列的群集集合{Cu},其中|c」彡|c2|彡…彡|clnJ并且 ?I指示群集数目。在一些实现中,群集结果的质量作为基于Li-范数距离的目标函数J来达到实现最大值。
[0026] 示例环境
[0027] 图1是解说根据一些实现的包括用于执行多个时间序列数据的分组的选择组件 的示例环境100的框图。环境100包括数据存储102。数据存储102可包括适于数据存储 的任何类型的机器或存储设备。
[0028] 在所解说的示例中,环境100包括一个或多个服务器104,它们可各自包括一个或 多个处理器106和计算机可读介质108。处理器106和计算机可读介质108在下文更详细 地描述。
[0029] 环境100可包括执行此处描述的功能的各种模块和功能组件。在一些实现中,环 境100可包括用于将时间序列数据集112变换成特征向量集114的变换器模块110,如下文 更详细地描述的。此外,群集模块116可以选择特征向量集118的子集以生成时间序列群 集120,如下文更详细地描述的。在一些实现中,群集模块116构建一个或多个LSH表122, LSH表122用于生成时间序列群集120,如下文更详细地描述的。
[0030] 在一些示例中,由变换器模块110和群集模块116执行的功能连同其他功能可以 由一个模块执行或者由超过两个模块执行。下面讨论变换器模块110和群集模块116的附 加方面。此外,环境100可以经由网络126 (诸如因特网)互连到一个或
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1