CN104813308A - 数据度量分辨率排序系统和方法 - Google Patents
数据度量分辨率排序系统和方法 Download PDFInfo
- Publication number
- CN104813308A CN104813308A CN201380061126.3A CN201380061126A CN104813308A CN 104813308 A CN104813308 A CN 104813308A CN 201380061126 A CN201380061126 A CN 201380061126A CN 104813308 A CN104813308 A CN 104813308A
- Authority
- CN
- China
- Prior art keywords
- period
- value
- history value
- time period
- group
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Abstract
在一个实施方式中,一种方法包括识别针对感兴趣度量的多个时段组合。每个时段组合包括一个或多个时间段并且一个或多个时间段中的每个时间段包括一个或多个分段。该方法还包括:对于所述多个时段组合中的每个时段组合以及所述感兴趣的度量的多个历史值中的每个历史值,递增地将该历史值插入所述一个或多个时间段中的相应分段中。而且,该方法还包括:基于所述多个历史值与相应预测值的组之间的比较,对所述多个时段组合进行排序。该方法还包括:将排序最高的时段组合选为最佳表征感兴趣度量的时段组合。
Description
相关申请的交叉引用
本专利申请要求于2012年9月28日提交的美国临时专利申请61/707,602、于2013年8月30日提交的美国专利申请14/014,637和于2013年8月30日提交的美国专利申请14/014,707的优先权,并且这些申请的全部公开通过引用合并到本文。
技术领域
本发明一般性地涉及数据分析,且尤其但非限制性地涉及用于对时段组合进行排序的系统和方法。
背景技术
对计算和/或网络资源的需求的预测是复杂的。与组织或机构相关联的用户能够查看从一个月至下一个月所使用的资源以确定是否未来将需要额外的资源。然而,该分析通常是不充分的,因为例如在给定时间段内使用的资源的量很少是静态的。假设该机构是企业,则在工作日期间的资源消耗通常更大。另外,在午餐期间,资源消耗会下降。在一些情况中,通常与低资源消耗相关联的时间段(例如午夜)有时会因为例如预定的备份操作或复制操作而具有高的资源消耗。在一些情况中,资源消耗有时会以比组织的平均消耗更高水平的消耗而达到峰值。另外,各种计算资源会在不同时间段或因不同类型的操作而受到不同的影响。在一些情况中,资源消耗会因为例如会增加计算资源(例如,网络服务器、销售服务器等)的使用的招聘潮或成功的产品发布会而突然改变。
至少由于上述原因,以预定的周期为基础来比较资源使用对于许多组织来说可能是不充分的。另外,不同类型的资源会以不同方式被消耗。例如,处理器利用率会在一天内消长,但峰值利用率会在阈值利用率水平内保持恒定。相反,存储器利用率会因为例如维护与一个或多个计算系统相关联的一个或多个存储设备(例如,硬盘驱动、固态驱动等)的预定备份而随着时间而增加。而且,随着信息价值和使用的持续增长,个人和企业都在探寻更多的处理和存储信息的方法。用户可用的一种选择是信息处理系统。信息处理系统通常处理、编译、存储和/或传送用于企业、个人或其他用途的信息或数据,从而允许用户充分利用该信息。由于技术和信息处理需求与要求会因不同用户或应用而变化,因此信息处理系统还可以随着以下情况而变化:处理什么样的信息,如何处理信息,处理、存储或传递多少信息,以及如何快速而有效地处理、存储或传递信息。信息处理系统的多样性允许信息处理系统可以是一般的信息处理系统,也可以是针对特定用户或特定用途而配置的信息处理系统,该特定用途例如是金融交易处理、航班预约、企业数据存储或全球通信。另外,信息处理系统可以包括各种被配置成用来处理、存储和传送信息的硬件和软件部件,并且可以包括一个或多个计算机系统、数据存储系统和网络系统。
发明内容
在一种实施方式中,一种方法包括:由包括计算机硬件的计算机系统识别针对感兴趣度量的多个时段组合。每个时段组合包括一个或多个时间段并且一个或多个时间段中的每个时间段包括一个或多个分段。该方法还包括:对于所述多个时段组合中的每个时段组合以及所述感兴趣的度量的多个历史值中的每个历史值,计算机系统递增地将该历史值插入所述一个或多个时间段中的相应分段中。该递增地插入包括:对于所述一个或多个时间段中的每个时间段,识别针对该历史值的相应分段,计算该相应分段的预测值,基于所述时段组合的任何更高频率的时间段来调整所述历史值,以及将调整后的历史值插入该相应分段中。该方法还包括:基于所述多个历史值与相应预测值的组之间的比较,由所述计算机系统对所述多个时段组合进行排序。而且,该方法还包括:由计算机系统将排序最高的时段组合选为最佳表征感兴趣度量的时段组合。
在一个实施方式中,一种信息处理系统包括至少一个计算机处理器。该至少一个计算机处理器可操作以实施一种方法。该方法包括识别针对感兴趣度量的多个时段组合。每个时段组合包括一个或多个时间段并且一个或多个时间段中的每个时间段包括一个或多个分段。该方法还包括:对于所述多个时段组合中的每个时段组合以及所述感兴趣的度量的多个历史值中的每个历史值,递增地将该历史值插入所述一个或多个时间段中的相应分段中。该递增地插入包括:对于所述一个或多个时间段中的每个时间段,识别针对该历史值的相应分段,计算该相应分段的预测值,基于所述时段组合的任何更高频率的时间段来调整所述历史值,以及将调整后的历史值插入该相应分段中。而且,该方法还包括:基于所述多个历史值与相应预测值的组之间的比较,对所述多个时段组合进行排序。该方法还包括:将排序最高的时段组合选为最佳表征感兴趣度量的时段组合。
在一个实施方式中,计算机程序产品包括具有在其中实施的计算机可读程序代码的非短暂性计算机可使用介质。所述计算机可读程序代码适用于被执行以实施一种方法。该方法包括识别针对感兴趣度量的多个时段组合。每个时段组合包括一个或多个时间段并且一个或多个时间段中的每个时间段包括一个或多个分段。该方法还包括:对于所述多个时段组合中的每个时段组合以及所述感兴趣的度量的多个历史值中的每个历史值,递增地将该历史值插入所述一个或多个时间段中的相应分段中。该递增地插入包括:对于所述一个或多个时间段中的每个时间段,识别针对该历史值的相应分段,计算该相应分段的预测值,基于所述时段组合的任何更高频率的时间段来调整所述历史值,以及将调整后的历史值插入该相应分段中。而且,该方法还包括:基于所述多个历史值与相应预测值的组之间的比较,对所述多个时段组合进行排序。该方法还包括:将排序最高的时段组合选为最佳表征感兴趣度量的时段组合。
附图说明
通过结合附图参考以下的具体实施方式部分可以对本发明方法和装置有更完整的理解,其中;
图1是网络计算环境的一个实施方式的框图;
图2A示出了度量值预测过程的一个实施方式的流程图;
图2B示出了总预测过程250的一个实施方式的流程图;
图3示出了时段组合的结构的示例;
图4A示出了学习过程的一个实施方式的流程图;
图4B示出了学习过程的一个实施方式的流程图;
图5示出了逐步增量地将历史数据值插入时段组合中的过程的一个实施方式的流程图;
图6示出了相对于度量对时段组合进行排序的过程的一个实施方式的流程图;
图7示出了聚集(aggregation)过程的一个实施方式的流程图;
图8示出了预测过程的一个实施方式的流程图;
图9示出了计算预测值的过程的一个实施方式的流程图;
图10示出了相对于度量对时段组合进行排序的过程的一个实施方式的流程图;
图11示出了执行值的噪声过滤的过程的一个实施方式的流程图;以及
图12示出了执行分段的噪声过滤的过程的一个实施方式的流程图。
具体实施方式
出于本公开的目的,信息处理系统可以包括任何装置或装置的集合,该装置或装置的集合可操作以计算、运算、确定、分类、处理、传送、接收、检索、创建、切换、存储、显示、传递、表明、检测、记录、复制、操作或利用任何形式的用于商务、科学、控制或其他目的的信息、智能或数据。例如,信息处理系统可以是个人计算机(例如,台式或便携式电脑)、平板计算机、移动设备(例如,个人数字助理(PDA)或智能电话)、服务器(例如,刀片服务器(blade server)或机架服务器(rack server))、网络存储设备或任意其他合适的设备,并且其尺寸、形状、性能、功能和价格可以不同。信息处理系统可以包括随机存取存储器(RAM)、一个或多个处理资源(例如中央处理单元(CPU)或硬件或软件控制逻辑)、ROM、和/或其它类型的非易失性存储器。信息处理系统的其他部件还可以包括一个或多个磁盘驱动器、一个或多个用于与外部设备通信的网络端口、以及各种输入和输出(I/O)设备(例如键盘、鼠标、触摸屏和/或视频显示器)。信息处理系统还可以包括一条或多条总线,总线可操作以在各种硬件部件之间传送通信。
本公开的实施方式描述了基于一个或多个度量来预测或规划资源的使用的系统和过程。在一些情况中,至少一些度量可以反映与计算系统相关联的资源,诸如处理器使用或可用性、存储器使用或可用性等。可替换地或另外地,至少一些度量可以与计算机特征相关联,该计算机特征能够与资源相关联但是其与计算资源之间可以没有一对一的对应性。例如,一个度量可以是通过网络访问文件的平均访问时间。该度量可以与网络带宽相关联,但是也能够与其他计算资源(诸如计算系统的内存量、存储器的速度、存储设备能够同时支持的访问连接的数量等)相关联。
出于本专利申请的目的,“时段组合”可被认为是在其期间生成、聚集和/或分析数据的一个或多个时间段的集合。时间段在这里通常被简称为时段,其典型地表示时间单位,诸如时钟时间单位、系统时间单位和/或用于测量时间的流逝的其他单位(任意的或者其他形式的单位)。例如,在利用时钟时间的某些实施方式中,时段组合能够包括小时、天、星期、月等的时段。为了简化描述,本公开的剩余部分将提供利用时钟时间的时间段的示例。然而,应当意识到,术语“时间段”并不局限于此,并且各种实施方式可以利用其他用于测量或划分时间的方式。测量分段这里通常简称为分段,其典型地为时间段的划分。例如,“天”时间段可以包括24个1小时分段、12个2小时分段、6个4小时分段等。
如下面更详细描述的,这里描述的某些实施方式利用时段组合作为用于为感兴趣的度量提供一组实际值的一个或多个时间角度(time perspective)的数据结构。例如,在各种实施方式中,时段组合能够被分层地构造为时间段的组合,每个时间段包括针对该时间段的多个测量分段,这些测量分段中的每个分段进一步包括针对那个分段的感兴趣度量的相应的实际值。
考虑这样的示例:即感兴趣的度量是处理器的使用,并且这组实际值包含以一小时为时间分辨率或采样率的处理器的使用的值。出于该示例的目的,假设时段组合包括“月”时段、“星期”时段、和“天”时段。每个时段可以包括适用于该时段的多个分段并从而限定了该时段的采样率或时间分辨率。例如,月时段能够包括124个分段并从而具有6小时的时间分辨率(如果定义一个月有31天的话),星期时段能够包括56个分段并从而具有3小时的时间分辨率,而天时段能够包括24个分段并从而具有1小时的时间分辨率。因此,月时段能够提供用于描述在一个月的第一个6小时分段、一个月的第二个6小时分段等中的每个分段期间的处理器使用的数据。类似地,星期时段能够提供用于描述在一个星期的第一个3小时分段、一个月的第二个3小时分段等中的每个分段期间的处理器使用的数据。以类似的方式,天时段能够提供用于描述在一天的第一个1小时分段、一天的第二个1小时分段等中的每个分段期间的处理器使用的数据。
对于给定的分段,描述感兴趣度量(出于该示例的目的为处理器的使用)的数据可以是针对那个度量的实际值(原始的或过滤后的值)、代表那个度量的实际值的统计数据等。例如,如果这组实际值包括2013年7月1日星期一上午12:01分的示例性值,则那个示例性值可被认为是在月时段的第一个6小时分段期间、星期时段的第九个3小时分段(如果星期天被定义为一星期的第一天的话)期间、以及天时段的第一个1小时分段期间出现的。因此,与该示例性值有关的数据可以被包含在月时段的第一个6小时分段、星期时段的第九个3小时分段和天时段的第一个1小时分段内。因此,每当给定的时段组合包括不止一个时间段时,该时段组合的每个时段能够被用来为感兴趣的度量提供同一组实际值的不同时间角度。
在一些实施方式中,这里描述的系统能够从一组可选时段组合中识别能够最佳表征给定度量的时段组合。这组可选时段组合可以在例如其所包含的时间段的特定混合、其所包含的一个或多个时间段的时间分辨率等方面存在差异。在一个典型的实施方式中,这里描述的系统能够将与给定度量相关联的一组数据(例如,实际值)插入和/或聚集到时段组合中,以便于分析和生成针对未来时间点的预测值。在一些情况中,该系统之后能够向用户呈现该预测值。
系统概述
图1是网络计算环境100的一个实施方式的框图。网络计算环境100包括系统评估器120,该系统评估器能够访问一个或多个计算系统,诸如一个或多个客户端110和/或一个或多个服务器112。通常,系统评估器120经由网络114与计算系统通信。然而,系统评估器120也能够经由有线或无线连接直接访问计算系统。
系统评估器120能够分析一个或多个计算系统以相对于一个或多个度量来预测该计算系统未来的表现。这些度量可以包括能够用来测量计算系统的性能和/或与计算机系统有关的资源的可用性的任何类型的硬件或软件特征或属性。可由系统评估器120分析的一些非限制的度量示例包括存储器的使用、处理器的使用、操作完成率、存储器的使用、带宽等。另外,系统评估器120能够分析用于对度量进行评估的多个时间分辨率,以确定在统计学上有可能为该度量的未来值提供最准确的预测的时间分辨率。有利地,在一些实施方式中,与预先确定的评估时间分辨率相比,通过评估多个时间分辨率,系统评估器120能够更准确地对计算资源的未来的消耗和性能做出预测。
如图1所示,系统评估器120可以包括数据挖掘系统122、度量预测器124和时间分辨率排序系统126。另外,系统评估器120可以被配置为通过有线或无线连接或经由网络114与数据库116通信。可替换地,在一些情况中,系统评估器120可以包括数据库116。
通过使用数据挖掘系统122,系统评估器120能够收集和/或访问与上面针对一个或多个计算系统(例如客户端110、服务器112等)所描述的任意数量和任意类型的度量有关的数据。数据挖掘系统122可以直接或经由网络114访问计算系统。可替换地或另外地,数据挖掘系统122可以通过访问数据库116来访问与一组度量有关的数据,该数据库116能够被配置成存储从计算系统收集的数据。数据库116可以(例如经由数据挖掘系统122)从系统评估器120中获得数据,该数据可以由计算系统(例如经由与一个或多个计算系统相关联的数据代理)提供给数据库116,或者数据收集器(未示出)可以从计算系统中收集数据以存储在数据库116中。
对于一个或多个度量而言,度量预测器124被配置成分析与一个或多个度量有关的数据。如之前描述的,该数据可以由数据挖掘系统122从计算系统和/或数据库116中进行访问。至少部分地基于对所收集数据的分析,度量预测器能够预测一个或多个度量的未来值。度量预测器124能够执行使用时间段和测量分段的一个或多个不同组合或排列(即时段组合)来预测度量的未来值的过程。测量分段通常可以包括读取或访问数据的任何时间和/或从一个测量分段中的一系列数据读数中聚集。例如,测量分段可以是一小时、两小时、四小时、一天、两天、一个工作日、一个周末、一个周末的一天、一星期、一个月等。另外,时间段通常能够包括在期间针对一个或多个测量分段来读取或访问数据的任意时间段。例如,时间段可以是一小时、两小时、四小时、一天、两天、一个工作日、一个周末、一个周末的一天、一星期、一个月等。
在一些情况中,时间段和测量分段的任意组合是可能的,并且一个或多个组合的选择可以依赖于将被测量的度量。例如,对于随着工作负荷而波动的度量(例如处理器的使用)而言,所选择的一个组合可以是一个工作日的时间段和一个小时的测量分段。因此,假设该工作日包括整个24小时工作日,则测量时段的总数目将是24,即一天中的每一个小时为一个测量时段。可替换地,如果工作日局限于工作时间,则测量时段的总数目将依赖于企业营业的小时数(例如,8小时或9小时等)。作为另一示例,在一些情况中,对于与可以被消耗并需要随着时间与资源的新来源相累加的资源(例如,备份系统的存储空间)有关的度量而言,所选择的一个组合可以是一个月(例如,30天)时间段,其中测量时段可以是一天或一星期。
在一些情况中,测量分段是固定的时间周期(例如,一个小时),并且时间段上测量分段的数目基于该时间段的长度。因此,例如,一个工作日可以具有24个分段。在其他情况中,系统评估器120可以使用固定数量的测量分段来分析数据并预测在一段时间内的度量值。例如,如果系统评估器120被配置成使用24个分段,则一个工作日时间段将具有24个测量分段,每个测量分段的长度为1个小时。然而,如果选择了一个周末时间段,则该时间段将具有24个测量分段,每个测量分段的长度为2个小时。
另外,至少部分地基于与度量有关的数据的分析,度量预测器124能够预测或预示某时间点处该度量的值。在一些情况中,该预测可以位于特定几率或阈值几率内。有利地,在某些实施方式中,通过预测度量的未来值,系统评估器120能够向用户(例如,管理员)告警组织的计算资源的状态,从而使得该用户能够重新配置一个或多个计算系统和/或增加可用的计算系统资源。
如之前所述的,度量预测器124能够对时间段和测量分段的多个排列进行分析。时间分辨率排序系统126能够基于多个因素对时间段和测量分段的各种排列进行排序,所述多个因素例如包括正被预测的度量、用户的喜好和之前的预测的精度。
度量值预测过程的示例
图2A示出了度量值预测过程200的一个实施方式的流程图。过程200能够至少部分地由能够对与针对一个或多个计算系统的一个或多个度量有关的数据进行聚集的任意系统来实施。另外,过程200能够至少部分地由能够使用所述数据来预测或预示一个或多个度量的未来值的任意系统来实施。例如,过程200的全部或一部分能够由系统评估器120、数据挖掘系统122、度量预测器124和时间分辨率排序系统126来实施。虽然任意数量的系统能够全部地或部分地实施过程200,但是为了简化讨论,将参照特定系统来对过程200的不同部分进行描述。
过程200从框202开始,其中在框202中,例如,数据挖掘系统122获得对于给定的时间段针对分段时段或测量分段的一组度量值或与度量相关联的数据。例如,数据挖掘系统122能够获得可能包括一个或多个分段时段的一个时间段(例如,8个小时、24个小时、一个星期、一个月等)中针对一小时分段或四小时分段的数据。
在一些情况中,这组度量值是表示针对那个分段的度量的单个值。该值可以在所述分段时间段期间的特定点处被获得。例如,度量值可以在分段时段的中间处被获得,在分段时段的开始处被获得,或者在分段时段的结束处被获得。在其他情况中,这组度量值可以包括在分段时段期间记录或访问的多个值。例如,数据挖掘系统122可以每分钟访问针对度量的数据一次。在这种情况中,针对特定度量(例如,网络的使用、处理器的使用、存储器的使用)的这组度量值将包括针对长度为1小时的分段的60个值或者针对长度为2个小时的分段的120个值。在其他情况中,针对某度量的这组度量值可以每分钟被记录一次,但是数据挖掘系统122可以每小时对这些度量值访问一次。在这种情况中,数据挖掘系统122可以访问在之前小时期间或一些其他过去的时间段期间记录的一些或所有度量值。
在框204,数据挖掘系统122对在框202处获得的针对分段时段的这组度量值进行聚集,以确定针对该分段时段的聚集值或实际值。对这组度量值进行聚集可以包括:对这组度量值进行平均,对这组度量值进行求和,确定这组度量值的最常见的值(modal value),确定这组度量值的最高值或最低值,或者用于对这组度量值进行组合或用于从这组度量值中选择代表值的任意其他方法。在一些实施方式中,框204是可选的。例如,框204在这组度量值包括单个数据点时是可选的。
在框206,数据挖掘系统122确定与聚集值相关联的时间点。该时间点可以是分段时段的中间、分段时段的结束、分段时段的开始或者与该分段时段相关联的任意其他时间点。在框208处,度量预测器124至少部分地基于该分段时段和/或该分段时段的时间长度来计算未来时间点。在某些实施方式中,未来时间点指的是一个时间分段而非具体时间点。在一些情况中,未来时间点可以指代包括在框206处识别的时间点的时间分段。例如,假设在框206中计算的时间点是星期天的上午10:30。进一步地,假设过程200正在使用24小时时间段,其中分段时段的长度是1个小时。在该示例中,在框208处,度量预测器124可能计算或选择上午10:00-11:00的未来时间点,该10:00-11:00的未来时间点能够包括在10:00与11:00之间收集的一些或所有值。
在一些实施方式中,未来时间点可以是继所述分段时段之后的接下来的时间时段,或者其可以是继该分段时段之后的某其他时间点。例如,假设分段时段的长度为1小时并且该分段时段位于13:00与14:00之间,则未来时间点可以是同一天的14:00与15:00之间的分段时段,或者其可以位于同一天的17:00与18:00之间或者位于任意以后日期。另外,如果在框206处确定的针对聚集值的时间点是13:30,则所计算的未来时间点可以是前述示例中的14:30或17:30。
在框210处,度量预测器124使用预测算法来预测针对未来时间点的度量的值,以获得针对该度量的预测值。预测算法能够包括用于基于过去事件或过去数据来预测未来值的任意类型的算法。例如,预测算法能够包括最小二乘方线性回归算法、Theil-Sen估计函数或基于平均值的预测。
对于多个可选分段时段长度而言,参照框202-210描述的这五个过程中的一些或所有过程在框212处重复。用户(例如管理员)可以为框202处使用的分段时段选择一个或多个所述分段时段长度,选择可选分段时段的数量以及选择可选分段时段的长度。可替换地,分段时段长度、可选分段时段的数量和可选分段时段的长度可以基于所述度量或一组默认配置来确定。
例如,假设系统评估器120有权访问针对给定度量的某个月(例如,30天)的数据。该数据可以例如通过由数据挖掘系统122访问数据库116获得。度量预测器124可以使用例如三个时间段来预测针对随后月份(例如,下一个月、下一年的相同月份等)的度量的值。一个时间段可以是天,一个时间段可以是星期,以及一个时间段可以是月。这些时间段可以各自具有不同的分段时段长度或不同数量的分段时段。对于每个时间段而言,度量预测器124可以使用所述分段的聚集数据来预测针对每个时间段的度量的值。
在框214,时间分辨率排序系统126使用排序算法对针对不同时间段的每个预测进行排序。该排序可以基于给定时间点处预测值与实际值之间的比较。另外,排序算法能够包括用于基于预测值与实际或真实值的比较对不同的预测窗大小进行排序的任何类型的算法。例如,排序算法能够基于线性相关算法或预测间隔验证(prediction interval validation)算法。在一些情况中,噪声过滤算法可以用来确定是否要消除噪声以改善预测质量。如参照图11和12更详细描述的,噪声消除能够涉及消除被确定为是噪声的值和/或被确定为是噪声的分段。
在框216,系统评估器120输出在框214处确定的针对度量的排序最高的预测。在一些实施方式中,系统评估器120可以输出用来生成排序的对每个时间段的预测以及该预测的排序。在其他实施方式中,系统评估器120仅输出排序最高的预测。输出预测能够包括在用户(例如,管理员)的客户端处呈现该预测或向用户发送告警(例如,电子邮件、文本消息、即时消息、语音邮件等)。
总预测过程的示例
图2B示出了总预测过程250的一个实施方式的流程图。过程250,以及更具体地被描述为过程250的一部分的每个过程能够至少部分地由能够识别一个或多个时段组合、或分段时段并针对特定度量对它们进行排序的任何系统来实施。例如,过程250的全部或部分能够由系统评估器120、数据挖掘系统122、度量预测器124和时间分辨率排序系统126来实施。虽然任意数量的系统能够全部地或部分地实施过程250,但是为了简化讨论,将参照特定系统来对过程250的不同部分进行描述。
总过程250包括学习过程252、聚集过程254和预测过程256。应当意识到,虽然学习过程252、聚集过程254和预测过程256按顺序示出,但是不意味着一定要按该特定顺序来执行。相反地,,学习过程252、聚集过程254和预测过程256能够例如以随机间隔、预定间隔、按照需要、响应于某些标准被满足等而各自单独执行。
学习过程252通常是使用度量的历史值来识别被认为最佳表征该度量的预测配置的过程。学习过程252能够例如通过对一组预测配置进行评分和排序来确定什么最佳表征了度量。这组预测配置能够包括例如时段组合、预测算法等。在各种实施方式中,可以针对多个度量来执行学习过程252,并从而产生了针对每个度量所识别的预测配置。学习过程252的示例以及学习过程252的特定方面的示例将参照图4A-图6和图9-图10进行描述。在各种实施方式中,学习过程能够以规则的间隔(例如,每天)执行。
聚集过程254通常是基于所获得的新历史值来更新度量的历史值的过程。聚集过程254可以例如在学习过程252的执行之间被执行(例如,每3个小时)。聚集过程254能够涉及将新历史值聚集到例如已经被认为在学习过程252的最近一次运行中最佳表征了度量的时段组合中。结果,当例如执行预测过程256时,较新的数据能够被用来计算预测。聚集过程254的示例将参照图7描述。
预测过程256通常是基于度量的历史值和在学习过程252期间识别的任意预测配置来计算度量的未来值的预测的过程。预测过程256可以例如按照需要执行,以规则的间隔执行(例如,用于报告或告警用途)等。预测过程256的示例和预测过程256的特定方面的示例将参照图8-图9描述。
时段组合的示例
图3示出了时段组合312的一个结构300的示例。时段组合312被示为包括3个时段,即时段314(1)、时段314(2)和时段314(n)(总称为时段组合314)。时段组合314各自包括选自分段316a-316i(总称为分段316)的3个分段。分段316中的每个分段包括值318a-318i(总称为值318)中的属于那个分段的相应值。应当理解的是,所绘出的时段314和分段316的数量仅是用于说明的目的。时段314和分段316能够分别包括任意数量的时段和分段。
学习过程的示例
图4A示出了学习过程400的一个实施方式的流程图。过程400可以例如作为图2的学习过程252的一部分而被执行。过程400能够至少部分地由能够识别一个或多个时段组合或分段时段并针对特定度量对它们进行排序的任意系统来实施。例如,过程400的全部或部分能够由系统评估器120、数据挖掘系统122、度量预测器124和时间分辨率排序系统126来实施。虽然任意数量的系统能够全部地或部分地实施过程400,但是为了简化讨论,将参照特定系统来对过程400的不同部分进行描述。
过程400从框402开始,在框402中,例如时间分辨率排序系统126从一组时段组合中为度量选择尚未被排序的时段组合。如之前描述的,该度量能够包括与一个或多个计算系统和/或网络相关联的任意类型的资源或特性。时段组合能够包括时间段及其分段的任意组合。例如,时段组合能够包括被划分成24个分段且每个分段为1个小时的一个工作日、被划分成24个分段且每个分段为2个小时的一个周末、被划分成48个分段且每个分段为1个小时的一个周末、被划分成42个分段且每个分段为4个小时的一星期。
在框404,数据挖掘系统122对度量的一些或所有历史数据值进行循环遍历并递增地将它们插入时段组合中的相应时间分段中。通常,相应的时间分段能够包括在其期间对所述数据进行测量的时间分段。框404能够包括对与一个时间分段相关联的数据进行聚集并在与该时间分段相关联的时间点(诸如该时间分段的中间、开始或结束)处对其进行存储。例如,如果时间分段的长度是1个小时,则在9:00与10:00之间测量的数据可以被聚集并被存储在与9:30相关联的存储位置处。聚集能够涉及用于组合数据或确定该数据的统计值的任意算法,诸如对数据进行平均、对数据进行求和、确定中间值或确定最常见的值。框404还能够计算针对相应时间分段的预测值。框404的示例将参照图5进行更详细的描述。
在框406,时间分辨率排序系统126对度量的时段组合和其他时段组合进行排序。对于被评估的第一时段组合,框406可以是可选的,或者该时段组合可以被认为是排序最高的时间分辨率,至少直到其他时段组合被评估为止。对时段组合进行排序能够基于一个或多个排序算法,诸如线性相关算法或预测间隔验证算法。在一些情况中,框406处的排序位于之前排序最高的时段组合与框402处选择的时段组合之间。在一些实施方式中,对时段组合进行排序能够涉及计算每个时段组合上的数据的组合并之后以一个或多个时间周期将每个时段组合的平均误差与该时段组合的实际值进行比较。框406的示例将参照图6和图10进行描述。
在判定块408,时间分辨率排序系统126确定是否存在未被排序的时段组合。如果有,则过程400返回框402并针对尚未被排序的另一时段组合来重复过程400。如果没有未被排序的时段组合,则在框410,时间分辨率排序系统126选择排序最高的时段组合并将其与所述度量相关联。在一些实施方式中,时间分辨率排序系统126可以选择多于一个时段组合(诸如选择前两个或三个时段组合)将其与将与所述度量相关联,。
过程400可以在指定间隔期间执行。例如,过程400可以每晚或一星期一次地自动执行。在其他情况中,过程400可以响应于用户的命令而发生。在一些实施方式中,过程400可以被用来识别度量的特性,诸如最佳地表征度量的值随着时间的变化的时段组合。
图4B示出了学习过程450的一个实施方式的流程图。过程450可以例如作为图2的学习过程252的一部分而被执行。在各种实施方式中,过程450可以作为过程400的替代而被执行。过程450能够至少部分地由能够识别一个或多个时段组合或分段时段并针对特定度量对它们进行排序的任意系统来实施。例如,过程450的全部或部分能够由系统评估器120、数据挖掘系统122、度量预测器124和时间分辨率排序系统126来实施。虽然任意数量的系统能够全部地或部分地实施过程450,但是为了简化讨论,将参照特定系统来对过程450的不同部分进行描述。
过程450从框452开始,在框452中,例如,系统评估器120对有可能可应用于感兴趣的度量的一组预测算法中的一些或所有预测算法进行循环遍历。这组预测算法能够包括例如最小二乘法线性回归算法、Theil-Sen估计函数、基于平均值的预测、指数预测算法等。预测算法的示例将在下面参照图9进行描述。在框454,系统评估器120为当前预测算法选择最佳时段组合。例如,在框454,系统评估器120能够执行与过程400相类似的过程,其中排序最高的时段组合被认为是针对所述预测算法的最佳时段组合。如上面参照过程400所提到的,框454能够产生具有一组预测值的最佳时段组合,该组预测值与感兴趣的度量的一组历史值相对应。
在判定块456,系统评估器120确定在所述组中是否存在尚未被测试的其他预测算法。如果有,则过程450返回框452并针对尚未被测试的另一预测算法来重复过程450。过程450通常将持续到该组中的所有预测算法都已经被测试。如果没有尚未被测试的预测算法,则在框458,系统评估器120对例如在框454的迭代期间选择的每个最佳时段组合进行评估。例如,该评估能够包括对于每个最佳时段组合而言评估该组预测值相对于这组历史值的精度。可以使用用于测量精度、可靠性等的各种方法。例如,在一些实施方式中,该评估能够包括对于每个最佳时段组合而言计算误差测量,诸如平均绝对误差平均值(mean absolute average error)、平均绝对比例误差(meanabsolute scaled error)、均方误差等。在一些实施方式中,误差测量能够集中于预测值的某个范围,诸如预测值的第二半部分。
在框460,基于在框458的评估,系统评估器120在这组预测算法中选择最佳预测算法。该最佳预测算法能够例如是具有最低误差测量的预测算法。在一个典型的实施方式中,最佳预测算法的选择还构成了为那个预测算法选择最佳时段组合。如将参照图8-图9更详细描述的,以此方式,最佳预测算法及其最佳时段组合能够用作计算预测的基础。
图5示出了递增地将历史数据值插入时段组合中的过程500的一个实施方式的流程图。过程500可以例如作为图4A的框404的一部分而被执行。过程500能够至少部分地由能够识别一个或多个时段组合或分段时段并针对特定度量对它们进行排序的任意系统来实施。例如,过程500的全部或部分能够由系统评估器120、数据挖掘系统122、度量预测器124和时间分辨率排序系统126来实施。虽然任意数量的系统能够全部地或部分地实施过程500,但是为了简化讨论,将参照特定系统来对过程500的不同部分进行描述。
在框502,数据挖掘系统122从一组历史值中选择历史值。在框504,数据挖掘系统122选择时段组合的时间段。在一个典型的实施方式中,当选择时间段时,数据挖掘系统122从最高频率的时段向最低频率的时段迭代。例如,如果时段组合包括为天、星期和月的时段,则天时段将是最高频率的时段,月时段将是最低频率的时段。
在框506,数据挖掘系统122计算所选时段的相应时间分段的预测值,其中该相应时间分段是所述历史值所属的分段。例如,如果所选的时段是天时段,所选时段具有1小时的时间分辨率,并且历史值来自上午12:01的时间点,则数据挖掘系统122将计算针对天时段的第一个1小时分段的预测值。该预测值可以基于例如来自相应时间分段的所有可用历史值。计算预测值的算法和方法的示例将在下面参照图9进行描述。
在框508,数据挖掘系统122基于该时段组合的任意更高频率的时段的相应分段来调整历史值。下面的等式1描述了可以如何计算所选时段的调整后的历史值(An)的示例。在等式1中,H表示历史值,n表示时段组合中所选时段的频率位置。例如,在n越低值意味着频率越高的时段的实施方式中,对于最高频率时段(例如,天-星期-月时段组合中的“天”)而言n能够等于零,对于下一最高频率时段(例如,天-星期-月时段组合中的“星期”)而言n能够等于1,等等。
对于框508的第一个迭代(即当n等于零时),调整后的历史值(An)能够被认为等于该历史值(H)。由于如上所述的过程500通常从最高频率向最低频率迭代,所以应当意识到,在该第一个迭代期间,所选择的时段组合是所述时段组合中的最高频率时段。否则,当n大于零时,通常能够假设,该时段组合具有至少一个比所选时段的频率更高的时段。因此,应当意识到,相对于每个这种时段,框504-510将之前已经执行过了。根据该示例,通过框504至510的前一迭代将已经与频率位置n-1处的时段(即就频率而言恰好大于所选时段的时段)有关。因此,An-1表示前一迭代的在框508处计算的调整后的历史值。类似地,Pn-1表示前一迭代的在框506处计算的预测值。以此方式,An能够被计算为An-1与Pn-1之间的差值。
例如,考虑下面的表1,其中出于示例的目的,假设时段组合包括为天、星期和月的时段,以及假设历史值等于50。根据该示例,作为最高频率时段的天时段具有等于历史值(例如,50)的调整后的历史值。另外,星期时段具有等于天时段的调整后的历史值与天时段的预测值之间的差值的调整后的历史值(例如,40)。最后,月时段具有等于星期时段的调整后的历史值与星期时段的预测值之间的差值的调整后的历史值(例如,25)。
时段 | 调整后的历史值 | 预测值 |
天 | 50 | 10 |
星期 | 40 | 15 |
月 | 25 | N/A |
表1
在框510,调整后的历史值被插入所选时段的相应分段中。在判定块512,数据挖掘系统122确定对于在框502处所选的历史值而言在时段组合中是否存在过程500尚未对其进行迭代的任意其他时段。如果有,则过程500返回框504以选择另一时段。如果在判定块512处确定在时段组合中没有过程500尚未对其进行迭代的任意其他时段,则数据挖掘系统122确定是否存在过程500尚未对其进行迭代的任意其他历史值。如果有,则过程500返回框502以选择另一历史值(并且上面描述的n的值能够被认为是被重置为例如零)。否则,过程500前进到框516并结束。
在各种实施方式中,如上所述的以递增的方式插入调整后的历史值具有许多优势。例如,这种插入能够具有从较低频率时段过滤属于较高频率时段的信息的有益效果。例如,如果感兴趣的度量是处理器的使用,则历史值会受到其时间点是否位于一星期中的第一天中、一个月中的第一天中、一个工作日的最初几个小时中等的影响。现在参照上面的表1对插入调整后的历史值的递增效果的示例进行描述。
如表1所示,作为最高频率时段的天时段的调整后的历史值包括来自示例性历史值的所有信息。然而,不同的是,星期时段的调整后的历史值对如下信息进行过滤,即被假定为表示天时段的相应分段期间的“预期”活动的信息。在某些实施方式中,天时段的预测值能够被用作这种“预期”活动的测量。因此,如上所述,该过滤能够通过从天时段的调整后的历史值中减去天时段的预测值来实现。因此,星期时段的调整后的历史值能够被认为包括除了被认为在那个时刻对于天时段而言是“预期的”的信息之外的任何“新”信息。
以类似的方式,月时段的调整后的历史值进一步对如下信息进行过滤,即被假定为表示星期时段的相应分段期间的“预期”活动的信息。以与如上所述相类似的方式,星期时段的预测值能够被用作星期时段期间的“预期”活动的测量。因此,月时段的调整后的历史值能够通过从星期时段的调整后的历史值中减去星期时段的预测值来计算(和过滤)。结果,月时段的调整后的历史值能够被认为包括除了被认为在那个时刻对于天时段而言是“预期的”的信息以及除了被认为在那个时刻对于星期时段而言是“预期的”的信息之外的任何“新”信息。
图6示出了对与度量有关的时段组合进行排序的过程600的一个实施方式的流程图。过程600可以例如作为图4A的框406的一部分而被执行。另外,过程600可以例如在图5的过程500之后执行。过程600能够至少部分地由能够识别一个或多个时段组合或分段时段并针对特定度量对它们进行排序的任意系统来实施。例如,过程600的全部或部分能够由系统评估器120、数据挖掘系统122、度量预测器124和时间分辨率排序系统126来实施。虽然任意数量的系统能够全部地或部分地实施过程600,但是为了简化讨论,将参照特定系统来对过程600的不同部分进行描述。
在框602,时间分辨率排序系统126将一组历史值与一组预测值进行比较。该组预测值可以是例如图5的框506的累加结果。该比较能够包括利用各种分析算法,诸如线性相关算法、预测间隔验证算法等。在框604,时间分辨率排序系统126基于该比较计算评分。例如,该评分能够在数学上处理在框602处利用的分析算法的结果。在框606,时间分辨率排序系统126根据评分对时段组合进行排序。例如通过从最高评分向最低评分(或者反之亦可)对所有时段组合进行排序,时段组合能够被给予相对于其他时段组合的排序。将参照图10对过程600的一个具体示例进行描述。
聚集过程的示例
图7示出了聚集过程700的一个实施方式的流程图。过程700能够至少部分地由能够收集数据并将该数据与所选时段组合的历史值或之前收集的数据(诸如由过程700所选择的数据)聚集的任意系统来实施。例如,过程700的全部或部分能够由系统评估器120、数据挖掘系统122、度量预测器124和时间分辨率排序系统126来实施。虽然任意数量的系统能够全部地或部分地实施过程700,但是为了简化讨论,将参照特定系统来对过程700的不同部分进行描述。
过程700从框702开始,在框702处,例如,数据挖掘系统122获得针对一个度量的一组数据值。该数据可以通过访问一个或多个计算系统(例如,客户端110、服务器112、网络114等)以确定该数据来获得,和/或通过访问在数据库116上收集并存储的数据来获得。在框704,数据挖掘系统122对这组数据值进行聚集以确定聚集值。对这组数据值进行聚集能够包括确定与该数据相关联的一个或多个统计和/或数学值,诸如平均值、标准偏差、众数(mode)、中值、和值等。
在框706,数据挖掘系统122确定聚集值的时间点。该时间点能够包括从其中收集的用来生成聚集值的数据的时间分段中的任意时刻、在其期间原本发生该数据的测量的时间分段中的任意时刻或在促使将生成该数据的事件期间的任意时刻。例如,如果该数据在1小时时段上收集,则时间点能够是该1小时的开始、该1小时的结束、该1小时的中间或该1小时中的任意其他时刻。在一些实施方式中,可以为时段组合确定多于一个时间点。另外,在一些情况中,可以为与聚集值相关联的一组时段组合中的每个时段组合确定一个或多个时间点。
在框708,数据挖掘系统122将聚集值与和度量相关联的时段组合的时间点相关联。例如,数据挖掘系统122能够递增地将聚集值插入时段组合的每个时段的相应分段中,如参照图5的过程500所描述的。在一些情况中,框708可以涉及将聚集值与不止一个时段组合的时间点相关联。
在一些实施方式中,过程700能够用来确定这样的曲线或图形,即与度量相关联的数据如何随时间而变化或者即使该数据随时间而变化而不保持稳定状态。
过程700可以在指定间隔期间执行。例如,过程700可以每晚或一星期一次地自动执行。在其他情况中,过程700可以响应于用户的指令而发生。在一些情况中,过程700可以每小时或每几个小时发生一次。典型地,虽然不是必须的,但是过程700可以比过程700运行得更频繁,并且可以消耗更低的计算资源来执行。在一些实施方式中,过程700的执行越频繁,可以用来促成对未来度量值的预测的数据就越多,并且结果,预测就可以更准确。将在下面参照图8对度量值进行预测的示例进行更详细的描述。
预测过程的示例
图8示出了预测过程800的一个实施方式的流程图。过程800能够至少部分地由能够预测度量的值的任意系统来实施。例如,过程800的全部或部分能够由系统评估器120、数据挖掘系统122、度量预测器124和时间分辨率排序系统126来实施。虽然任意数量的系统能够全部地或部分地实施过程800,但是为了简化讨论,将参照特定系统来对过程800的不同部分进行描述。
过程800从框802开始,在框802中,例如,度量预测器124接收度量的标识和未来时间点。该度量的标识能够用于用户或应用试图获得对其未来值的预测的任意度量。未来时间点能够包括用户或应用试图为其确定或评估度量的值的一个或多个将来的时间点。例如,该度量可以是CPU的使用、硬盘的使用、网络的带宽等,以及未来时间点可以是从执行框802的时间点开始的下一个星期、下一个月、下一年等。在一些情况中,框802可以包括接收一组百分比阈值以便于促进确定未来度量值。例如,该百分比阈值可以用来识别度量是否指示在到达未来时间点时将需要更多的资源。
在框804,度量预测器124检索与度量和/或预测算法相关联的时段组合。在一些实施方式中,该时段组合和预测算法在之前作为一对被选择并且在学习过程(诸如图4B中的学习过程450)期间与所述度量相关联。在又一些实施方式中,在学习过程(例如,图4A的学习过程400)期间,仅时段组合可能已经与所述度量相关联。在这些实施方式中,预测算法可以是预设的、动态选择的等。例如,预测算法可以是在预测时基于诸如参照图4B描述的误差测量之类的标准来动态地选择。
在框806,度量预测器124利用预测算法来计算时段组合的每个时段的中间预测值。如上面参照图3和图5所描述的,时段组合通常包括一个或多个时段(例如,小时、天、星期、月等)。因此,未来时间点将通常在一个或多个时段中的每个时段中具有相应的分段(例如,覆盖了未来时间点落入其中的时间范围的分段)。因此,对于每个分段,中间预测值能够基于在例如诸如图5的过程500之类的过程期间被插入相应分段中的和/或在诸如图7的过程700之类的过程期间被聚集的历史值来计算。将参照图9描述如何应用预测算法的示例。
在框808,度量预测器124根据中间预测值来计算度量的预测值。通常,如参照图5和图7描述的,时段组合中的每个时段中已经以从最高频率时段至最低频率时段的递增方式插入了历史值。因此,每个中间预测值能够被认为具有关于所述度量的“新”信息。该预测值能够通过在数学上处理中间预测值来计算。例如,在某些实施方式中,预测值可以是中间预测值的总和。
现在将参照下面的表2来描述框808的示例。表2示出了包括为天、星期和月的时段的示例性时段组合的示例性中间预测值。如表所示,天时段是最高频率的时段,并且基于其针对未来时间点的相应分段而具有40的中间预测值。星期时段的中间预测值指示了:基于星期时段的未来时间点落入其中的分段,对于天时段而言,比原本预期的存在5的预测的增加。另外,月时段的中间预测值指示了:基于月时段的未来时间点落入其中的分段,对于天时段和月时段而言,,比原本预期的存在20的预测的增加。因此,该度量的示例性预测值可以是中间预测值的和(即65)。
时段 | 中间预测值 |
天 | 40 |
星期 | 5 |
月 | 20 |
表2
在框810,度量预测器使得预测值被输出。该值可以被呈现给用户或提供给应用,即在一些情况中,能够基于预测值是否满足一个或多个规则来向用户告警。该值还可以用于报告用途。在一些情况中,输出预测值可以包括输出将在未来时间点处发生的资源消耗的百分比。
预测算法的示例
现在将描述能够在某些实施方式中使用的预测算法的示例。例如,这里描述的预测算法能够在上面描述的某些功能框期间使用,这些功能框包括但不局限于图2A的框210、图5的框506和图8的框806。在各种实施方式中,预测算法可以是特定的预测公式、多个预测公式的组合等。出于说明的目的,将描述线性预测公式。应当意识到,在不背离这里描述的原理的情况下,也可以利用指数预测公式。
等式2是能够用来计算针对未来时间点(xp)的度量的预测值(yp)的线性公式。预测值(yp)可以是例如参照图8描述的中间预测值。等式3-等式5示出了能够用来为斜率(即a)和y截距(即b)提供值的示例性公式。为方便起见,在各种实施方式中,所有时间点(包括未来时间点)可以用系统时间来表示。例如,根据UNIX时间,每个时间点能够被表示为该时间点与1970年1月1日午夜协调的世界时间之间用毫秒测量的差值。
yp=axp+b 等式2
一般来说,等式3-等式5的操作涉及一组历史值(y)和一组时间点(x)。因此,一个给定的历史值(yi)通常与一个时间点(xi)有关。出于等式3-等式5的目的,变量n对应于这组历史值中值的数量。这组历史值典型地是已经被插入或聚集到给定时间段的给定分段中的那些值。
下面的等式3是最小二乘线性回归的示例。
下面的等式4是Theil-Sen估计函数的示例。
b=median{yi-axi:i=1,...,n} 等式4
下面的等式5是基于平均值进行预测的公式的示例。
a=0
在各种实施方式中,当与等式2组合时,等式3-等式5中的每个等式是能够如参照图4B的过程450所描述的那样进行选择并如参照图8的过程800所描述的那样用来计算中间预测值的预测算法的示例。另外,在各种实施方式中,预测算法能够对一个或多个等式(诸如等式3-等式5)进行组合。例如,一个或多个其他公式可以用来支持在预测时预测算法的选择。
图9示出了计算预测值的过程900的一个实施方式的流程图。该预测值可以是例如参照图8的框806描述的中间预测值。在各种实施方式中,过程900能够作为框806的一部分而被执行。过程900能够至少部分地由能够预测度量的值的任意系统来实施。例如,过程900的全部或部分能够由系统评估器120、数据挖掘系统122、度量预测器124和时间分辨率排序系统126来实施。虽然任意数量的系统能够全部地或部分地实施过程900,但是为了简化讨论,将参照特定系统来对过程900的不同部分进行描述。
在框902,度量预测器124测试n个历史数据值的集合的趋势。该n个历史值的集合可以是例如来自参照图5所描述的时段的相应分段的值。在各种实施方式中,在框902处可以执行曼肯德尔测试。
在下面的等式6中示出曼肯德尔测试的示例。该n个历史值的集合由y表示。如等式6所示,能够计算S-统计(S)和S-统计的标准偏差(σs)。此后,能够计算对趋势的显著性进行测量的检验统计量(Z)。在各种实施方式中,能够计算多个检验统计量。例如,能够针对这组历史值的全部来计算一个检验统计量(Z全部),并且能够针对这组历史值的第二半部分(其中,第二半部分可以是例如与时间、值的数量等有关的第二半部分)来计算另一检验统计量(Z2H)。
在判定块904,度量预测器124确定是否执行线性回归(例如,根据等式3的最小二乘线性回归)。该确定能够基于可配置的标准,诸如Z全部和Z2H的值。例如,在各种实施方式中,如果Z全部具有至少某阈值(例如,大于2.4)且Z2H具有至少某阈值(例如,大于或等于0.75),则度量预测器124可以确定执行线性回归并转到框906。在框906,度量预测器124根据上面描述的等式3执行例如最小二乘线性回归。
如果在判定块904处确定不执行线性回归,则度量预测器124转到判定块908。此时,出于该示例的目的,度量预测器124已经确定基于平均值执行预测。在判定块908,度量预测器124确定是否基于例如这组历史值的全部或这组历史值的仅第二半部分的平均值来执行预测。如上所述,该确定能够基于可配置的标准,诸如Z全部和Z2H的值。例如,在各种实施方式中,如果Z全部具有至少某阈值(例如,大于2.4)且Z2H具有至少某阈值(例如,小于0.75),则度量预测器124可以确定基于这组历史值的仅第二半部分的平均值来执行预测。
如果在判定块908处确定基于这组历史值的仅第二半部分的平均值来执行预测,则度量预测器124转到框910。在框910,度量预测器124使用例如等式5、基于这组历史值的第二半部分的平均值来计算预测值。如果在判定块908处确定不基于这组历史值的仅第二半部分的平均值来执行预测,则度量预测器124转到框912。在框912,度量预测器124使用例如等式5、基于这组历史值的全部来计算预测值。在框914,过程900结束。
在各种实施方式中,过程900可以被认为是能够如参照图4B的过程450所描述的那样进行选择的预测算法的示例。在各种其他实施方式中,过程900可以被认为是如何应用线性回归预测算法(例如等式3中给出的最小二乘线性回归)的示例。在这些实施方式中,过程900能够用来通过验证这组历史值的趋势来确保预测质量。如上面指出的,如果不存在足够的趋势,则可以替代地执行基于平均值的预测。
排序和评分算法的示例
图10示出了对与度量有关的时段组合进行排序的过程1000的一个实施方式的流程图。过程1000可以例如作为图4A的框406的一部分而被执行。在一个典型的实施方式中,过程1000是显示能够如何执行图6的过程600的具体示例。因此,类似于过程600,过程1000可以例如在图5的过程500之后执行。
过程1000能够至少部分地由能够识别一个或多个时段组合或分段时段并针对特定度量对它们进行排序的任意系统来实施。例如,过程1000的全部或部分能够由系统评估器120、数据挖掘系统122、度量预测器124和时间分辨率排序系统126来实施。虽然任意数量的系统能够全部地或部分地实施过程1000,但是为了简化讨论,将参照特定系统来对过程1000的不同部分进行描述。
在框1002,时间分辨率排序系统126计算度量的一组预测值与度量的一组历史值的线性相关性。该组预测值可以是例如图5的框506的累加结果。下面的等式7描述了计算这组预测值(x)与这组历史值(y)之间的线性相关性(Lc)的示例。每个预测值(xi)通常对应于历史值(yi)并且之前(例如,在图5的框506处)针对历史值(yi)的时间点而被计算过。在等式7的背景下,这组预测值和这组历史值各自包括n个值。线性相关性(Lc)的范围可以是-1至1,其中值越高表明相关性越好。
在框1004,时间分辨率排序系统126计算预测间隔。该预测间隔是对预计未来值以某期望几率驻留于其中的间隔的估计。该预测间隔通常具有[l,u]的形式,其中l是下限而u是上限。例如,在一些实施方式中,时间分辨率排序系统126计算百分之六十的预测间隔,使得未来值的百分之二十将预期小于下限且未来值的百分之二十将预期大于上限。该预测间隔能够经由各种方法来计算,包括例如非参数方法、假设正态分布的各种方法、回归分析、贝叶斯统计方法等。
下面的等式8是如何将预测间隔(I)计算为百分之六十的预测间隔的示例。在等式8中,每个xi指代这组历史值中的特定值,x指代这组历史值的平均值,n是这组历史值中的值的数目以及σ是这组历史值的标准偏差(例如,如等式8中所计算的那样)。出于该示例的目的,假设这组历史值是相对于平均值的正态分布。如所示的,基于这些假设,p20和p80(即I的上限和下限)能够分别被计算为以0.85标准偏差低于平均值和以0.85标准偏差高于平均值应当意识到,通过用任意适当数目的距离平均值的标准偏差来替代0.85,能够将等式8配置成任意期望的预测间隔。
I=[p20,p80] 等式8
在框1006,时间分辨率排序系统126执行预测间隔验证。继续上面的百分之六十的预测间隔的示例,如等式9所示,时间分辨率排序系统126能够计算验证值(V),其中R是这组历史值中落入预测间隔内的历史值的数目,n是这组历史值中的历史值的数目。对于百分之六十之外的预测间隔,等式9能够被调整成利用适当百分比的十进制值来替换0.6。
在框1008,时间分辨率排序系统126计算一个外部区域(outside area)。在一个典型的实施方式中,该外部区域用于降低有趋势预测例如明显大于相应历史值的值的算法的评分。等式10是说明如何计算相对于这组预测值(x)与这组历史值(y)计算外部区域(A)的示例。每个预测值(xi)通常对应于历史值(yi)并且之前(例如,在图5的框506处)针对历史值(yi)的时间点而被计算过。在等式10的背景下,这组预测值和这组历史值各自包括n个值。如果例如每个预测值等于其相应的历史值,则外部区域(A)通常等于-1。
在框1010,时间分辨率排序系统126计算时段组合的评分。在一个典型的实施方式中,该评分可以是例如分别在框1002、1006和1008处计算的Lc、V和A的和。如上面参照图4A的过程400、图4B的过程450和图6的过程600所描述的,该评分能够用作对时段组合进行排序的基础。
噪声过滤的示例
图11-图12描述了执行噪声过滤的示例。特别地,图11提供了对被确定为噪声的值进行过滤的示例。图12提供了对被确定为噪声的分段进行过滤的示例。应当意识到,参照图11-图12描述的各个过程能够在上面描述的过程中的任意点处执行。
图11示出了执行值的噪声过滤的过程1100的一个实施方式的流程图。过程1100能够至少部分地由能够识别并估计度量的值的任意系统来实施。例如,过程1100的全部或部分能够由系统评估器120、数据挖掘系统122、度量预测器124和时间分辨率排序系统126来实施。虽然任意数量的系统能够全部地或部分地实施过程1100,但是为了简化讨论,将参照特定系统来对过程1100的不同部分进行描述。
在框1102,时间分辨率排序系统126对度量的一组历史值中的噪声值进行识别。关于什么构成了噪声的各种标准能够被建立。例如,在某些实施方式中,给定历史值可以被认为是噪声,如果:(1)该值高于这组历史值中的百分之九十五的历史值并且比这组历史值的平均值大百分之二十以上;或者(2)该值低于这组历史值中的百分之九十五的历史值并且小于这组历史值的平均值的百分之八十。在框1104,时间分辨率排序系统126评估具有或没有噪声值时的预测质量。
等式11提供了计算预测质量(Q)的公式的示例,其中n是该等式应用于其上的一组历史值中的值的数目,σ表示该组历史值的标准偏差。出于该示例的目的,假设正态分布。对于该组历史值中的给定值,p80i和p20i分别是该给定值所属的分段的百分之八十和百分之二十处的值。类似地,和σi分别是该给定值所属的分段的平均值和标准偏差。
基于正态分布的假设,每个p20i和p80i能够分别被计算为例如以0.85标准偏差低于平均值和以0.85标准偏差高于平均值应当意识到,例如通过用适当数目的距离平均值的标准偏差来替代0.85,能够将等式11调整到期望的百分比。在各种实施方式中,预测质量Q被计算两次:一次针对具有噪声值的这组历史值(Q全部)以及一次针对不具有噪声值的这组历史值(Q过滤后)。
在框1106,如果确定预测质量在没有噪声值的情况下更大的话,则时间分辨率排序系统126对噪声值进行过滤。例如,依据不同的实施方式,时间分辨率排序系统126能够避免将噪声值插入给定时段的相应分段中或者移除噪声值。
应当意识到,图11的过程1100能够在上面描述的过程的各种点处执行。例如,过程1100能够作为学习过程(诸如图2B的学习过程252)的一部分而被执行。在这些实施方式中,过程1100可以例如在图4A的过程400、图4B的过程450、图5的过程500、图6的过程600等之后或期间执行。过程1100能够例如在对时段组合进行评分和排序之前或之后执行。在各种实施方式中,过程1100还能够作为聚集过程(诸如图2B的聚集过程254或图7的过程700)的一部分而被执行。另外,过程1100能够在执行如参照图8的过程800和图9的过程900所描述的预测之前执行。
图12示出了执行分段的噪声过滤的过程1200的一个实施方式的流程图。过程1200可以例如在图4A的过程400、图4B的过程450、图5的过程500、图7的过程700、图8的过程800、图9的过程900和/或图10的过程1000之后或期间执行。过程1200能够至少部分地由能够识别并估计度量的值的任意系统来实施。例如,过程1200的全部或部分能够由系统评估器120、数据挖掘系统122、度量预测器124和时间分辨率排序系统126来实施。虽然任意数量的系统能够全部地或部分地实施过程1200,但是为了简化讨论,将参照特定系统来对过程1200的不同部分进行描述。
过程1200从框1202开始,在框1202中,例如,时间分辨率排序系统126对时段组合的时间段的分段进行循环遍历。每个分段包含感兴趣度量的值(有可能是调整后的形式)。一般来说,对于时间段的每个分段而言,过程200的目的是确定该分段是否是在执行预测时不应当被考虑的噪声。在一个典型的实施方式中,时间段是时段组合的最高频率时段之外的时段。例如,时间段可以是时段组合的最低频率时段。例如,在各种实施方式中,每当月时段出现在时段组合中时,能够相对于月时段来执行过程1200。另外,过程900的执行能够以所使用的特定预测算法调节。例如,在一些实施方式中,过程1200可以仅相对于使用线性回归、图9的过程900等被用来执行预测的时段组合而被执行。
在框1204,时间分辨率排序系统126将时间段的当前分段划分成子分段。在各种实施方式中,时间段的涉及当前分段包含一个或多个值的每个实例都可以是一个子分段。例如,如果时间段是月时段,则涉及当前分段包含值的每个独特的月都可以被认为是子分段。考虑这样的示例:当前分段对应于月时段的第18天的[12:00-18:00]6小时分段。如果当前分段包括2012年5月18日、2012年6月18日和2012年7月18日的历史值,则2012年5月18日、2012年6月18日和2012年7月18日中的每一者可以是子分段(分别为S1、S2和S3)。每个这种子分段能够包括例如每小时收集的感兴趣度量的值。
在框1206,时间分辨率排序系统126计算当前分段的一个或多个分段噪声值。等式12提供了使用双样本检验来计算分段噪声值(t)的示例。该双样本检验使用第一样本和第二样本。这两个样本通常是选自当前分段的两个子分段。根据等式12,μ1是第一样本的平均值,σ1是第一样本的标准偏差,以及n1是第一样本中的值的数量。以类似的方式,μ2是第二样本的平均值,σ2是第二样本的标准偏差,以及n2是第二样本中值的数量。在一个典型的实施方式中,为一个子分段与另一子分段的每个可能配对计算分段噪声值(t)。例如,继续上面的示例S1、S2和S3,三个潜在的配对是可能的:S1-S2、S1-S3和S2-S3。因此,能够计算三个分段噪声值t1、t2和t3。
在框1208,时间分辨率排序系统126选择在框1206处计算的最大分段噪声值。例如,在如上所述的三个分段噪声值的情况中,最大分段噪声值能够等于t1、t2和t3中的最大值。在框1210,时间分辨率排序系统126确定最大分段噪声是否大于可配置阈值(例如,1.2)。如果大于可配置阈值,则在框1212允许将当前分段被包括在该时间段中。如果在框1210处确定最大分段噪声值不大于可配置阈值,则过程1200转到框1214。
在框1214,时间分辨率排序系统126从该时间段中包括的分段中过滤当前分段。在一个典型的实施方式中,过滤当前分段涉及确保在使用时段组合执行预测时没有考虑该当前分段。构成过滤的细节可以基于例如何时执行所述过滤而变化。例如,过滤能够涉及标记所过滤的当前分段,移除已经插入当前分段中的任何值,如果尚没有值被插入则不在该分段中插入任何值,在该当前分段中包括单个的零值,将当前分段从当前预测中排除等。
在框1216,时间分辨率排序系统126确定是否存在尚未被测试的时间段的分段。如果有,则过程1200返回框1202并针对该时间段的另一分段来重复过程1200。否则,该过程1200转到框1218。在框1218,过程1200结束。
应当意识到,图12的过程1200能够在上面描述的过程的各种点处执行。例如,过程1200能够作为学习过程(诸如图2B的学习过程252)的一部分而被执行。在这些实施方式中,过程1200可以例如在图4A的过程400、图4B的过程450、图5的过程500、图6的过程600等之后或期间执行。过程1200能够例如在对时段组合进行评分和排序之前或之后执行。在各种实施方式中,过程1200还能够作为聚集过程(诸如图2B的聚集过程254或图7的过程700)的一部分而被执行。另外,过程1200能够在执行如参照图8的过程800和图9的过程900所描述的预测之前执行。
术语
已经在整个本公开描述了多个计算系统。这些系统的描述不意欲限制本公开的教导或可应用性。例如,这里描述的用户系统通常可以包括任意的计算设备,诸如台式电脑、膝上型计算机、视频游戏平台、电视机机顶盒、电视机(例如,互联网电视)、计算机化仪器以及无线移动设备(例如智能电话、PDA、平板计算机等),等等。另外,这里描述的用户系统可以是不同类型的设备,以包括不同的应用或被不同地进行配置。另外,这里描述的用户系统可以包括任意类型的操作系统(“OS”)。例如,这里描述的移动计算系统能够实施安卓TMOS、OS、OS或iOS、基于Linux或Unix的OS或这些OS的组合等。
另外,所示系统的各种部件的处理能够被分布在多个机器、网络和其他计算资源上。另外,系统的两个或更多个部件能够被组合成更少的部件。例如,被示为系统评估器120的一部分的各种系统能够分布在多个计算系统上或被组合到单个计算系统中。另外,所示系统的各种部件能够在一个或多个虚拟机而非专用计算机硬件系统中实施。类似地,所示的数据存储库能够表示物理和/或逻辑数据存储器,包括例如存储器域网或其他分布式存储系统。而且,在一些实施方式中,所示部件之间的连接表示可能的数据流路径而非硬件之间的实际连接。虽然示出了可能的连接的一些示例,但是在各种实现方式中,所示部件的任何子集能够与部件的任何其他子集通信。
依据不同的实施方式,这里描述的任何算法的某些动作、事件或功能能够以不同顺序执行,能够被添加、合并或完全排除(例如,对于算法的实践而言,并非所有描述的动作或事件都是必需的)。而且,在某些实施方式中,例如通过多线程处理、中断处理、或多个处理器或处理器核或其他并行架构,动作或事件能够同时执行而非顺序执行。
可以将各种所示系统中的每个系统实施为被编程或配置成执行这里描述的各种功能的计算系统。该计算系统可以包括通过网络通信并互操作以执行所描述功能的多个独立的计算机或计算设备(例如物理服务器、工作站、存储器阵列等)。每个这种计算设备典型地包括执行存储在存储器或其他非短暂性计算机可读存储介质中的程序指令或模块的处理器(或多个处理器)。这里描述的各种功能能够用这种程序指令来体现,虽然一些或所有所公开的功能可以可替换地在计算机系统的专用电路(例如ASIC或FPGA)中实施。在计算系统包括多个计算设备的情况中,这些设备可以但不一定要位于同一位置。可以通过将物理存储设备(诸如固态存储器芯片和/或磁盘)转换到不同的状态中来不断地存储所公开方法和任务的结果。所描述的每个过程可由一个或多个计算设备(诸如用关联的服务器代码编程的一个或多个物理服务器)来实施。
除非以其他方式明确指出或者在所使用的上下文中理解到,否则这里使用的条件性语言,诸如“能够”、“可”、“可以”、“例如”等,通常意欲表达某些实施方式包括某些特征、元件和/或状态,而某些其他实施方式不包括某些特征、元件和/或状态。因此,这种条件性语言通常不意欲暗示,在一个或多个实施方式中一定需要这些特征、元件和/或状态或者一个或多个实施方式必需包括用于在具有或没有作者输入或提示的情况下判定这些特征、元件和/或状态是否被包括或将在任何特定实施方式中被执行的逻辑。术语“包括”、“包含”、“具有”等是同义词且以开放式被包括性地使用,且不排除其他元件、特征、动作、操作等。此外,术语“或者”以其包括性含义(而非以排他性含义)被使用,以使其在例如用于连接元件的清单时,术语“或者”意味着该清单中的一个、一些或所有元件。另外,这里使用的术语“每个”除了具有其通常意义之外,还能够意味着术语“每个”应用于其上的元件集的任何子集。
虽然上面的详细描述已经示出、描述和指出了应用于各种实施方式的新颖特征,但是应该理解,在不偏离本公开的精神的情况下,可以对所示设备或算法的形式和细节进行各种省略、替换和改变。如将认识到的,这里描述的过程能够在不提供这里阐述的所有特征和益处的形式中得到体现,因为一些特征可以与其它特征分开使用或实践。保护范围由所附权利要求书而非前面的描述限定。落入权利要求书的含义和等价变换的范围的所有改变都包含在权利要求书的范围中。
虽然已经在附图中示出并在前面的具体实施方式部分描述了本发明的方法和装置的各种实施方式,但是应该理解,本发明不局限于所公开的实施方式,而是能够在不背离这里阐述的本发明的精神的情况下进行各种重新排列、修改和替换。
Claims (40)
1.一种方法,包括:
由包括计算机硬件的计算机系统识别针对感兴趣度量的多个时段组合;
其中,每个时段组合包括一个或多个时间段并且所述一个或多个时间段中的每个时间段包括一个或多个分段;
对于所述多个时段组合中的每个时段组合以及所述感兴趣度量的多个历史值中的每个历史值,所述计算机系统递增地将所述历史值插入所述一个或多个时间段中的相应分段中;
其中,对于所述一个或多个时间段中的每个时间段而言,所述递增地插入包括:
识别针对所述历史值的相应分段;
计算所述相应分段的预测值;
基于所述时段组合的任何更高频率的时间段来调整所述历史值;以及
将调整后的历史值插入所述相应分段中;
由所述计算机系统基于所述多个历史值与相应预测值的组之间的比较对所述多个时段组合进行排序;以及
由所述计算机系统将排序最高的时段组合选为最佳表征所述感兴趣度量的时段组合。
2.根据权利要求1所述的方法,该方法还包括:
针对多个预测算法中的每个预测算法来执行所述识别、所述递增地插入、所述排序和所述选择;
评估每个排序最高的时段组合;以及
基于所述评估,为所述感兴趣度量选择最佳预测算法。
3.根据权利要求2所述的方法,其中,对于所述多个预测算法中的每个预测算法,所述预测值的计算包括利用所述预测算法。
4.根据权利要求1所述的方法,其中,所述递增地插入包括从最高频率向最低频率对一个或多个时间段进行迭代。
5.根据权利要求4所述的方法,其中,所述调整后的历史值的计算包括:
对所述一个或多个时间段的紧接着的更高频率的时间段进行识别;以及
对于该紧接着的更高频率的时间段的相应分段,运算所述调整后的历史值与所述预测值之间的差值。
6.根据权利要求1所述的方法,其中,所述多个时间段的最高频率时段的调整后的历史值包括所述历史值。
7.根据权利要求1所述的方法,其中,对于所述多个时段组合中的每个时段组合,所述排序包括:
将所述多个历史值与一组相应预测值进行比较;
基于所述比较计算评分;以及
根据所述评分对所述时段组合进行排序。
8.根据权利要求1所述的方法,该方法包括将所述感兴趣度量的新历史值聚集到所述排序最高的时段组合的相应分段中。
9.根据权利要求1所述的方法,其中,对于所述多个时段组合中的每个时段组合,所述排序包括:
运算一组预测值与所述一组历史值的线性相关性;
计算预测间隔;
执行预测间隔验证;
计算外部区域;
基于所述线性相关性、所述预测间隔验证和所述外部区域来确定所述时段组合的评分;以及
根据所述评分对所述时段组合进行排序。
10.根据权利要求1所述的方法,该方法包括对所述多个历史值的值执行噪声过滤。
11.根据权利要求1所述的方法,该方法包括:对于所述排序最高的时段组合的至少一个时间段,执行所述一个或多个分段的噪声过滤。
12.根据权利要求11所述的方法,其中,对于所述一个或多个分段的每个分段,所述执行所述一个或多个分段的噪声过滤包括:
将所述分段划分成子分段;
为其中一个所述子分段与另一所述子分段的每个可能配对计算分段噪声值;
选择最大的分段噪声值;以及
响应于所述最大分段噪声值超过阈值而从所述至少一个时间段中过滤所述分段。
13.一种信息处理系统,包括:
至少一个计算机处理器,其中,所述至少一个计算机处理器可操作以执行包括以下步骤的方法:
识别针对感兴趣度量的多个时段组合;
其中,每个时段组合包括一个或多个时间段并且所述一个或多个时间段中的每个时间段包括一个或多个分段;
对于所述多个时段组合中的每个时段组合以及所述感兴趣度量的多个历史值中的每个历史值,递增地将所述历史值插入所述一个或多个时间段中的相应分段中;
其中,对于所述一个或多个时间段中的每个时间段而言,所述递增地插入包括:
识别针对所述历史值的相应分段;
计算所述相应分段的预测值;
基于所述时段组合的任何更高频率的时间段来调整所述历史值;以及
将调整后的历史值插入所述相应分段中;
基于所述多个历史值与相应预测值的组之间的比较对所述多个时段组合进行排序;以及
将排序最高的时段组合选为最佳表征所述感兴趣度量的时段组合。
14.根据权利要求13所述的信息处理系统,该信息处理系统包括:
针对多个预测算法中的每个预测算法来执行所述识别、所述递增地插入、所述排序和所述选择;
评估每个排序最高的时段组合;以及
基于所述评估,为所述感兴趣度量选择最佳预测算法。
15.根据权利要求14所述的信息处理系统,其中,对于所述多个预测算法中的每个预测算法,所述预测值的计算包括利用所述预测算法。
16.根据权利要求13所述的信息处理系统,其中,所述递增地插入包括从最高频率向最低频率对一个或多个时间段进行迭代。
17.根据权利要求16所述的信息处理系统,其中,所述调整后的历史值的计算包括:
对所述一个或多个时间段的紧接着的更高频率的时间段进行识别;以及
对于该紧接着的更高频率的时间段的相应分段,运算所述调整后的历史值与所述预测值之间的差值。
18.根据权利要求13所述的信息处理系统,其中,所述多个时间段的最高频率时段的调整后的历史值包括所述历史值。
19.根据权利要求13所述的信息处理系统,其中,对于所述多个时段组合中的每个时段组合,所述排序包括:
将所述多个历史值与一组相应预测值进行比较;
基于所述比较计算评分;以及
根据所述评分对所述时段组合进行排序。
20.一种包括非短暂性计算机可用介质的计算机程序产品,该非短暂性计算机可用介质上具有计算机可读程序代码,所述计算机可读程序代码适用于被执行以实施包括以下步骤的方法:
识别针对感兴趣度量的多个时段组合;
其中,每个时段组合包括一个或多个时间段并且所述一个或多个时间段中的每个时间段包括一个或多个分段;
对于所述多个时段组合中的每个时段组合以及所述感兴趣度量的多个历史值中的每个历史值,递增地将所述历史值插入所述一个或多个时间段中的相应分段中;
其中,对于所述一个或多个时间段中的每个时间段而言,所述递增地插入包括:
识别针对所述历史值的相应分段;
计算所述相应分段的预测值;
基于所述时段组合的任何更高频率的时间段来调整所述历史值;以及
将调整后的历史值插入所述相应分段中;
基于所述多个历史值与相应预测值的组之间的比较对所述多个时段组合进行排序;以及
将排序最高的时段组合选为最佳表征所述感兴趣度量的时段组合。
21.一种方法,包括:
由包括计算机硬件的计算机系统接收感兴趣度量的标识和未来时间点;
由所述计算机系统检索之前与所述感兴趣度量相关联的预测配置,所述预测配置包括时段组合;
其中,所述时段组合包括多个时间段,每个时间段包括一个或多个分段,并且所述一个或多个分段中的每个分段包括所述感兴趣度量的被递增地插入其中的调整后的历史值;
对于所述多个时间段中的每个时间段:
所述计算机系统为未来时间点识别所述一个或多个分段中的相应分段;
由所述计算机系统对来自所述相应分段的一组调整后的历史值进行评估;以及
由所述计算机系统根据所述一组调整后的历史值计算中间预测值;以及
由所述计算机系统基于所述计算来运算所述感兴趣度量的预测值。
22.根据权利要求21所述的方法,其中,所述运算包括运算每个中间预测值的和。
23.根据权利要求21所述的方法,其中:
所述预测配置包括之前与所述感兴趣度量相关联的预测算法;以及
所述计算包括利用所述预测算法。
24.根据权利要求23所述的方法,其中,所述预测算法从以下的组中选出:最小二乘法线性回归算法、Theil-Sen估计函数、基于平均值的预测和指数预测算法。
25.根据权利要求21所述的方法,该方法包括促使输出所述预测值。
26.根据权利要求21所述的方法,其中,所述计算包括:
测试所述一组调整后的历史值的趋势;
基于所述测试的结果,确定所述一组调整后的历史值是否满足执行线性回归的标准;
响应于确定所述一组调整后的历史值满足执行线性回归的标准,使用线性回归计算所述中间预测值;以及
响应于确定所述一组调整后的历史值不满足执行线性回归的标准,基于所述一组调整后的历史值的平均值计算所述中间预测值。
27.根据权利要求26所述的方法,其中,响应于确定所述一组调整后的历史值满足指定标准,基于所述一组调整后的历史值的平均值计算所述中间预测值包括在所述调整后的历史值的第二半部分上运算平均值。
28.根据权利要求21所述的方法,其中,所述多个时间段从以下的组中选出:小时、天、星期和月。
29.一种信息处理系统,包括:
至少一个计算机处理器,其中,所述至少一个计算机处理器可操作以实施包括以下步骤的方法:
接收感兴趣度量的标识和未来时间点;
检索之前与所述感兴趣度量相关联的预测配置,所述预测配置包括时段组合;
其中,所述时段组合包括多个时间段,每个时间段包括一个或多个分段,并且所述一个或多个分段中的每个分段包括所述感兴趣度量的被递增地插入其中的调整后的历史值;
对于所述多个时间段中的每个时间段:
为未来时间点识别所述一个或多个分段中的相应分段;
根据所述相应分段评估一组调整后的历史值;以及
根据所述一组调整后的历史值计算中间预测值;以及
基于所述计算来运算所述感兴趣度量的预测值。
30.根据权利要求29所述的信息处理系统,其中,所述运算包括运算每个中间预测值的和。
31.根据权利要求29所述的信息处理系统,其中:
所述预测配置包括之前与所述感兴趣度量相关联的预测算法;以及
所述计算包括利用所述预测算法。
32.根据权利要求31所述的信息处理系统,其中,所述预测算法从以下的组中选出:最小二乘法线性回归算法、Theil-Sen估计函数、基于平均值的预测和指数预测算法。
33.根据权利要求29所述的信息处理系统,包括促使输出所述预测值。
34.根据权利要求29所述的信息处理系统,其中,所述计算包括:
测试所述一组调整后的历史值的趋势;
基于所述测试的结果,确定所述一组调整后的历史值是否满足执行线性回归的标准;
响应于确定所述一组调整后的历史值满足执行线性回归的标准,使用线性回归计算所述中间预测值;以及
响应于确定所述一组调整后的历史值不满足执行线性回归的标准,基于所述一组调整后的历史值的平均值计算所述中间预测值。
35.根据权利要求34所述的信息处理系统,其中,响应于确定所述一组调整后的历史值满足指定标准,基于所述一组调整后的历史值的平均值计算所述中间预测值包括在所述调整后的历史值的第二半部分上运算平均值。
36.根据权利要求29所述的信息处理系统,其中,所述多个时间段从以下的组中选出:小时、天、星期和月。
37.一种包括非短暂性计算机可用介质的计算机程序产品,该非短暂性计算机可用介质上具有计算机可读程序代码,所述计算机可读程序代码适用于被执行以实施包括以下步骤的方法:
接收感兴趣度量的标识和未来时间点;
检索之前与所述感兴趣度量相关联的预测配置,所述预测配置包括时段组合;
其中,所述时段组合包括多个时间段,每个时间段包括一个或多个分段,并且所述一个或多个分段中的每个分段包括所述感兴趣度量的被递增地插入其中的调整后的历史值;
对于所述多个时间段中的每个时间段:
为未来时间点识别所述一个或多个分段中的相应分段;
根据所述相应分段评估一组调整后的历史值;以及
根据所述一组调整后的历史值计算中间预测值;以及
基于所述计算来运算所述感兴趣度量的预测值。
38.根据权利要求37所述的计算机程序产品,其中,所述运算包括运算每个中间预测值的和。
39.根据权利要求37所述的计算机程序产品,其中,所述计算包括:
测试所述一组调整后的历史值的趋势;
基于所述测试的结果,确定所述一组调整后的历史值是否满足执行线性回归的标准;
响应于确定所述一组调整后的历史值满足执行线性回归的标准,使用线性回归计算所述中间预测值;以及
响应于确定所述一组调整后的历史值不满足执行线性回归的标准,基于所述一组调整后的历史值的平均值计算所述中间预测值。
40.根据权利要求39所述的计算机程序产品,其中,响应于确定所述一组调整后的历史值满足指定标准,基于所述一组调整后的历史值的平均值计算所述中间预测值包括在所述调整后的历史值的第二半部分上运算平均值。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261707602P | 2012-09-28 | 2012-09-28 | |
US61/707,602 | 2012-09-28 | ||
US14/014,707 US9245248B2 (en) | 2012-09-28 | 2013-08-30 | Data metric resolution prediction system and method |
US14/014,707 | 2013-08-30 | ||
US14/014,637 US10586189B2 (en) | 2012-09-28 | 2013-08-30 | Data metric resolution ranking system and method |
US14/014,637 | 2013-08-30 | ||
PCT/US2013/061272 WO2014052254A1 (en) | 2012-09-28 | 2013-09-24 | Data metric resolution ranking system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104813308A true CN104813308A (zh) | 2015-07-29 |
Family
ID=50386067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380061126.3A Pending CN104813308A (zh) | 2012-09-28 | 2013-09-24 | 数据度量分辨率排序系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9245248B2 (zh) |
EP (1) | EP2901309A4 (zh) |
CN (1) | CN104813308A (zh) |
IN (1) | IN2015DN02780A (zh) |
WO (1) | WO2014052254A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9825875B2 (en) * | 2015-03-31 | 2017-11-21 | Alcatel Lucent | Method and apparatus for provisioning resources using clustering |
US10496277B1 (en) * | 2015-12-30 | 2019-12-03 | EMC IP Holding Company LLC | Method, apparatus and computer program product for storing data storage metrics |
US10867421B2 (en) | 2016-02-29 | 2020-12-15 | Oracle International Corporation | Seasonal aware method for forecasting and capacity planning |
US10331802B2 (en) | 2016-02-29 | 2019-06-25 | Oracle International Corporation | System for detecting and characterizing seasons |
US10885461B2 (en) | 2016-02-29 | 2021-01-05 | Oracle International Corporation | Unsupervised method for classifying seasonal patterns |
US10699211B2 (en) | 2016-02-29 | 2020-06-30 | Oracle International Corporation | Supervised method for classifying seasonal patterns |
US10198339B2 (en) | 2016-05-16 | 2019-02-05 | Oracle International Corporation | Correlation-based analytic for time-series data |
US11082439B2 (en) | 2016-08-04 | 2021-08-03 | Oracle International Corporation | Unsupervised method for baselining and anomaly detection in time-series data for enterprise systems |
US10635563B2 (en) | 2016-08-04 | 2020-04-28 | Oracle International Corporation | Unsupervised method for baselining and anomaly detection in time-series data for enterprise systems |
US20180121292A1 (en) * | 2016-11-02 | 2018-05-03 | Mastercard International Incorporated | Systems and methods for database management |
US10949436B2 (en) | 2017-02-24 | 2021-03-16 | Oracle International Corporation | Optimization for scalable analytics using time series models |
US10915830B2 (en) | 2017-02-24 | 2021-02-09 | Oracle International Corporation | Multiscale method for predictive alerting |
US10817803B2 (en) | 2017-06-02 | 2020-10-27 | Oracle International Corporation | Data driven methods and systems for what if analysis |
US10997517B2 (en) | 2018-06-05 | 2021-05-04 | Oracle International Corporation | Methods and systems for aggregating distribution approximations |
US10963346B2 (en) | 2018-06-05 | 2021-03-30 | Oracle International Corporation | Scalable methods and systems for approximating statistical distributions |
US11138090B2 (en) | 2018-10-23 | 2021-10-05 | Oracle International Corporation | Systems and methods for forecasting time series with variable seasonality |
US12001926B2 (en) | 2018-10-23 | 2024-06-04 | Oracle International Corporation | Systems and methods for detecting long term seasons |
US11734585B2 (en) | 2018-12-10 | 2023-08-22 | International Business Machines Corporation | Post-hoc improvement of instance-level and group-level prediction metrics |
US10855548B2 (en) | 2019-02-15 | 2020-12-01 | Oracle International Corporation | Systems and methods for automatically detecting, summarizing, and responding to anomalies |
US11533326B2 (en) | 2019-05-01 | 2022-12-20 | Oracle International Corporation | Systems and methods for multivariate anomaly detection in software monitoring |
US11537940B2 (en) | 2019-05-13 | 2022-12-27 | Oracle International Corporation | Systems and methods for unsupervised anomaly detection using non-parametric tolerance intervals over a sliding window of t-digests |
US11887015B2 (en) | 2019-09-13 | 2024-01-30 | Oracle International Corporation | Automatically-generated labels for time series data and numerical lists to use in analytic and machine learning systems |
US11803221B2 (en) * | 2020-03-23 | 2023-10-31 | Microsoft Technology Licensing, Llc | AI power regulation |
US11256593B2 (en) * | 2020-05-05 | 2022-02-22 | Dell Products L.P. | Software container image quality ranking based on performance of instances of the software container images |
US11514349B1 (en) * | 2020-06-15 | 2022-11-29 | Topia Limited | Apparatus and methods of unsupervised machine learning models to identify seasonality and predicting seasonally-influenced metric values |
CN117332897A (zh) * | 2023-10-17 | 2024-01-02 | 南方电网数字电网研究院有限公司 | 人工智能驱动的新能源小时间尺度功率插值集成预测方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110136A (zh) * | 2007-04-24 | 2008-01-23 | 暨南大学 | 一种智能排队叫号系统 |
US20090018798A1 (en) * | 2007-07-09 | 2009-01-15 | International Business Machines Corporation | Method, Data Processing Program and Computer Program Product for Time Series Analysis |
US7765122B2 (en) * | 2007-07-19 | 2010-07-27 | Hewlett-Packard Development Company, L.P. | Forecasting based on a collection of data including an initial collection and estimated additional data values |
US7953692B2 (en) * | 2007-12-07 | 2011-05-31 | Microsoft Corporation | Predicting candidates using information sources |
US20110153603A1 (en) * | 2009-12-17 | 2011-06-23 | Yahoo! Inc. | Time series storage for large-scale monitoring system |
US20110208701A1 (en) * | 2010-02-23 | 2011-08-25 | Wilma Stainback Jackson | Computer-Implemented Systems And Methods For Flexible Definition Of Time Intervals |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3918315B2 (ja) | 1998-08-20 | 2007-05-23 | ヤマハ株式会社 | インパルス応答測定方法 |
US6801645B1 (en) | 1999-06-23 | 2004-10-05 | Icad, Inc. | Computer aided detection of masses and clustered microcalcifications with single and multiple input image context classification strategies |
US6611726B1 (en) * | 1999-09-17 | 2003-08-26 | Carl E. Crosswhite | Method for determining optimal time series forecasting parameters |
US7203655B2 (en) | 2000-02-16 | 2007-04-10 | Iex Corporation | Method and system for providing performance statistics to agents |
US20030046396A1 (en) | 2000-03-03 | 2003-03-06 | Richter Roger K. | Systems and methods for managing resource utilization in information management environments |
US6944798B2 (en) | 2000-05-11 | 2005-09-13 | Quest Software, Inc. | Graceful degradation system |
US20010051862A1 (en) * | 2000-06-09 | 2001-12-13 | Fujitsu Limited | Simulator, simulation method, and a computer product |
DE10033183C2 (de) | 2000-07-07 | 2002-08-08 | Max Planck Gesellschaft | Verfahren und Vorrichtung zur Verarbeitung und Vorhersage von Strömungsparametern turbulenter Medien |
US7818224B2 (en) * | 2001-03-22 | 2010-10-19 | Boerner Sean T | Method and system to identify discrete trends in time series |
US6880002B2 (en) | 2001-09-05 | 2005-04-12 | Surgient, Inc. | Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources |
US7305282B2 (en) | 2003-05-13 | 2007-12-04 | Siemens Power Transmission & Distribution, Inc. | Very short term load prediction in an energy management system |
JP4177228B2 (ja) * | 2003-10-24 | 2008-11-05 | 三菱電機株式会社 | 予測装置 |
KR100682888B1 (ko) | 2004-02-11 | 2007-02-15 | 삼성전자주식회사 | 가중된 회귀모델 결정 방법 및 이를 이용한 혼합물의 성분농도 예측 방법 |
US20050216241A1 (en) * | 2004-03-29 | 2005-09-29 | Gadi Entin | Method and apparatus for gathering statistical measures |
US8428997B2 (en) | 2005-11-21 | 2013-04-23 | Accenture Global Services Limited | Customer profitability and value analysis system |
CA2580998A1 (en) | 2006-03-03 | 2007-09-03 | Queen's University At Kingston | Adaptive analysis methods |
US7979245B1 (en) | 2006-05-17 | 2011-07-12 | Quest Software, Inc. | Model-based systems and methods for monitoring computing resource performance |
US7970934B1 (en) | 2006-07-31 | 2011-06-28 | Google Inc. | Detecting events of interest |
US7644098B2 (en) | 2007-04-24 | 2010-01-05 | Yahoo! Inc. | System and method for identifying advertisements responsive to historical user queries |
WO2009048609A1 (en) | 2007-10-12 | 2009-04-16 | Vkernel Corporation | Method, system and apparatus for calculating chargeback for virtualized computing resources |
US8027743B1 (en) | 2007-10-23 | 2011-09-27 | Adobe Systems Incorporated | Adaptive noise reduction |
US8176497B2 (en) | 2008-01-16 | 2012-05-08 | Dell Products, Lp | Method to dynamically provision additional computer resources to handle peak database workloads |
WO2009108344A1 (en) | 2008-02-29 | 2009-09-03 | Vkernel Corporation | Method, system and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network |
US8015454B1 (en) | 2008-06-02 | 2011-09-06 | Quest Software, Inc. | Computer systems and methods for predictive performance management of data transactions |
US20100153157A1 (en) * | 2008-12-11 | 2010-06-17 | Verizon Data Services Llc | Method and system for providing network resource growth management |
US8463900B2 (en) * | 2010-02-02 | 2013-06-11 | International Business Machines Corporation | Systems and methods for using workload characteristics for sizing and placement for power-aware consolidation |
US8423998B2 (en) | 2010-06-04 | 2013-04-16 | International Business Machines Corporation | System and method for virtual machine multiplexing for resource provisioning in compute clouds |
US10678602B2 (en) * | 2011-02-09 | 2020-06-09 | Cisco Technology, Inc. | Apparatus, systems and methods for dynamic adaptive metrics based application deployment on distributed infrastructures |
WO2012138974A1 (en) * | 2011-04-08 | 2012-10-11 | Navteq B.V. | Trend based predictive traffic |
US9176485B2 (en) | 2011-06-02 | 2015-11-03 | Microsoft Technology Licensing, Llc | Occupancy prediction using historical occupancy patterns |
-
2013
- 2013-08-30 US US14/014,707 patent/US9245248B2/en not_active Expired - Fee Related
- 2013-08-30 US US14/014,637 patent/US10586189B2/en active Active
- 2013-09-24 EP EP13840801.8A patent/EP2901309A4/en not_active Withdrawn
- 2013-09-24 CN CN201380061126.3A patent/CN104813308A/zh active Pending
- 2013-09-24 WO PCT/US2013/061272 patent/WO2014052254A1/en active Application Filing
- 2013-09-24 IN IN2780DEN2015 patent/IN2015DN02780A/en unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110136A (zh) * | 2007-04-24 | 2008-01-23 | 暨南大学 | 一种智能排队叫号系统 |
US20090018798A1 (en) * | 2007-07-09 | 2009-01-15 | International Business Machines Corporation | Method, Data Processing Program and Computer Program Product for Time Series Analysis |
US8200454B2 (en) * | 2007-07-09 | 2012-06-12 | International Business Machines Corporation | Method, data processing program and computer program product for time series analysis |
US7765122B2 (en) * | 2007-07-19 | 2010-07-27 | Hewlett-Packard Development Company, L.P. | Forecasting based on a collection of data including an initial collection and estimated additional data values |
US7953692B2 (en) * | 2007-12-07 | 2011-05-31 | Microsoft Corporation | Predicting candidates using information sources |
US20110153603A1 (en) * | 2009-12-17 | 2011-06-23 | Yahoo! Inc. | Time series storage for large-scale monitoring system |
US20110208701A1 (en) * | 2010-02-23 | 2011-08-25 | Wilma Stainback Jackson | Computer-Implemented Systems And Methods For Flexible Definition Of Time Intervals |
Also Published As
Publication number | Publication date |
---|---|
EP2901309A4 (en) | 2016-05-25 |
US9245248B2 (en) | 2016-01-26 |
WO2014052254A1 (en) | 2014-04-03 |
IN2015DN02780A (zh) | 2015-09-04 |
EP2901309A1 (en) | 2015-08-05 |
US20140095422A1 (en) | 2014-04-03 |
US20140095243A1 (en) | 2014-04-03 |
US10586189B2 (en) | 2020-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104813308A (zh) | 数据度量分辨率排序系统和方法 | |
US10936947B1 (en) | Recurrent neural network-based artificial intelligence system for time series predictions | |
McMahan et al. | Ad click prediction: a view from the trenches | |
Khandelwal et al. | Amazon EC2 spot price prediction using regression random forests | |
EP3299972B1 (en) | Efficient query processing using histograms in a columnar database | |
US12052321B2 (en) | Determining session intent | |
US10748072B1 (en) | Intermittent demand forecasting for large inventories | |
US9760907B2 (en) | Granular data for behavioral targeting | |
US20090006363A1 (en) | Granular Data for Behavioral Targeting | |
US20200234218A1 (en) | Systems and methods for entity performance and risk scoring | |
US7721061B1 (en) | Method of predicting response time for storage request | |
US20210125073A1 (en) | Method and system for individual demand forecasting | |
CN104471573A (zh) | 更新高速缓存的数据库查询结果 | |
US10839318B2 (en) | Machine learning models for evaluating differences between groups and methods thereof | |
CN110738527A (zh) | 一种特征重要性排序方法、装置、设备和存储介质 | |
CN106095942A (zh) | 强变量提取方法及装置 | |
US10387810B1 (en) | System and method for proactively provisioning resources to an application | |
Chen et al. | Optimal variability sensitive condition-based maintenance with a Cox PH model | |
US10248618B1 (en) | Scheduling snapshots | |
US9324026B2 (en) | Hierarchical latent variable model estimation device, hierarchical latent variable model estimation method, supply amount prediction device, supply amount prediction method, and recording medium | |
US20140365637A1 (en) | Methods and systems for reducing metrics used to monitor resources | |
WO2021077226A1 (en) | Method and system for individual demand forecasting | |
Pahins et al. | Real-time exploration of large spatiotemporal datasets based on order statistics | |
Watson et al. | Sanzu: A data science benchmark | |
CN118171114A (zh) | 金融风险监控方法、装置、设备、介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150729 |
|
WD01 | Invention patent application deemed withdrawn after publication |