CN105378714B - 时间序列的快速分组 - Google Patents
时间序列的快速分组 Download PDFInfo
- Publication number
- CN105378714B CN105378714B CN201380077452.3A CN201380077452A CN105378714B CN 105378714 B CN105378714 B CN 105378714B CN 201380077452 A CN201380077452 A CN 201380077452A CN 105378714 B CN105378714 B CN 105378714B
- Authority
- CN
- China
- Prior art keywords
- time series
- clusters
- feature vectors
- clustering
- computing devices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23211—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with adaptive number of clusters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/12—Classification; Matching
- G06F2218/16—Classification; Matching by matching signal segments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Evolutionary Biology (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在一些示例中,可以用快速且高效的方式来分析和分组时间序列数据集。例如,将多个时间序列快速分组到各个群集中可以通过数据缩减、确定群集群体、以及通过局部性敏感散列进行快速匹配来实现。在一些情景中,用户可以选择用于将时间序列分组到各个群集中的粒度水平,这可涉及群集数目与该群集中两个时间序列之间的最大距离之间的折衷。
Description
技术领域
本公开涉及数据分析的技术领域。
背景
时间序列形式的数据在许多领域中是常见的,这些领域包括科学、工程和商业。分析一个或多个时间序列可以提供有价值的洞察。例如,管理在云中运行不同服务的数千机器的操作工程师可以监视机器的CPU使用和存储器消耗。为了改善资源分配和容量规划,操作工程师可以收集和分析表示一个或多个对应机器的CPU使用和存储器消耗的数据点的一个或多个时间序列。因而,操作工程师可具有表示针对许多不同机器的CPU使用的许多不同的时间序列。由于与不同时间序列相关联的大量数据,对于操作工程师而言,组织数据并且跨许多不同机器来识别出模式或相似性是具有挑战性的。
概述
此处描述了提供以快速且高效的方式分析和分组时间序列数据集的实现。将多个时间序列快速分组成各个群集可以使用若干技术来实现,即便在具有有限信息或不具有关于多个时间序列的特性的先验知识的情况下。此类技术的示例包括通过多步采样、数据特性估计、以及通过群集经采样集合来进行数据缩减。在一些实现中,用户可以通过选择粒度水平来控制时间序列分组结果。较精细的粒度水平将输出较小大小的群集以及相对大量的群集,其中在该群集中的时间序列对之间具有较小的最大距离。较不精细的粒度水平将输出相对较大大小的群集。
提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征;也不旨在用于确定或限制所要求保护的主题的范围。
附图简述
参考附图阐述详细描述。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在不同附图中使用同一附图标记指示相似或相同的项或特征。
图1是解说根据一些实现的包括用于执行多个时间序列的分组的选择组件的示例环境的框图。
图2解说根据一些实现的显示时间序列的群集的示例。
图3解说根据一些实现的显示时间序列的群集的示例。
图4是根据一些实现的将多个时间序列分配到各个群集的示例过程的流程图。
图5是根据一些实现的对多个时间序列进行分组的示例过程的流程图。
图6是解说可以实现对多个时间序列的分组的代表性计算设备的框图。
详细描述
多个时间序列的快速分组
本文描述的技术一般涉及对多个时间序列进行分组。如本文所使用的,时间序列是一系列数值或数据点。例如,时间序列可以是按照与每一个值被收集的时间点相对应的次序被存储或呈现的一系列值。时间序列数据集是至少两个时间序列的集合。在一些实现中,时间序列数据集是一个或多个时间序列的集合。通过将多个时间序列组织到不同的组中,可以更高效地分析这些时间序列。例如,具有类似特性或模式的两个或更多个时间序列可以被组织到同一个组或群集中。在一些实现中,时间序列数据集中的每一时间序列具有相同数目的数值或数据点。
时间序列分析可涉及基于时间序列数据或单个值来进行数据透视(pivot)。数据透视可涉及以下操作,诸如对照数据集来按类分组、排序、以及过滤,这些操作的结果可以呈现在显示器上。例如,在***管理域中,操作工程师可能对了解许多不同机器在某一时间段期间的使用模式感兴趣。***操作员可能希望理解机器子集的使用模式(例如CPU使用),该机器子集可以是按单值属性(例如在机器上运行的服务类型)来过滤的机器集合。在其他情形中,机器集合可以按照与时间序列属性相关联的特定类型的使用模式(例如,存储器消耗模式或CPU使用模式)来过滤。因而,在一特定时间区间上展现出特定存储器使用模式的机器可以被标识并且呈现给用户。
在一些实现中,为了用时间序列属性或单值属性来启用数据透视,经由群集来获得或标识时间序列属性的模式(例如,一天中数百万时间序列的CPU使用模式)。在一些示例中,时间序列群集算法满足至少两个目标以便支持对多个时间序列的数据透视。第一目标是为了使群集算法快速且可伸缩。为了支持与数据透视相关联的平滑用户体验,下划线分析引擎对用户的数据透视具有实时或近乎实时的响应是重要的。数据集可能是极其大的。例如,数据中心可具有数百万的机器,存在与每一机器相关联的时间序列。
第二目标是为了使算法提供对具有未知特性的数据的群集或者对具有关于数据特性的有限信息的数据的群集。可能难以确定数据集中时间序列模式的群体,诸如群集数目和群集密度,因为数据在不同域中可能是不同的。此外,甚至在同一域中,不同时间序列属性的特性也可能是不同的(例如,CPU使用、存储器消耗)。此外,一种类型的时间序列在不同时间段可能具有不同的群集群体。
为了使算法快速且可伸缩,可以使用多步采样来缩减标识群集中心的计算成本,同时为群集中心标识保持足够的准确性。接着,可以使用局部性敏感散列(LSH)技术来对照所标识的群集中心匹配数据集的每一时间序列并且将每一时间序列分配到最接近的群集。在一些实现中,多步采样可包括至少两个步骤或过程。第一步骤是使用分段聚集逼近(PAA)来执行数据维度缩减,或者其他合适的数据维度缩减技术,诸如离散傅立叶变换、离散小波变换、以及离散余弦变换。在一些实现中,用于PAA的参数将由该算法来确定。第二步骤是执行时间序列采样,这包括选择时间序列子集以作为近似来表示时间序列数据集分布。在以上步骤之后,获得经采样的时间序列数据集,该数据集与原始时间序列数据集相比具有降低的维度和更少的数据点。群集算法随后可被应用于经采样的时间序列数据集以便获得群集中心集合。接着,实现局部性敏感散列(LSH)技术来对照所获得的群集中心匹配数据集的每一时间序列以将每一时间序列分配到最接近的群集。可以代替LSH来使用其他合适的匹配技术,诸如计算时间序列与所有时间序列群集中心之间的距离(例如,代替计算时间序列群集中心的较小部分与匹配LSH值之间的距离,如上所述)。
在一些实现中,为了在具有关于时间序列特性的有限知识或没有知识的情况下处理各个时间序列,一种算法使用迭***法来确定或估计群集群体,这可包括群集数目、每一群集的中心、以及用于群集的距离阈值。在一些实现中,通过群集算法来确定大部分或所有的群集参数。此外,在一些实现中,用户指定从粗到细的群集粒度水平,这将使得群集算法分别输出相对较小数目的群集到输出相对较大数目的群集。在一些实现中,群集算法是高度高效且高度可伸缩的。
在一些实现中,时间序列数据集被定义为D={Ti},i=1,...,N,其中Ti是时间序列而N是D中的时间序列总数。时间序列T被定义为T={ti},i=1,...,m,其中ti是数值而m是时间序列中数据点的数目。在一些实现中,D中的所有时间序列具有相同数目的数据点。
在一些实现中,可以定义用于时间序列群集的距离度量。在一些示例中,诸如在高维度数据挖掘应用中,L1-范数可被使用,而非欧几里德距离度量(L2-范数)。因而在一些实现中,L1-范数距离被用作距离度量。
在一些实现中,给定时间序列数据集D和群集粒度水平(L={1},1=1,2,...,1max),一种算法输出时间序列的群集集合C1={C1,i},其中|C1|≥|C2|≥…≥|C1max|并且|·|指示群集数目。在一些实现中,群集结果的质量作为基于L1-范数距离的目标函数J来达到实现最大值。
示例环境
图1是解说根据一些实现的包括用于执行多个时间序列数据的分组的选择组件的示例环境100的框图。环境100包括数据存储102。数据存储102可包括适于数据存储的任何类型的机器或存储设备。
在所解说的示例中,环境100包括一个或多个服务器104,它们可各自包括一个或多个处理器106和计算机可读介质108。处理器106和计算机可读介质108在下文更详细地描述。
环境100可包括执行此处描述的功能的各种模块和功能组件。在一些实现中,环境100可包括用于将时间序列数据集112变换成特征向量集114的变换器模块110,如下文更详细地描述的。此外,群集模块116可以选择特征向量集118的子集以生成时间序列群集120,如下文更详细地描述的。在一些实现中,群集模块116构建一个或多个LSH表122,LSH表122用于生成时间序列群集120,如下文更详细地描述的。
在一些示例中,由变换器模块110和群集模块116执行的功能连同其他功能可以由一个模块执行或者由超过两个模块执行。下面讨论变换器模块110和群集模块116的附加方面。此外,环境100可以经由网络126(诸如因特网)互连到一个或多个客户端124以便访问数据存储102和服务器104。此外,一个或多个服务器104可以经由环境100内的内联网基础结构(例如局域网128)互连。在一些实现中,计算机可读介质108中的一些信息或所有信息被存储在数据存储102中。
在一些实现中,群集模块116可以收集对应于多个计算设备的多个时间序列,其中多个时间序列中的每一者包括一系列数值,这些数值表示计算设备之一在一时间段期间的资源消耗。例如,群集模块116可以收集对应于服务器104中的两个或更多个服务器的时间序列,其中每一个时间序列表示服务器的资源消耗,诸如存储器使用、CPU使用、或电力使用。
时间序列群集的示例
图2解说根据一些实现的显示时间序列的群集的示例。在该示例中,时间序列群集202被呈现在显示器上,诸如监视器或适于呈现图形输出的其他设备(例如客户端124上的显示器)。时间序列群集202包括三个不同的时间序列,其中的每一个表示一不同的计算设备的存储器使用百分比。在该示例中,Y轴204对应于存储器使用,而X轴206对应于时间,其中时间向右递增。因而,群集模块116可以呈现多个群集中的至少一个群集的图形表示以指示一个或多个计算设备在该时间段期间的资源消耗(例如,存储器使用、CPU使用)。在该示例中,群集模块116呈现指示三个不同的计算设备的资源消耗的群集。
在该示例中,时间序列群集202的所有三个时间序列展现出类似的存储器使用模式,大致在25%到75%之间变化。在一些实现中,群集模块116基于此处所述的技术对三个时间序列进行分组以形成时间序列群集202。在一些实现中,更少或更多数目的时间序列被包括在时间序列群集202中。例如,时间序列群集202可包括100个不同的时间序列,其中的每一个时间序列都被显示。在一些实现中,用户可以选择时间序列群集202中要被显示的时间序列子集。在一些实现中,在用户选择了作为子集要被显示的时间序列的数目之后,群集模块116从时间序列群集302中随机地选择该数目个时间序列以供显示。在一些实现中,也可在同时显示一个或多个附加的时间序列群集,从而允许用户在不同群集以及每一群集内的不同时间序列之间作出视觉比较。
图3解说根据一些实现的显示时间序列的群集的示例。在该示例中,时间序列群集302被呈现在显示器上,诸如监视器或适于呈现图形输出的其他设备。时间序列群集302包括三个不同的时间序列,其中的每一个表示一不同的计算设备的存储器使用百分比。如图2中那样,Y轴304对应于存储器使用,而X轴306对应于时间,其中时间向右递增。
在该示例中,时间序列群集302的所有三个时间序列展现出类似的存储器使用模式,大致在0%到50%之间变化。在一些实现中,群集模块116基于此处所述的技术对三个时间序列进行分组以形成时间序列群集302。在一些实现中,更少或更多数目的时间序列被包括在时间序列群集302中。例如,时间序列群集302可包括100个不同的时间序列,其中的每一个时间序列都被显示。在一些实现中,用户可以选择时间序列群集302中要被显示的时间序列子集。在一些实现中,在用户选择了作为子集要被显示的时间序列的数目之后,群集模块116从时间序列群集302中随机地选择该数目个时间序列以供显示。在一些实现中,也可在同时显示一个或多个附加的时间序列群集,从而允许用户在不同群集以及每一群集内的不同时间序列之间作出视觉比较。
对多个时间序列进行分组以形成群集
在一些实现中,群集模块116实现群集算法以自动估计或确定时间序列数据集的群集的群体。群集的群体可以由群集数目、每一群集的中心、以及每一群集的直径来反映。在确定群集群体之后,每一时间序列被分配到一群集,该时间序列离该群集中心具有与离其他群集中心的距离相比最小的距离。
在一些示例中,用三个步骤来执行用于估计群集群体的从粗到细的办法。在第一步骤中,从完整的时间序列数据集中随机采样时间序列子集。经采样的时间序列子集可以仍然反映完整时间序列数据集的特性。因而,在一些示例中,每一群集可在经采样集合中具有一些代表,而大群集在经采样集合中可具有较大数目的时间序列。在第二步骤中,变换器模块110将经采样子集的原生时间序列数据变换到带有缩减维数的代码空间(例如,通过利用PAA和符号聚集逼近(SAX))。在该代码空间中,彼此接近的时间序列将具有相同代码或相似代码。在一些示例中,与不同数目的时间序列相关联的经排名的代码列表可以通过对代码分组来获得。与相同代码相关联的所有时间序列可以被视为时间序列社区,因为它们“大致”彼此接近。相反,具有不同代码的时间序列“大致”彼此远离。从而,时间序列群体中的大多数落入前几名的社区中。
在第三步骤中,群集模块116从前几名的社区来估计或确定真实群体。首先,群集模块116估计用于表示每一社区的中央时间序列以及前几个社区之间的距离上限dmax。接着,群集模块116用在范围[0,dmax]之间的距离阈值的经采样值集合来对前几个社区的这些中心时间序列进行群集。通过检查以不同距离阈值获得的群集的质量,包括群集数目和群集的内部质量,群集模块116可以确定与群集结果的最佳质量相关联的距离阈值范围以及其他群集群体信息。群集模块116接着可以构建恰适距离阈值与不同粒度水平之间的映射。
在一些实现中,为了使算法快速且可伸缩,以不同的数据缩减率来实现两个特征空间。因而,变换器模块110利用PAA和SAX来估计时间序列的大致社区。通过仅应用PAA来进行数据缩减实现最终群集,这可比在原生时间序列空间上工作要快得多,同时保持了可接受的准确性。在一些实现中,群集模块116实现LSH来加速将每一时间序列分配到其最接近的时间序列群集的过程。使用LSH,不必计算时间序列与时间序列群集的所有中心之间的距离,而是仅需要计算匹配LSH值的一小部分时间序列群集中心。因而,群集算法可以更快且更高效地实现。
图4是根据一些实现的将多个时间序列分配到各个群集的示例过程400的流程图。在步骤402,给定时间序列数据集112,变换器模块110实现数据变换。变换器模块110确定最佳PAA参数,该最佳PAA参数是每一时间序列将被划分到其中的同等大小片段的数目。响应于确定最佳PAA参数,变换器模块110使用PAA将原生时间序列数据变换到特征向量空间中以生成特征向量集114。在步骤404,群集模块116估计群集参数。群集模块116在经采样的数据集中使用迭***法以估计群集参数,包括群集数目、每一群集的中心、以及针对每一粒度水平的距离阈值。基于所生成的特征向量集114和在步骤404生成的中心,在步骤406,群集模块116为所有中心构建LSH表122。
在步骤408,群集模块116基于LSH表122来实现群集以生成时间序列群集120。群集模块116使用LSH表122来对照所有的时间序列中心匹配每一时间序列。如果一群集的中心在所有中心之中与时间序列具有最小距离并且该距离小于距离阈值,则该时间序列被分配到该群集。因而,特定群集可包括在一个或多个方面比其他群集的其他时间序列彼此更相似的多个时间序列。在一些实现中,时间序列群集的中心是其值为该群集内的所有时间序列的平均值的时间序列。
PAA参数的确定
给定一时间序列数据集,变换器模块110将时间序列数据集112变换到与原生时间序列数据相比具有低得多的维度的特征空间中。将数据变换到具有较小维度的特征向量集114中可以极大地降低计算成本。在一些实现中,通过PAA来实现数据缩减。为了将PAA应用于时间序列数据集112,可以确定将每一时间序列划分到其中的片段数目。对于不同的数据集,恰适的片段数目可以变化。
其中M表示同等大小的片段的数目,而m表示时间序列中数值的数目。
对于给定时间序列数据集的M的最佳值取决于各个因素,诸如期望的数据缩减率和数据缩减误差。较小的M将导致较大的数据缩减率和较大的数据缩减误差。作为对比,较大的M将导致较小的数据缩减率和较小的数据缩减误差。为了使用户作出关于M值的知情决策,可以开发用于测量数据缩减误差和数据缩减率的模型。
在一些实现中,PAA对时间序列的效应可以在频域中被分析。PAA与使用低通滤波器具有相似性,因为PAA使用片段的平均值来表示原始时间序列。时间序列的高频分量将通过平滑操作(例如,对每一片段求平均)来缩减。每一片段的长度(例如m/M)确定低通滤波器的截止频率。
在一些实现中,大的M对应于短平滑窗口(例如片段),这导致高的截止频率。在一个极端,如果M=m,则截止频率等于原始时间序列的频率上限,并且数据缩减误差和数据缩减率两者均为零。在另一极端,如果M=1(例如,使用平均值来表示时间序列),则数据缩减率为1-1/m而数据缩减误差为时间序列中的数据的方差。因此,选择M的合适值涉及数据缩减误差和数据缩减率之间的折衷。
在一些实现中,基于功率谱的算法用于确定M的值,以便确保至少一些或大部分时间序列与在实现PAA之后相比具有小的均方误差。因为PAA可以被建模为低通滤波器,根据信号处理理论,在PAA之后经变换的时间序列与原始时间序列之间的均方误差近似等于低通滤波器所抑制的高频(例如,超过截止频率)分量的能量。
因此,时间序列的功率谱可以被计算,并且可以选择合适的截止频率以使得对于极大百分比(高于阈值β的比例)的时间序列,低频(低于截止频率)分量的能量将维持原生、原始时间序列的能量的极大百分比(高于阈值α的比例)。对应于截止频率的M值接着可被计算。这一规程在下面更详细地描述。
第一,变换器模块110基于功率谱分析来确定每一时间序列的截止频率。对于时间序列T={ti},i=1,...,m,变换器模块110使用离散傅立叶变换(DFT)来将时间序列分解成具有不同频率的复正弦波集。DFT变换为:
被保持能量的比率(其频率低于k0的分量的能量)不低于α。换言之,从原始时间序列T到低频时间序列T’(例如仅由其频率不大于k0的分量组成的时间序列)的损失能量的比率(例如均方误差)不超过(1-α)。使得α的值确保低频时间序列具有原始时间序列的令人满意的逼近,变换器模块110可以根据公式(1)来计算截止频率k0。
接着,变换器模块110收集时间序列的截止频率,按照升序来布置它们,并且将截止频率的β百分点值选为最终截止频率(cf)。在一些实现中,cf被选为保证时间序列的β百分点值保持大于低频分量中α百分比的能量(例如,≤cf)。
根据一些实现,变换器模块110接着确定片段的数目M为2*cf。根据信号处理中的采样理论,对于其最高频率为cf的低频序列,该序列可以从以采样率2*cf来采样的数据中进行重构。由于低频序列是对原始时间序列的良好逼近,所以相同的采样率2*cf被用于对原始时间序列T进行采样。因而,T被划分成2*cf个片段。最后,变换器模块110使用平均值来表示每一片段。
群集群体的确定
在使用PAA将时间序列数据集112变换到特征空间之后,群集模块116确定或估计群集群体,包括群集数目、每一群集的中心、以及群集直径。首先,群集模块116从完整时间序列数据集112中随机采样时间序列子集。经采样集合的群体将类似于完整数据集的整个群体。由于现实世界中的数据集通常具有低本征维度,群集模块116可以确定与完整数据集的群体相类似的恰适样本数。在一些示例中,当群集数目的范围在2到100时,用户可以满意于时间序列数据集的群集结果。此外,当实现数据透视时,用户可能期望查看较小数目的组(例如,从2个到100个组)。在一些实现中,群集模块116选择约10000个样本数。在其他实现中,可以由群集模块116选择更小或更大数目的样本。从完整数据集D中随机采样的时间序列数据集被表示为Dsam={Ti},i=1,...,N0。
在一些实现中,为了确定群集群体或获得对群集群体的大致估计,群集模块116使用SAX来获得时间序列数据集的码元表示。通过实现SAX以进行时间序列分析,群集模块116缩减了要被处理的数据量。实现SAX将由PAA获得的特征向量进一步离散化成符号序列。如上所讨论的,具有m个数值的时间序列T可以通过PAA被映射到具有M个数值的向量向量可以由SAX通过将M个数值编码成M个码元被进一步变换成带有M个码元的新向量S=S1,...,SM,Si从映射。在一些实现中,码元空间的基数是相对小的(例如,从2到10)。在一些实现中,基数2或3是足够的。在一些实现中,如果码元空间的基数为卡(card),则完整范围的可能值将被分到卡片段。数值将基于该值所落入片段的索引被编码为卡码元之一。
在一些实现中,每一时间序列可以被认为是较高维度空间中的一个点。SAX用于将该空间划分成一系列子区域并且通过考虑每一子区域内的数据点数目来获得大致的数据分布。因而,大致的数据分布可进一步引导对每一时间序列的采样。
通过简单地对Dsam中的时间序列的代码向量进行分组,群集模块116得到:
Dsam:={Ci},i=1,...,cl (2)
其中Ci是映射到单个码元向量Si的所有时间序列的组。被表示为Freq(Ci)的Ci中的时间序列的数目满足以下等式:
Freq(C1)≥Freq(C2)≥…Freq(Ccl) (3)
以及
其中|Dsam|表示Dsam中的时间序列的数目。在Dsam中存在cl个时间序列的大致群体,其中C1是具有最高数目的时间序列的第一社区,其中的所有时间序列都是彼此相似的,因为它们映射到相同的代码向量。
为了从{Ci},i=1,...,cl中移除不重要的(例如,长尾组(例如Freq(Cx)~1)),剪尾采样技术可被使用。剪尾采样技术移除不重要的组,而且通过使用Kolmogorov-Smirnov测试来以置信水平α保留{Ci}的总体分布。以下解说详细步骤。首先,置信水平α被设置(在0到1之间的实数),接着整数T(尾索引)被标识,以使得组Ui≤TCi可以表示具有置信水平α的Ui≤clCi。在一些实现中,以上步骤可以根据以下伪代码来执行:
在一些实现中,这一算法的时间复杂度约为O(cl)。在一些实现中,二元搜索可用于将该算法加速为时间复杂度约为O(log(cl))。
在一些实现中,类似于DBSCAN(或其他合适的技术)的基于密度的群集技术被应用于经采样的时间序列集TS。从中的时间序列集获得TS,其中T是由以上规程估计尾索引来估计的,而是在对应的Tj(原始时间序列)的PAA之后的时间序列。Ci中的时间序列的一部分按照随机采样比r被置于TS中,以便获得对时间序列TS的更好的表示集(这可能比简单地随机采样完整的时间序列集好得多)。为了改善这一步骤的效率,R*-树被应用来为每一时间序列索引邻居信息。在一些实现中,总体时间复杂度约为O(NlogN)。这一步骤将时间序列分组到若干群集中,G={g}。
因而,在一些实现中,通过将基于密度的群集应用于经采样的时间序列集来标识群集可涉及若干步骤。估计正确的各种密度的第一步骤可以是非常重要的步骤。被称为基于模型的密度估计算法的一种算法基于k-分布曲线来快速且有效地标识多个密度。如此处所使用的,k-分布意味着时间序列与其第k个最接近的时间序列之间的距离。k-分布曲线如下来获得:对于每一点(在高维空间中表示的时间序列),获得其第k个最接近的点。接着记录对应的距离。收集对于所有点的此类距离。各个点按照距离来排序,接着按照从最大距离到最小距离的顺序被列举。对各个点的此类安排是k-分布曲线。这一曲线中的拐点指示在特征空间中存在具有不同密度的不同区域。通过标识k-分布曲线中的拐点,可以估计特征空间中的多个密度。拐点将k-分布分割成多个片段,并且每一片段可具有到模型的良好拟合,例如,具有斜率和偏移的直线。拐点的最优选择可以使得获得具有最小拟合误差以及在不同区段中在各模型之间具有最大差的模型。
本发明的算法如下来标识拐点:如果一个点是拐点,则分别针对左侧点和右侧点来估计模型。接着,测量两个模型的相似性。对于每一点,获得对应的相似性分数。接着,获得所有点之中的最低值。如果最低值小于给定阈值(可以非常接近1,在此为0.99),则这一点是拐点。递归地对曲线的右半部执行这种检查,直到没有再标识出拐点。由于k-分布曲线的左侧是具有最高k-分布值的数据点(指示它们是离群值),所以没有必要再次标识左半部中的拐点。在示例实现中,该模型是线性模型并且两个模型的相似性度量是斜率之差。然而,具有合适相似性度量的任何合适模型也可被应用于该算法(例如高斯模型)。
在一些实现中,k-分布曲线被标识以便估计正确的密度距离和最小点。接着,基于基于模型的密度估计算法来确定满足(从密度距离和最小点中导出的)某一准则的核心点。接着,可以从图中标识连通的分量。具体来说,通过从最密集值到最不密集值来进行检查来使群集规程起作用,从而最密集的区域可以首先被标识出。接着,可以标识较不密集的区域,以此类推。这一规程的好处在于两个不同群集可以被隔离开,即便较密集的群集嵌入在较不密集的群集中。接着,可以从图中标识连通的分量。R*-树和某一其他导出的数据结构可用于对每一点的邻居信息进行索引,这可使得总体复杂度约为O(NlogN),如上所讨论的。
基于LSH的群集
接着,标识边缘核心点,并且留下的点(在采样之后未被选择的点)被分配到每一群集。在一些实现中,边缘核心点如下来定义。对于每一核心点,如果所有其连通的点都是核心点,则它是内核心点;否则,它是边缘核心点。对于每一新的点(需要被分配到群ID的点),标识最接近的边缘核心点,并且将对应的(边缘核心点的)群集id分配给该新的点。为了加速这一步骤,LSH或其他合适技术用于将数据集中的每一时间序列分配到闭合的边缘核心点。对于带有PAA向量的每一时间序列T,LSH能够返回带有概率1-δ的其中δ是作为置信水平的常数,例如,δ=0.05。在一些实现中,群集模块116通过至少部分地基于散列值将每一个时间序列分配到多个边缘核心点之一来生成多个群集。在一些实现中,群集模块116根据以下伪代码将数据集D中的时间序列分配到r个边缘核心点集(每一集合标识一个特定群集的边缘):
同时,也可消除异常时间序列。每一组的时间序列可以被映射回单个码元向量,被表示为其中是属于映射到单个码元向量Si的群集g的所有时间序列的组。在一些实现中,由于“法式长棍”问题的考虑,每一群集g被划分成若干子组:因为从一个时间序列到另一时间序列可能存在连续偏移(这是为何它们被群集在一起),所以位于相同群集g的一些时间序列可能具有非常不同的距离。这些时间序列可以被分隔开以获得对于终端用户而言更好的可视化。以下解说详细步骤(以下步骤可具有输入:其中是属于映射到单个码元向量Si的群集g的所有时间序列的组)。
给定一距离阈值d,Dg中的时间序列可以被分成若干子组,以使得一个子组中的任何两个不同的时间序列的上限不会超过d。在此类约束(被称为属性“有意义”)下,子组的总数可以被最小化(最小化是指“紧致”覆盖属性),被称为集合覆盖的优化问题。为了解决这一问题,可以标识试探算法,如以下伪代码中所解说的:
基于三角不等关系以及g中的第一中心与g中的任何中心之间的距离小于d/2,通过以上伪代码获得的群体G具有以下属性:G中的同一组g中的任何两个中心之间的距离小于d。
由于不同数据集具有不同特性,取决于数据集,恰适的距离阈值可以改变。在一些实现中,迭***法可用于确定候选距离阈值集之中的恰适距离阈值。对于每一候选阈值,群集模块116可以评估分组结果的内部质量,如下所述。
首先,群集模块116确定或估计最大可能距离阈值为:
其中dmax是C1的中心时间序列与其他社区的中心时间序列之间的最大距离。在一些实现中,恰适的距离阈值可小于dmax。在一些实现中,群集模块116根据以下伪代码来确定粒度水平与对应的距离阈值之间的映射:
在以上伪代码中,k是在[0,dmax]的范围中被采样的不同阈值的数目。群集模块116为每一距离阈值执行估计群体规程并且评估所估计群体的质量。计算质量度量是估计群体G的质量的规程。在一些实现中,用于确定群体G的质量的度量是群集数目。因而,如果群集数目在特定范围内(例如,在下限阈值和上限阈值之内),则质量分数将是高的。在一些实现中,如果群集数目在下限阈值和上限阈值之内,则群集模块116选择或标识一群体。在一些实现中,用户选择下限阈值和上限阈值。在一些示例中,群集模块116可以实现一个或多个附加类型的度量来代替以上度量或者作为以上度量的补充。例如,群集模块116可以实现“轮廓”以评估群体结果的质量。
给定粒度水平与距离阈值之间的映射,群集模块116可确定针对每一粒度水平的种子数目和种子时间序列。对于每一粒度水平,群体G可以通过规程估计群体来获得。对于G中的每一组,群集模块116收集对应于G的种子的所有时间序列,并且使用等式(5)来寻找G的经更新的中心。
示例过程
在以下流程图中,每一个框表示可以用硬件、软件、或其组合实现的一个或多个操作。在软件的上下文中,各个框表示当由一个或多个处理器执行时使处理器执行既定操作的计算机可执行指令。一般而言,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述各个框的次序并不旨在被解释为限制,并且任何数量的所述框可以按任何次序和/或并行地组合以实现该过程。虽然出于解释的目的在本文描述了若干示例,但本公开不限于这些具体示例,并且可扩展至其他设备、环境、应用和设置。出于讨论目的,参考图1的环境100描述以下过程,但其他设备、***、框架和环境可以实现该过程。
图5是根据一些实现的对多个时间序列进行分组的示例过程500的流程图。
在502,群集模块116收集多个时间序列。在一些实现中,多个时间序列中的每一者包括一系列数值。
在504,如果群集模块116确定是否存在要处理的另一时间序列。
在506,如果存在要处理的另一时间序列,则变换器模块110生成对应于该时间序列的特征向量。该过程接着返回到框504,其中如果没有要处理的另一时间序列,则该过程前往框508。
在508,群集模块116应用剪尾采样技术以获得较少的时间序列(经采样的时间序列)同时以置信水平α来保留{Ci}的原始分布,如上所述。
在510,群集模块116将基于密度的群集应用于经采样的时间序列以标识每一群集。
在512,群集模块116基于多个特征向量的子集在粒度水平与用于群集的距离阈值之间进行映射。
在514,群集模块116基于框512的映射来生成对应于粒度水平之一的多个种子。在一些实现中,粒度水平之一由用户选择。
在516,群集模块116将多个时间序列中的每一者分配给多个种子之一。在一些示例中,群集模块116基于局部性敏感散列(例如如上所述的LSH表)将多个时间序列中的每一者分配给多个种子之一。
在518,群集模块116使得显示器呈现多个群集中的至少一个群集的图形表示。例如,显示器可以呈现包括多个时间序列的一个或多个群集。在一些实现中,多个群集中的至少一个群集的图形表示指示多个计算设备中的至少一个计算设备在一特定时间段期间的资源消耗,如上所讨论的。
示例计算***
图6是解说可以实现擦除编码存储的代表性计算设备600的框图。例如,计算设备600可以是服务器(诸如图1中描述的服务器104之一)或客户端124(如图1中描述的)。然而,可以容易领会的是,可在其他计算设备、***和环境中实现这些技术和机制。图6所示的计算设备600只是计算设备的一个示例,且并非旨在对计算机和网络体系结构的使用范围或功能提出任何限制。
在所解说的示例中,计算设备600包括一个或多个处理器106、一个或多个计算机可读介质108、一个或多个输入设备602、一个或多个输出设备604、存储606以及一个或多个通信连接608,所有这些组件能够通过***总线610或其他合适的连接来通信,该计算机可读介质108包括变换器模块110、群集模块116、时间序列数据集112、时间序列群集120、LSH表122、特征向量集116、以及特征向量集的子集118。
在一些实现中,处理器106是微处理单元(MPU)、中央处理单元(CPU)、或本领域已知的其他处理单元或组件。处理器106可被配置成取出并执行存储在计算机可读介质108或其他计算机可读存储介质中的计算机可读的处理器可存取的指令,以及其他能力。通信连接608允许设备诸如通过网络108与其他计算设备通信。这些网络可包括有线网络以及无线网络。
如此处所使用的,“计算机可读介质”包括计算机存储介质和通信介质。计算机存储介质包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程存储器(EEPROM)、闪存或其他存储器技术、紧致盘ROM(CD-ROM)、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或者可用于存储信息以供计算设备访问的任何其他非传输介质。
相反,通信介质可在诸如载波等已调制数据信号中具体化计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机存储介质不包括通信介质。
计算机可读介质108可包括用于使计算设备600能够执行本文描述的功能的各种模块和功能组件。在一些实现中,计算机可读介质108可包括用于执行对多个时间序列进行分组以及与对多个时间序列进行分组有关的操作的变换器模块110和群集模块116。变换器模块110和/或群集模块116可包括多个处理器可执行指令,处理器可执行指令可包括单个指令模块或可被分成任何数量的指令模块。这些指令还可包括例如计算设备100的硬件组件的驱动程序。
变换器模块110和/或群集模块116可以全部或部分地实现在计算设备600上。虽然在图6中被例示为存储在计算设备600的计算机可读介质108中,但是变换器模块110和群集模块116或其各部分可使用可由计算设备600访问的任何形式的计算机可读介质来实现。在一些实现中,变换器模块110和/或群集模块116被部分地实现在另一设备或服务器上。此外,计算机可读介质108可包括其他模块,诸如操作***、设备驱动程序、程序数据等、以及由群集模块116和其他模块使用的数据(例如,时间序列数据集112、时间序列群集120、LSH表122、特征向量集116、以及特征向量集的子集118)。
计算机可读介质108或其他机器可读存储介质存储具体化本文所描述的方法或功能中的任何一个或多个的一组或多组指令(例如,软件)。在由计算设备600执行期间,这些指令还可完全或至少部分地驻留在计算机可读介质108内和处理器106内。程序代码可被存储在一个或多个计算机可读存储器设备或其他计算机可读存储设备中,诸如计算机可读介质108。此外,虽然已经描述了示例设备配置和架构,但其他实现不限于此处所描述的特定配置和架构。从而,本公开可扩展到其他实现,如本领域技术人员已知或将要知道的那样。
此处所描述的示例环境、***和计算设备只是适用于某些实现的示例,而非旨在对可以实现此处所描述的过程、组件和特征的环境、架构和框架的使用范围或功能提出任何限制。因此,此处的实现可用于众多环境或体系结构,并且可以在通用或专用计算***或具有处理能力的其他设备中实现。一般而言,参考附图描述的任何功能都可使用软件、硬件(例如,固定逻辑电路)或这些实现的组合来实现。由此,此处所描述的过程、组件和模块可由计算机程序产品来实现。
此外,本发明提供了如在附图中描述和示出的各种示例实现。然而,本发明不限于此处所描述并示出的实现,而可扩展到其他实现,如本领域技术人员已知或将变得已知的。说明书中对“一个示例”、“一些示例”、“一些实现”或类似短语的引用意味着所描述的特定特征、结构或特性被包括在至少一个实现中,并且这些短语在说明书各处的出现不一定都指代同一实现。
结语
尽管用结构特征和/或方法动作专用的语言描述了本主题,但所附权利要求书中定义的主题不限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。本公开旨在覆盖所公开的实现的任一和所有改编或变型,并且所附权利要求书不应被解释为限于说明书中所公开的具体实现。相反,本文的范围完全由所附权利要求书以及这些权利要求所授权的等效技术方案的完整范围来确定。
Claims (11)
1.一种用于分析和分组时间序列数据集的方法,包括:
从多个计算设备和/或多个服务器收集与多个计算设备相关联的多个时间序列,其中所述多个时间序列中的每一个时间序列包括表示所述计算设备之一在一时间段内的资源消耗的一系列数值;
生成多个特征向量,其中所述多个特征向量中的每一个特征向量对应于所述多个时间序列之一,每一特征向量具有比对应时间序列的元素数目少的元素,所述特征向量中的每一元素是来自对应时间序列中的元素的片段的平均值;
基于所述多个特征向量、粒度水平、以及用于群集的距离阈值将所述多个时间序列群集到多个群集中,所述群集进一步包括:
基于所述粒度水平为所述多个群集的中心生成多个种子;
迭代地更新每一群集的中心直到达成所述粒度水平和距离阈值;以及
将所述多个时间序列中的每一时间序列分配给所述多个群集之一,其中基于多个种子获得的时间序列的群集标识在所述时间段内跨各个计算设备的资源消耗模式;以及
在用户界面中呈现所述多个时间序列的分组结果。
2.如权利要求1所述的方法,其特征在于,生成所述多个特征向量包括:
确定用于划分所述多个时间序列中的每一时间序列的数目;
根据所述数目来划分所述多个时间序列中的每一时间序列来为每一时间序列形成多个片段,其中所述多个片段中的每一片段包括近乎相等数目的数值;以及
对所述多个片段中的每一者中的每一片段内的数值求平均。
3.如权利要求2所述的方法,其特征在于,确定用于划分所述多个时间序列中的每一时间序列的数目包括:
计算所述多个时间序列中的每一时间序列的功率谱;
选择一截止频率,以使得对于所述多个时间序列中的至少第一阈值百分比,低于所述截止频率的频率分量的能量是所述多个时间序列的能量的至少第二阈值百分比;以及
至少部分地基于所述截止频率来确定所述数目。
4.如权利要求3所述的方法,其特征在于,至少部分地基于所述截止频率来确定所述数目包括将所述截止频率乘以二。
5.如权利要求1所述的方法,其特征在于,生成所述多个种子进一步包括:
至少部分地基于数值到码元的映射,通过将所述多个特征向量的每一数值编码成码元来变换所述多个特征向量的子集;
确定对应于所述多个粒度水平之一的距离阈值;以及
至少部分地基于所述距离阈值来生成所述多个种子。
6.如权利要求1所述的方法,其特征在于,所述粒度水平至少部分地基于用户输入来选择。
7.如权利要求1所述的方法,其特征在于,所述多个特征向量的子集是从所述多个特征向量中随机采样的。
8.如权利要求1所述的方法,其特征在于,将所述多个时间序列中的每一时间序列分配给所述多个种子之一是至少部分地基于局部性敏感散列的。
9.一种用于分析和分组时间序列数据集的***,包括:
一个或多个处理器;
存储器,其包括多个计算机可执行组件,所述多个计算机可执行组件包括用于以下操作的模块:
从多个计算设备和/或多个服务器收集与多个计算设备相关联的多个时间序列,其中所述多个时间序列中的每一个时间序列包括表示所述计算设备之一在一时间段内的资源消耗的一系列数值;
生成多个特征向量,其中所述多个特征向量中的每一个特征向量对应于所述多个时间序列之一,每一特征向量具有比对应时间序列的元素数目少的元素,所述特征向量中的每一元素是来自对应时间序列中的元素的片段的平均值;
基于所述多个特征向量、粒度水平、以及用于群集的距离阈值将所述多个时间序列群集到多个群集中,所述群集进一步包括:
基于所述粒度水平为所述多个群集的中心生成多个种子;
迭代地更新每一群集的中心直到达成所述粒度水平和距离阈值;以及
将所述多个时间序列中的每一时间序列分配给所述多个群集之一,其中基于多个种子获得的时间序列的群集标识在所述时间段内跨各个计算设备的资源消耗模式;以及
在用户界面中呈现所述多个时间序列的分组结果。
10.一种用于分析和分组时间序列数据集的***,所述***包括:
用于从多个计算设备和/或多个服务器收集对应于多个计算设备的多个时间序列的装置,其中所述多个时间序列中的每一时间序列包括一系列数值,所述数值表示所述计算设备中的相应计算设备在一时间段期间的资源消耗;
用于至少部分地基于所述多个时间序列中的每一时间序列的功率谱来生成多个特征向量的装置,其中所述多个特征向量中的每一特征向量对应于所述多个时间序列中的相应的时间序列,每一特征向量具有比对应时间序列的元素数目少的元素,所述特征向量中的每一元素是来自对应时间序列中的元素的片段的平均值;
用于通过将基于密度的群集应用于所述多个特征向量的至少一部分来标识多个群集的装置;
用于基于所述多个特征向量、粒度水平以及用于所述群集的距离阈值将所述多个时间序列群集到多个群集中的装置;
用于基于所述粒度水平为所述多个群集的中心生成多个种子的装置;
用于迭代地更新每一群集的中心直到达成所述粒度水平和距离阈值的装置;
用于至少部分地基于散列值将所述多个时间序列中的每一时间序列分配给所述多个群集之一的装置,其中基于多个种子获得的时间序列的群集标识在所述时间段内跨各个计算设备的资源消耗模式;以及
用于在用户界面中呈现所述多个群集中的至少一个群集的图形表示以指示所述计算设备中的至少一个计算设备在所述时间段期间的资源消耗的装置。
11.一种用于分析和分组时间序列数据集的计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令在被处理器执行时致使所述处理器执行如权利要求1-8所述的方法中的任一者。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/077213 WO2014198052A1 (en) | 2013-06-14 | 2013-06-14 | Fast grouping of time series |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105378714A CN105378714A (zh) | 2016-03-02 |
CN105378714B true CN105378714B (zh) | 2020-06-23 |
Family
ID=52021578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380077452.3A Active CN105378714B (zh) | 2013-06-14 | 2013-06-14 | 时间序列的快速分组 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10176246B2 (zh) |
EP (1) | EP3008633A4 (zh) |
KR (1) | KR102223419B1 (zh) |
CN (1) | CN105378714B (zh) |
WO (1) | WO2014198052A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2916260A1 (en) * | 2014-03-06 | 2015-09-09 | Tata Consultancy Services Limited | Time series analytics |
US10614094B2 (en) * | 2014-04-30 | 2020-04-07 | Micro Focus Llc | Visualizing topics with bubbles including pixels |
US20150363450A1 (en) * | 2014-06-12 | 2015-12-17 | National Chiao Tung University | Bayesian sequential partition system in multi-dimensional data space and counting engine thereof |
US10110674B2 (en) * | 2014-08-11 | 2018-10-23 | Qualcomm Incorporated | Method and apparatus for synchronizing data inputs generated at a plurality of frequencies by a plurality of data sources |
US11683234B2 (en) * | 2015-07-14 | 2023-06-20 | Netflix, Inc. | Server outlier detection |
US20170109055A1 (en) * | 2015-10-15 | 2017-04-20 | Pure Storage, Inc. | Capacity planning in a multi-array storage system |
US10936600B2 (en) * | 2015-10-23 | 2021-03-02 | Oracle International Corporation | Sensor time series data: functional segmentation for effective machine learning |
US10007786B1 (en) * | 2015-11-28 | 2018-06-26 | Symantec Corporation | Systems and methods for detecting malware |
US9886314B2 (en) * | 2016-01-28 | 2018-02-06 | Pure Storage, Inc. | Placing workloads in a multi-array system |
US10853362B2 (en) * | 2016-04-18 | 2020-12-01 | Verizon Media Inc. | Optimized full-spectrum loglog-based cardinality estimation |
US11068481B2 (en) * | 2016-04-18 | 2021-07-20 | Verizon Media Inc. | Optimized full-spectrum order statistics-based cardinality estimation |
CN107346367B (zh) * | 2016-05-04 | 2020-09-18 | 阿里巴巴集团控股有限公司 | 一种业务变量的数值的分段方法及装置 |
US10778707B1 (en) * | 2016-05-12 | 2020-09-15 | Amazon Technologies, Inc. | Outlier detection for streaming data using locality sensitive hashing |
US10277396B2 (en) * | 2016-06-16 | 2019-04-30 | General Electric Company | Watermarking for data integrity |
US10554514B2 (en) * | 2016-10-26 | 2020-02-04 | Vmware, Inc. | Detecting and remediating root causes of performance issues |
US10447713B2 (en) | 2017-04-26 | 2019-10-15 | At&T Intellectual Property I, L.P. | Internet traffic classification via time-frequency analysis |
US10719521B2 (en) * | 2017-09-18 | 2020-07-21 | Google Llc | Evaluating models that rely on aggregate historical data |
CN108241745B (zh) * | 2018-01-08 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 样本集的处理方法及装置、样本的查询方法及装置 |
US10650559B2 (en) * | 2018-04-30 | 2020-05-12 | Robert Bosch Gmbh | Methods and systems for simplified graphical depictions of bipartite graphs |
US10635984B2 (en) * | 2018-07-23 | 2020-04-28 | Falkonry Inc. | System and method for the assessment of condition in complex operational systems based on multi-level pattern recognition |
CN109582741B (zh) * | 2018-11-15 | 2023-09-05 | 创新先进技术有限公司 | 特征数据处理方法和装置 |
US20200210857A1 (en) * | 2018-12-31 | 2020-07-02 | Kobai, Inc. | Decision intelligence system and method |
US10917302B2 (en) * | 2019-06-11 | 2021-02-09 | Cisco Technology, Inc. | Learning robust and accurate rules for device classification from clusters of devices |
CN110728526B (zh) * | 2019-08-19 | 2024-04-02 | 创新先进技术有限公司 | 地址识别方法、设备以及计算机可读介质 |
CN111639263B (zh) * | 2020-06-03 | 2023-11-24 | 小红书科技有限公司 | 笔记推荐方法、装置及*** |
CN112001234B (zh) * | 2020-07-13 | 2023-07-21 | 广东石油化工学院 | 一种基于仿射不变度量的旋转机械采样数据聚类方法 |
CN112381137B (zh) * | 2020-11-10 | 2024-06-07 | 重庆大学 | 新能源电力***可靠性评估方法、装置、设备及存储介质 |
US11928159B2 (en) * | 2021-03-16 | 2024-03-12 | Google Llc | Systems and methods for clustering with list-decodable covers |
US11640389B2 (en) | 2021-07-23 | 2023-05-02 | Bank Of America Corporation | Hash-based identification of data corruption issues in time-series data |
US11645252B2 (en) | 2021-07-23 | 2023-05-09 | Bank Of America Corporation | System and method for efficiently validating time-series data using a hash-based representation of the data |
US11656927B1 (en) | 2021-12-03 | 2023-05-23 | International Business Machines Corporation | Localizing faults in multi-variate time series data |
US11922126B1 (en) * | 2023-07-28 | 2024-03-05 | Intuit Inc. | Use of semantic confidence metrics for uncertainty estimation in large language models |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8385662B1 (en) * | 2009-04-30 | 2013-02-26 | Google Inc. | Principal component analysis based seed generation for clustering analysis |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496655B2 (en) * | 2002-05-01 | 2009-02-24 | Satyam Computer Services Limited Of Mayfair Centre | System and method for static and dynamic load analyses of communication network |
US6937961B2 (en) * | 2002-09-26 | 2005-08-30 | Freescale Semiconductor, Inc. | Performance monitor and method therefor |
US7103222B2 (en) | 2002-11-01 | 2006-09-05 | Mitsubishi Electric Research Laboratories, Inc. | Pattern discovery in multi-dimensional time series using multi-resolution matching |
JP4398777B2 (ja) * | 2004-04-28 | 2010-01-13 | 株式会社東芝 | 時系列データ分析装置および方法 |
JP4772378B2 (ja) * | 2005-05-26 | 2011-09-14 | 株式会社東芝 | Webページから時系列データを生成する方法及び装置 |
US7809824B2 (en) * | 2008-09-29 | 2010-10-05 | Yahoo! Inc. | Classification and cluster analysis spam detection and reduction |
US8161028B2 (en) * | 2008-12-05 | 2012-04-17 | International Business Machines Corporation | System and method for adaptive categorization for use with dynamic taxonomies |
JP5284990B2 (ja) | 2010-01-08 | 2013-09-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | キーワードの時系列解析のための処理方法、並びにその処理システム及びコンピュータ・プログラム |
US9002492B2 (en) * | 2010-02-16 | 2015-04-07 | Applied Materials, Inc. | Methods and apparatuses for utilizing adaptive predictive algorithms and determining when to use the adaptive predictive algorithms for virtual metrology |
-
2013
- 2013-06-14 EP EP13887005.0A patent/EP3008633A4/en not_active Withdrawn
- 2013-06-14 KR KR1020157035311A patent/KR102223419B1/ko active IP Right Grant
- 2013-06-14 CN CN201380077452.3A patent/CN105378714B/zh active Active
- 2013-06-14 WO PCT/CN2013/077213 patent/WO2014198052A1/en active Application Filing
- 2013-06-14 US US14/898,216 patent/US10176246B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8385662B1 (en) * | 2009-04-30 | 2013-02-26 | Google Inc. | Principal component analysis based seed generation for clustering analysis |
Non-Patent Citations (1)
Title |
---|
Clustering of time series data-a survey;WARREN LIAO 等;《PATTERN RECOGNITION》;20051101;第38卷(第11期);1857-1874页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2014198052A1 (en) | 2014-12-18 |
KR102223419B1 (ko) | 2021-03-04 |
KR20160019897A (ko) | 2016-02-22 |
US10176246B2 (en) | 2019-01-08 |
EP3008633A1 (en) | 2016-04-20 |
EP3008633A4 (en) | 2016-06-29 |
US20160140208A1 (en) | 2016-05-19 |
CN105378714A (zh) | 2016-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105378714B (zh) | 时间序列的快速分组 | |
CN110826648B (zh) | 一种利用时序聚类算法实现故障检测的方法 | |
US20180157620A1 (en) | Computer-implemented systems and methods for time series exploration | |
CN113435602A (zh) | 确定机器学习样本的特征重要性的方法及*** | |
US20140019448A1 (en) | Computer-Implemented Systems and Methods for Efficient Structuring of Time Series Data | |
US10198455B2 (en) | Sampling-based deduplication estimation | |
US11023495B2 (en) | Automatically generating meaningful user segments | |
US9070203B2 (en) | Identification and quantification of microtextured regions in materials with ordered crystal structure | |
CN110796159A (zh) | 基于k-means算法的电力数据分类方法及*** | |
US8245084B2 (en) | Two-level representative workload phase detection | |
CN115827577A (zh) | 智能电表高频数据压缩与重构的云端协同自适应分治方法 | |
CN115659411A (zh) | 数据分析的方法和装置 | |
CN105653541B (zh) | 识别数据元素之间的关联和演变模式的***和方法 | |
JP6207405B2 (ja) | データ処理装置 | |
CN111581199B (zh) | 一种智能数据分析***及方法 | |
CN116933119A (zh) | 一种基于卷积神经网络的信号数据去除趋势方法 | |
Saxena et al. | Evolving efficient clustering patterns in liver patient data through data mining techniques | |
Al Shaqsi et al. | Estimating the predominant number of clusters in a dataset | |
CN110955811B (zh) | 基于朴素贝叶斯算法的电力数据分类方法及*** | |
CN113792749A (zh) | 时间序列数据异常检测方法、装置、设备及存储介质 | |
CN112750047A (zh) | 行为关系信息提取方法及装置、存储介质、电子设备 | |
Cronie et al. | Inhomogeneous higher-order summary statistics for linear network point processes | |
CN104050070B (zh) | 一种分布式***中高维流量数据变化点检测方法 | |
Chen et al. | CENSUS: Counting interleaved workloads on shared storage | |
Xue et al. | SPAC: Scalable Pattern Approximate Counting in Graph Mining |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |