CN113366473A - 用于自动选择用于数据流时间序列预测的模型的方法和系统 - Google Patents
用于自动选择用于数据流时间序列预测的模型的方法和系统 Download PDFInfo
- Publication number
- CN113366473A CN113366473A CN201980090455.8A CN201980090455A CN113366473A CN 113366473 A CN113366473 A CN 113366473A CN 201980090455 A CN201980090455 A CN 201980090455A CN 113366473 A CN113366473 A CN 113366473A
- Authority
- CN
- China
- Prior art keywords
- time series
- events
- window
- statistical
- prediction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000005311 autocorrelation function Methods 0.000 claims description 32
- 238000013507 mapping Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 28
- 230000008569 process Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 238000009825 accumulation Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 238000011109 contamination Methods 0.000 description 3
- 238000013016 damping Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000000714 time series forecasting Methods 0.000 description 3
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101100323157 Arabidopsis thaliana LAP1 gene Proteins 0.000 description 1
- 101100520454 Arabidopsis thaliana PME10 gene Proteins 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000003915 air pollution Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000356 contaminant Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供用于动态选择时间序列事件的预测模型的方法和系统。所述系统包括:统计逻辑,用于为窗口中的事件集生成一个或多个统计度量;关联逻辑,用于为所述窗口中的多个事件生成一个或多个时间序列关联度量;模型搜索逻辑,用于根据质量测量从多个预测模型中选择预测模型的最佳预测子集,所述质量测量表示每个预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度;聚类逻辑,用于根据所述统计度量,对所述子集中的所述预测模型进行聚类;控制逻辑,用于根据所述预测模型的聚类和所述统计度量,选择所述子集中的一个预测模型;预测逻辑,用于使用所选择的预测模型从所述窗口中的所述多个事件实时生成预测输出。
Description
背景技术
在当前的大数据时代,数据正在以极高的速率和数量产生。在许多情况下,数据的形式是时间序列数据流,使得离线存储和查询数据是不可行的。如本领域技术人员所知,数据流是连续序列事件。每个事件可以是由单个源(例如,传感器、机器或人类)生成的单个数据,也可以是由一个或多个源生成的数据组合或数据对(例如,n元组)。时间序列数据流是事件按时间顺序排列的数据流。在许多应用中,能够实时预测时间序列数据流中的下一个值或一组值将是有价值的,在此称为时间序列数据流预测或时间序列数据流预报。此类应用的示例包括但不限于预测性维护系统、交通控制/监控系统和污染分布估计系统。
大多数数据流处理系统用于一次处理事件的子集。具体来说,大多数数据流处理系统用于在任何时候处理时间序列数据流106中的事件104的窗口102,如图1所示。窗口102是关于时间或事件的逻辑序列的定界,包括边界内的事件104。窗口102中的事件104通常随着时间的推移而变化,因为新事件到达并位于边界内,旧事件位于边界外并从窗口102中删除。以这种方式,数据流可以在不同的时间点产生新的窗口实例,其中窗口实例包括窗口中特定时间实例的事件。也就是说,使用可变或固定大小的滑动窗口从时间序列中提取事件序列。例如,如图1所示,滑动窗口102包含或包括数据流中最近的N个事件,其中N是大于或等于1的整数。
执行时间序列数据流预测通常包括选择和/或生成准确描述和预测时间序列数据流的预测模型;以及使用选择的预测模型从窗口中的事件预测未来事件。在某些情况下,预测模型是根据时间序列数据流的已知特征提前选择和参数化的。然而,模型的选择和参数化通常是通过耗时的手动过程或通过资源贪婪和计算成本高的自动化过程来完成的。此外,提前选择和参数化预测模型往往不适用于时间序列数据流,其中其特征(例如,统计度量)随着时间的推移而变化或演变(例如,概念漂移)。因此,为了能够为不断演变的时间序列数据流提供准确的预测,期望能够随着时间序列数据流的特征变化而实时动态地选择和参数化预测模型。例如,如图1所示,期望具有预测模型选择器108,能够根据当前在窗口102中的事件104从多个预测模型110中为演变的时间序列数据流实时(即,相对于最新事件的时间基准具有非常低的延迟)动态地选择一个预测模型110。
用于处理数据流的已知系统用于动态或实时处理数据。用于处理数据流的已知系统的示例包括但不限于Apache Flink、Spark Streaming、Storm、Samza和Dataflow。这些系统用于根据流中事件的时间顺序提供处理能力。根据特定系统,时间可以设置为参考事件时间、处理时间、计算机时间或事件的到达时间。许多系统允许以某种形式将事件分组到窗口中。然而,这些系统的窗口操作符通常与用户定义的函数一起工作,因此根据函数属性进行优化。此外,这些系统通常保留位于窗口范围(通常在内存中)的所有数据,以便由窗口函数处理,即使窗口函数只使用其中的一部分。如本领域技术人员所知,窗口函数是应用于窗口中的一组事件的函数。示例性窗口函数包括但不限于排序函数或确定窗口中事件最大值的函数。虽然这些系统可以动态处理数据流,但它们不支持动态选择用于数据流时间序列预测的预测模型。
存在用于自动选择时间序列的预测模型并使用所选择的预测模型对时间序列进行预测的已知系统。这些系统用于确定时间序列的适当预测模型,估计模型的参数,并根据模型计算预测。这些系统通常设计为能够为可能具有不寻常的时间序列模式的大量时间序列选择预测模型。这些系统最流行的版本是基于指数平滑或自回归积分移动平均(AutoRegressive Integrated Moving Average,ARIMA)模型。对于时间序列,这些系统通常用于:(i)应用适合时间序列的所有模型,并更新和优化每个模型的参数(平滑参数和初始状态变量);(ii)根据误差度量选择应用模型中的最佳模型,例如,误差度量包括但不限于均方根误差(Root Mean Square Error,RMSE)或平均绝对百分比误差(Mean AbsolutePercentage Error,MAPE);(iii)为一个或多个未来事件生成预测;(iv)获得最佳模型的预测间隔。这些系统的示例在R.J Hyndman等人于2008年在统计软件杂志“自动时间序列预报:R的预报包(Automatic time series forecasting:The forecast package for R)”中以及R.Hyndman、A.B.Koehler、J.K.Ord和R.D.Snyder于2008年在施普林格科学和商业媒体“使用指数平滑进行预报:状态空间方法(Forecasting with exponential smoothing:thestate space approach)”中加以描述。
然而,这些系统已经设计用于静态时间序列(例如,时间序列已经被捕获,并且离线(例如,不实时)选择用于预测的模型,并且这些系统不适合实时预测数据流。首先,如上所述,已知的时间序列自动模型选择和预测系统将所有合适的模型应用于时间序列,并根据时间序列更新和优化每个模型的参数。更新和优化模型需要一个时间和资源密集型的收敛过程,这可能会使更新和优化许多模型并实时预测变得困难,特别是对于高频数据流。其次,时间序列预测误差度量,如RMSE和MAPE,通常可用于选择具有最佳预测精度的模型,前提是误差是从用于估计建模的数据集不同的数据集计算的。然而,样本外错误往往太少,无法得出可靠的结论。
已经开发了基于机器学习的系统,用于自动选择时间序列的预测模型并使用选定的预测模型对时间序列进行预测,以解决上述统计系统的一些问题。用于自动选择时间序列的预测模型并使用所选择的预测模型对时间序列进行预测的已知基于机器学习的系统侧重于实现贝叶斯积分、支持向量回归、非线性最小二乘法、集成方法、神经网络和专家系统的选择过程。R.Fonsca等人于2016年8月在IEEE会刊第14卷第8期第3811页至3819页“时间序列预报的集成中的自动模型选择(Automatic Model Selection in Ensembles forTime Series Forecasting)”中描述了机器学习系统的一个示例。本文认为,相关模型的多样性和准确性是选择模型时最重要的因素,从而描述了一个基于自组织映射(Self-Organizing Map,SOM)神经网络和元特征进行多步骤预测的系统。所述系统在模型选择中自动调整多样性和准确性之间的平衡,并能够为高度非线性的时间序列产生良好的结果。然而,所述系统需要神经网络的离线无监督训练和复杂的模型训练,使得所述系统不适合实现数据流的实时模型选择和预测。
机器学习系统的另一个示例在M.Adya等人于2016年在决策支持系统(DecisionSupport Systems)第83卷“基于规则的时间序列复杂性评分技术的开发和验证,以支持自适应预报DSS的设计(Development and validation of rule-based time seriescomplexity scoring technique to support design of adaptive forecasting DSS)”中加以描述。本文认为,时间序列复杂性可以使设计一个自适应预报决策支持系统,以积极支持预报行为和结果的准确性。预报决策支持系统(forecasting decision supportsystem,FDSS)是以基于规则的复杂性评分技术为基础,该技术使用依赖于序列的14个特征的12条规则生成时间序列的复杂性评分。然而,大量的规则和特征使得难以做出实时决策,使其不适合预测时间序列数据流。此外,FDSS使用复杂的特征,如不连续性水平、基本趋势方向和领域知识,这增加了系统的适应性,但也增加了系统的复杂性和计算时间。
因此,需要实时自动选择时间序列数据流的预测模型的系统和方法,该模型只需要单次传递窗口中的事件。
下面描述的实施例仅作为示例提供,并且不限制解决用于数据流时间序列预测的已知系统和方法的任何或所有缺点的实现。
发明内容
发明内容介绍了一些概念,在具体实施方式中会进一步描述这些概念。本发明内容的目的旨在识别权利要求书保护的主题的关键特征或必要特征,也非旨在限制权利要求书保护的主题的范围。
本文中描述了用于动态选择时间序列事件的预测模型的方法和系统。所述系统包括:统计逻辑,用于为窗口中的一组事件生成一个或多个统计度量;关联逻辑,用于为所述窗口中的事件生成一个或多个时间序列关联度量;模型搜索逻辑,用于根据每个预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度,从多个预测模型中选择预测模型的子集;聚类逻辑,用于根据所述统计度量,对所述子集中的所述预测模型进行聚类;控制逻辑,用于根据所述预测模型的聚类和所述统计度量,选择所述子集中的一个预测模型;预测逻辑,用于使用所选择的预测模型从所述窗口中的所述多个事件实时生成预测输出。
第一方面提供了一种用于动态选择时间序列事件的预测模型的计算机实现方法,其中,所述方法在一个或多个处理器中包括以下步骤:(a)为窗口中的多个事件生成一个或多个统计度量,其中,所述窗口包括一系列时间序列事件;(b)为所述窗口中的所述多个事件生成一个或多个时间序列关联度量;(c)根据所述一个或多个时间序列关联度量,基于表示每个预测模型与所述时间序列之间的匹配的质量测量,从多个预测模型中选择预测模型的子集;(d)根据所述统计度量,对所述子集中的所述预测模型进行聚类;(e)根据所述预测模型的聚类和所述统计度量,选择所述子集中的一个预测模型;(f)使用所选择的预测模型从所述窗口中的所述多个事件实时生成预测输出。步骤(a)至(f)可以以任意顺序交叉进行,其中一些步骤可以同时执行,例如(a)和(b)。
所述方法还可以包括对所述时间序列中所述多个事件的后续窗口重复(a)至(f)。在下文中,所有步骤(a)至(f)都在一段时间内重复。计算是增量计算,因为在时间t+1生成的结果是基于时间t的结果。前一个窗口是指在时间t时紧随窗口之前的事件窗口,而后续窗口是指在时间t时紧随窗口之后的窗口。
所述一个或多个统计度量可以从所述时间序列中所述多个事件的前一个窗口的一个或多个统计度量增量生成的。
所述一个或多个时间序列关联度量可以从所述时间序列中所述多个事件的所述前一个窗口的一个或多个时间序列关联度量增量生成的。
每个统计度量可以描述所述窗口中所述多个事件的数学属性。
所述一个或多个统计度量包括所述窗口中所述多个事件的偏度、峰度、标准偏差和均值中的一个或多个。
每个时间序列关联度量可以根据事件参数描述所述窗口中所述多个事件之间的关系。具体来说,时间序列事件包括事件发生的时间和/或事件发生的位置等参数。
所述一个或多个时间序列关联度量可以包括协方差、自相关函数、部分自相关函数、时空协方差函数、时空自相关函数和时空部分自相关函数中的一个或多个。
根据所述一个或多个时间序列关联度量表示每个预测模型与所述时间序列之间的匹配的所述质量测量可以基于包括对所述预测模型中参数数量的处罚的准则。换句话说,所述质量测量表示每个预测模型根据所述一个或多个时间序列关联度量与所述时间序列匹配的程度。所述质量测量可以是自然数或百分比,表示预测模型和所述时间序列之间的重叠(匹配)程度。
确定所述质量测量表示预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度可以包括:将所述一个或多个时间序列关联度量的统计属性相组合,并确定所述预测模型与由此产生的时间序列匹配的统计似然。换句话说,每个模型都将提供时间序列的预测。模型的好坏取决于质量测量,质量测量反过来可能取决于与所述模型相关的对应统计似然。具体来说,模型“更接近”实时序列的似然越高,因此质量测量的值就越高。另一方面,低似然是质量测量值低的指示。
确定所述质量测量表示每个预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度可以是基于贝叶斯信息准则(Bayesian InformationCriterion,BIC)。
根据所述统计度量对所述子集中的所述预测模型进行聚类可以包括生成所述一个或多个统计度量与所述子集中的每个预测模型的值之间的映射关系。
所述聚类可以是模糊聚类。
选择所述子集中的一个预测模型可以是基于模糊干扰系统的。
所述模糊干扰系统可以使用实现从所述聚类生成的if-then规则的一阶逻辑语句。
步骤(a)至(f)可以在时间序列事件的滑动窗口上连续执行。
所述时间序列可以是多维时间序列。
第二方面提供了一种用于动态选择时间序列事件的预测模型的系统,其中,所述系统包括:统计逻辑,用于为窗口中的多个事件生成一个或多个统计度量,其中,所述窗口包括一系列时间序列事件;关联逻辑,用于为所述窗口中的所述多个事件生成一个或多个时间序列关联度量;模型搜索逻辑,用于根据质量测量从多个预测模型中选择预测模型的子集,其中,所述质量测量表示每个预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度;聚类逻辑,用于根据所述统计度量,对所述子集中的所述预测模型进行聚类;控制逻辑,用于根据所述预测模型的聚类和所述统计度量,选择所述子集中的一个预测模型;预测逻辑,用于使用所选择的预测模型从所述窗口中的所述多个事件实时生成预测输出。
可以提供用于执行本文所述的方法的计算机程序代码。可以提供一种非瞬时性计算机可读存储介质,所述非瞬时性计算机可读存储介质上存储有计算机可读指令,当在计算机系统处执行时,使计算机系统执行本文所述的方法。
上述特征可以适当地组合,这对技术人员而言是显而易见的,并且可以与本文描述的示例的任何方面组合。
附图说明
现在参考附图详细地描述示例,其中:
图1为动态选择用于对数据流进行时间序列预测的预测模型的系统示意图;
图2为说明窗口特征运算计算的典型方法的示意图;
图3为动态选择用于对数据流进行时间序列预测的预测模型的系统的示例性实现方式的框图;
图4为由图3的统计逻辑执行的窗口处理和数据流量编排的示意图;
图5是示例模型的自相关函数、似然函数、AIC和BIC的示意图;
图6为根据偏度、均值、标准偏差和峰度的三个示例性预测模型的聚类的示意图;
图7为图3的控制逻辑的高级操作的示意图;
图8为图3的控制逻辑的示例性实现方式的示意图;
图9为图3的系统在一个实施例中的操作的示意图;
图10为动态选择用于对数据流进行时间序列预测的预测模型的示例性方法的流程图;
图11为使用图3的系统执行交通预测的示意图;
图12为使用图3的系统执行污染浓度估计的示意图;
图13为示例性计算设备的框图。
附图说明了各种示例。本领域技术人员将理解,附图中所示的元素边界(例如,框、框组或其它形状)代表边界的一个示例。在一些示例中,一个元素可以设计为多个元素,或者多个元素可以设计为一个元素。在适当的情况下,在整个附图中使用共同的参考数字来表示类似的特征。
具体实施方式
以下描述通过举例提出,以使本领域技术人员能够制作和使用本发明。本发明不限于本文所述的实施例,对所公开实施例的各种修改对本领域技术人员而言是显而易见的。实施例仅通过举例描述。
本文描述了实时动态地选择时间序列数据流的预测模型的方法和系统,它们使用机器学习技术和统计分析的组合。所述系统包括:统计逻辑,用于为窗口中的一组事件生成一个或多个统计度量;关联逻辑,用于为所述窗口中的事件生成一个或多个时间序列关联度量;模型搜索逻辑,用于根据质量测量从多个预测模型中选择预测模型的子集,所述质量测量表示每个所述预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度(即,根据每个所述预测模型与时间序列之间的匹配程度);聚类逻辑,用于根据所述统计度量,对所述子集中的所述预测模型进行聚类;控制逻辑,用于根据所述预测模型的聚类和所述统计度量,选择所述子集中的一个预测模型;预测逻辑,用于使用所选择的预测模型从所述窗口中的所述多个事件实时生成预测输出。
本文描述的系统和方法根据从传入事件生成的度量(例如,统计度量和时间序列关联度量)适应性地调整模型搜索参数以及模型。本文描述的系统和方法能够在输入数据流上进行低延迟优化的预测模型搜索,即使对于高速率的传入事件。
本文描述的系统和方法可以实时建模和预测高度异质的时间序列和非平稳的时空过程。本文描述的系统和方法还可以利用描述大规模现象的不同、非平稳、确定性时间序列之间的时空相关性。使用数据分布形状测量、时间序列关联度量和似然统计,本文描述的系统和方法可以找到最佳描述现象的模型的参数和结构配置。
现在参考图3,示出了用于动态选择包括一系列事件304的时间序列数据流302的预测模型的示例性系统300。系统300可以由基于计算的设备实现,例如但不限于以下结合图13描述的基于计算的设备1300。例如,可以存在存储在其上的计算机可读存储介质上的计算机可读指令,当在基于计算的设备上执行时,使基于计算的设备实现图3的系统300。
系统300用于一次处理数据流302的事件304的窗口306。如上文所述,窗口是关于时间或事件的逻辑序列的定界,包括边界内的事件。位于窗口306中的事件304通常随着时间的推移而变化,因为新事件到达并位于窗口的边界内,旧事件位于边界外并从窗口中删除。在一些情况下,如图3所示,窗口306可以是滑动窗口,包含或包括最近的N个事件,其中N是大于或等于2的整数。系统300可用于响应于触发器处理窗口中的事件。在某些情况下,触发器可能是窗口中事件的更改。如果窗口是滑动窗口,则触发器可以收到新事件。
系统300包括:统计逻辑308,用于为窗口306中的多个事件生成一个或多个统计度量;关联逻辑310,用于为所述窗口306中的所述多个事件生成一个或多个时间序列关联度量;模型搜索逻辑312,用于根据每个预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度,从多个预测模型中选择预测模型的子集;聚类逻辑308,用于根据所述统计度量,对所述子集中的所述预测模型进行聚类;控制逻辑310,用于根据所述预测模型的聚类和所述统计度量,选择所述子集中的一个预测模型;预测逻辑312,用于使用所选择的预测模型从所述窗口中的所述多个事件实时生成预测输出。
统计逻辑
统计逻辑308也可以称为统计模块,用于在每个触发器处(例如,每次接收到新事件时)实时为窗口中的事件生成一个或多个统计度量。统计度量,也可以称为统计或统计度量,是一组数据的数学或统计描述。统计度量的示例包括但不限于标准偏差、均值/平均值、偏度、峰度和中心矩。统计度量可用于描述时间序列,因此可用于选择最佳建模或匹配时间序列的模型。如果时间序列的统计属性随着时间的推移而变化(例如,时间序列是非平稳的),定期测量或确定一个或多个统计度量有助于实时动态选择与当前时间序列最匹配的预测模型。
许多用于处理数据流的现有技术系统包括窗口操作符,该窗口操作符将窗口中的所有事件存储在存储器中,并且在每个触发器中处理所有事件(例如,对窗口中的事件执行窗口处理)。然而,数据流的预测系统通常使用大窗口大小(例如,具有数百万个事件),(i)需要大量的内存来存储所有事件;(ii)使得难以(基本上)实时(例如在下一个触发时刻或触发器之前)处理窗口中的所有事件,如图2所示。
因此,在某些情况下,统计逻辑308可以用于使用滑动窗口上的累积/回退方法增量生成一个或多个统计度量,而不是每次(例如,从窗口中的所有事件)从头开始生成统计度量。当增量生成统计度量时,前一个统计度量(例如,前一个窗口实例的统计度量)用于生成新的统计度量(即,当前窗口实例的统计度量)。
图4在402示出了统计逻辑308如何使用累积/回退方法增量生成窗口中事件的平均值的示例。从图4可以看出,时间t-1时窗口中的n个事件集的平均值是窗口中事件xi的值之和除以事件的总数n,如等式(1)所示:
n(t+1)=n(t)+1 (3)
sn(t+1)=sn(t+1)+xa (4)
当事件xr从窗口中删除时,对时间t+1时窗口中事件的数量n、总和s和平均值执行多个回退运算,如等式(6)、(7)和(8)所示:
n(t+1)=n(t+1)-1 (6)
sn(t+1)=sn(t+1)-xr (7)
在某些情况下,统计逻辑308可以用于在数据流量编排或架构中使用高速缓存存储器和第三方存储器,以支持统计度量的低延迟高吞吐量计算。如本领域技术人员所知,高速缓存存储器也可以称为中央处理器(central processing unit,CPU)存储器,高速缓存存储器是高速的(通常是静态随机存取存储器(static random access memory,SRAM)),CPU可以比常规随机存取存储器(random access memory,RAM)更快地访问。相比之下,第三方存储器更大,但数据存储速度较慢,例如,但不限于硬盘,硬盘通常离CPU更远。
这种数据流量编排或架构的示例在图4的404中示出。在图4所示的示例中,数据流量架构包括回退高速缓存406和用于存储“热”事件(即,与统计度量的增量计算相关的事件,例如最近已添加到窗口和即将从窗口中删除的事件)的累积高速缓存408和第三方存储器410,例如硬盘驱动器,用于存储“冷”事件(即与统计矩阵的增量计算无关的事件,例如窗口中最近没有接收到的事件或很快会被删除的事件)。具体来说,累积高速缓存408在事件被添加到窗口时存储事件。当新事件被添加到累积高速缓存408时,累积高速缓存408中的最早事件被移动到第三方存储器410。累积高速缓存408中的新事件还可以触发累积事件(例如,可以触发待执行的等式(3)、(4)和(5)中的累积运算)。当新事件被添加到第三方存储器410时,第三方存储器410中的最早事件被移动到回退高速缓存406。当新事件被添加到回退高速缓存406时,回退高速缓存406中的最早事件从触发回退事件的回退高速缓存406中删除(例如,可以触发待执行的等式(6)、(7)和(8)中的回退运算)。因此,当事件是“热”事件(即与统计度量的增量计算相关)时,存储在高速缓存之一中,当事件是“冷”事件(即与统计度量的增量计算无关)时,存储在第三方存储器中。这样的数据流量编排或架构为高频输入数据流提供固定的资源分配。
示例性数据流量编排或架构还可以用于存储计数或频率信息412,该计数或频率信息412表示窗口中当前事件的数量。例如,如果事件是整数,则计数或频率信息可以表示当前窗口中“1”的数量和当前窗口中“2”的数量等。当新事件被添加到窗口时,以及当事件将从窗口中删除时,可以更新计数。例如,如图4所示为“情况2”,如果计数或频率信息如表1所示,当新事件“12”被添加到窗口时,则“12”的频率值递增到2,如表2所示。
表1
值 | 1 | 2 | 3 | 12 | 10 | 11 | |
频率 | 1 | 3 | 2 | 1 | 1 | 1 |
表2
值 | 1 | 2 | 3 | 12 | 10 | 11 | |
频率 | 1 | 3 | 2 | 2 | 1 | 1 |
在另一个示例中,如图4所示为“情况3”,如果当事件“1”从窗口中删除时,计数或频率信息如表2所示,则由于窗口中不存在其它“1”,所以“1”列被删除或清除,如表3所示。
表3
值 | 2 | 3 | 12 | 10 | 11 | ||
频率 | 3 | 2 | 2 | 1 | 1 |
在另一个示例中,如图4所示为“情况1”,如果当新事件“13”被添加到窗口时,计数或频率信息如表3所示,则由于窗口中原本没有“13”,所以为“13”添加新的一列,并将频率设置为1,如表4所示。
表4
值 | 2 | 3 | 12 | 10 | 11 | 13 | |
频率 | 3 | 2 | 2 | 1 | 1 | 1 |
在另一个示例中,如图4所示为“情况4”,如果当事件“2”从窗口中删除时,计数或频率信息如表4所示,则“2”的频率值从3递减到2,如表5所示。
表5
值 | 2 | 3 | 12 | 10 | 11 | 13 | |
频率 | 2 | 2 | 2 | 1 | 1 | 1 |
在一些情况下,统计逻辑308可以包括低延迟、高吞吐量引擎,例如通过引用结合在本文中的申请人递交的申请号为PCT/EP2017/073956、标题为“流处理的系统和方法(ASYSTEM AND METHOD FOR STREAM PROCESSING)”的国际专利申请中描述的引擎,用于增量计算一个或多个统计度量。具体来说,PCT/EP2017/073956描述了全局特征提取器(GlobalFeature Extractor,GFE),它是用于特征提取的流运算符,能够以固定资源增量计算更新函数,但支持适应性优化,以进一步节省用于更新(例如,缓存机制)的热数据和用于中长期特征更新的冷数据存储器(例如,磁盘或第三方存储器)的资源。GFE通过优化的函数执行来实现这一目标,该函数旨在确保具有高传入事件速率的流的恒定响应时间。
在某些情况下,如果有多个统计度量,则统计度量可以分层生成。例如,可以使用计数生成均值,可以使用均值生成标准偏差,并且可以通过使用封闭形式增量公式从标准偏差和均值生成峰度和偏度。这样可以提高统计逻辑308的效率。
关联逻辑
关联逻辑310也可以称为关联模块,用于在每个触发器处(例如,每次接收到新事件时)为窗口中的事件生成一个或多个时间序列关联度量。时间序列关联度量是一种将一组数据之间的关系描述为时间和/或空间函数的度量。示例性时间序列关联度量包括但不限于协方差(COV)、自相关函数(autocorrelation function,ACF)、部分自相关函数(partial autocorrelation function,PACF)、空间时间协方差(spatial temporalcovariance,STCOV)、时空自相关函数(spatiotemporal autocorrelation function,STACF)和时空部分自相关函数(spatiotemporal partial autocorrelation function,STPACF)。自相关性描述了近事件或观测比远观测更相似的趋势,STACF和STPACF分别描述了空间邻居之间时间序列数据的时空自相关性和部分自相关性。
时间序列关联度量通常用于为时间序列设计预测器,因此可用于为时间序列选择准确的预测模型。在数据流的时间序列关联度量随着时间的推移而变化的情况下,定期测量或确定一个或多个时间序列关联度量(例如,对于每个窗口实例)有助于动态选择准确进行时间序列预测的预测模型。
在某些情况下,关联逻辑310用于针对每个触发器生成ACF、STACF和STPACF。如本领域技术人员所知,ACF、STACF和STPACF可用于识别和测量迭代时空(space-time,ST)时间序列模型,例如但不限于ARIMA模型。具体而言,STACF计算时间滞后t下s阶邻居和0阶邻居之间的序列数据的时空自相关性,空间滞后的范围为从0到权重列表的长度(这是每个k阶邻居的权重矩阵的列表,第一个是标识),t的范围为从1到最大时间滞后。STPACF可以通过迭代求解增加时间滞后和空间滞后的Yule Walter等式来计算。应注意,如果部分自相关函数没有用足够的空间滞后计算,则识别可能会有偏差,因为Yule Walker等式对给定的最大空间滞后敏感。
在某些情况下,关联逻辑310用于使用时间序列关联度量的理论定义来生成时间序列关联度量。可由关联逻辑310用于计算STCOV的众所周知的STCOV示例性理论定义如等式(9)所示:
可由关联逻辑310用于计算STACF或STPACF的众所周知的STACF或STPACF示例性理论公式如等式(10)所示:
在某些情况下,关联逻辑310可以用于使用一个或多个启发式规则来从一个或多个时间序列关联度量确定模型搜索逻辑312将使用的参数来选择和参数化相关预测模型。例如,在一些情况下,关联逻辑310可以用于根据表6中所示的时间序列关联度量的形状确定所需预测模型的结构以及空间和时间顺序。例如,如果自回归(auto-regression,AR)模型合适,则ACF和PACF将各自具有特定的形状或图案。具体来说,如果AR模型合适,则ACF将具有减弱的无限阻尼指数和/或阻尼符号波的形状或模式,而PACF将具有在p滞后后截止的有限模式或形状。类似地,如果移动平均(moving average,MA)模型合适,则ACF和PACF将各自具有特定的形状或模式。具体来说,如果MA模型合适,则ACF将是有限的,并将在q滞后后截止,PACF将具有减弱的无限阻尼指数和/或阻尼符号波的形状或模式。类似地,如果自回归-移动平均(auto-regressive-moving average,ARMA)模型是合适的,则ACF和PACF将各自具有特定的形状和/或模式。具体来说,如果ARMA模型合适,则ACF和PACF将具有减弱的无限阻尼指数和/或阻尼符号波的形状。如表6所示,最大AR和MA阶数p和q可分别从PACF和ACF的截止值确定。
表6
在一些情况下,关联逻辑310可以包括低延迟、高吞吐量引擎,例如通过引用结合在本文中的申请人递交的申请号为PCT/EP2017/073956、标题为“流处理的系统和方法(ASYSTEM AND METHOD FOR STREAM PROCESSING)”的国际专利申请中描述的引擎,用于增量计算一个或多个时间序列关联度量。
模型搜索逻辑
模型搜索逻辑312也可以称为模型搜索模块,用于根据由关联逻辑310计算的一个或多个时间序列关联度量,从多个预测模型中选择预测模型的子集。在某些情况下,模型搜索逻辑312可以用于从关联逻辑310中接收搜索参数,根据搜索参数来参数化合适的预测模型,然后根据每个预测模型与时间序列的匹配程度选择参数化的预测模型的子集。例如,如上文所述,关联逻辑310可以用于根据时间序列关联度量确定所需预测模型的结构以及空间和时间顺序。例如,可以从PACF和ACF的形状中选择所需结构(例如,AR、MA或ARMA),并且可以分别从PACF和ACF截止值中选择最大MA和AR阶数,该截止值可以提供给模型搜索逻辑312作为搜索参数。给定这些搜索参数(例如结构和阶数),模型搜索逻辑312估计具有所需结构的预测模型的参数。估计过程可以推断基础响应序列的残差,并通过最大似然将预测模型拟合到响应数据,以生成参数化的预测模型。质量度量表示拟合的质量,即预测模型与时间序列的匹配程度。然后,模型搜索逻辑312根据每个预测模型根据一个或多个时间序列关联度量与时间序列匹配的程度来选择参数化的预测模型的子集。
在某些情况下,模型搜索逻辑312用于根据基于所述一个或多个时间序列关联度量的似然度量,确定每个参数化的预测模型与时间序列的匹配程度。如上文所述,许多用于(非流)时间序列自动模型选择的已知系统使用标准预测或预测度量或测量,例如但不限于均方根误差(Root Mean Squared Error,RMSE)或平均绝对百分比误差(Mean AbsolutePercentage Error,MAPE),但是,当来自两个模型的点预报(即预测)相同时,这些度量无法在误差类型之间进行选择。但是,基于似然而不是一步预报的度量能够在错误类型之间进行选择。
在某些情况下,模型的似然度量X可以根据等式(11)计算,其中,L是模型的最大化对数似然目标函数:
其中,
在某些情况下,模型搜索逻辑312用于根据包括对预测模型中参数数量的处罚的似然度量,确定多个预测模型中的每个预测模型与时间序列的匹配程度。当将模型拟合到时间序列时,可以通过添加参数来增大似然性,但这样做可能会导致过拟合。如本领域技术人员所知,过拟合是产生与一组数据太接近或精确对应的模型,使得难以可靠地准确预测未来事件或数据点。因此,使用处罚参数数量的似然度量显著降低了选择过拟合模型的风险。施加处罚的似然度量包括但不限于赤池信息准则(Akaike Information Criterion,AIC)和贝叶斯信息准则(Bayesian Information Criterion,BIC)。
AIC从信息熵的角度来比较模型,通过Kullback-Leibler散度来衡量。给定模型的AIC可根据等式(13)根据对数似然L计算,其中,k是模型中参数的数量:
BIC也可称为西沃兹信息准则(Schwarz Information Criterion),与AIC密切相关。BIC从决策理论的角度来比较模型,以预期损失衡量。给定模型的BIC可根据等式(14)计算,其中,k是模型中参数的数量,N是数据点的数量:
BIC是对特定贝叶斯设置下模型后验概率为真的函数的估计,因此BIC越低,模型就越有可能成为真模型。由于BIC中的处罚项较大,BIC可能更擅长确保不选择过拟合模型。BIC还可以提供关于模型的有用信息,而不管预测模型的类型如何。
在某些情况下,可以增量生成AIC或BIC。具体来说,在某些情况下,可以通过使用雅可比(Jacobian)自由迭代估计过程增量计算对数似然,该估计过程不执行典型的(非增量)成本高的协方差矩阵计算。在其它情况下,可以使用基于神经网络的增量对数似然估计器增量计算对数似然,该估计器是基于小波的径向基函数网络。这种估计器类似于经典的径向基函数(radial basis function,RBF)网络,但径向基函数是多尺度小波和缩放函数。
图5示出了示例性时间序列的示例性ACF、似然L以及AIC和BIC。在本示例中,ACF用于生成似然,似然用于生成AIC和/或BIC。
在一些情况下,模型搜索逻辑312可以用于根据时间序列关联度量选择与时间序列最匹配的W个预测模型,其中,W是大于或等于2的整数。在某些情况下,模型搜索逻辑312可以用于选择具有最低BIC的三个预测模型。然而,对于本领域技术人员来说,这只是一个示例,并且可以选择其它数量的预测模型。
聚类逻辑
聚类逻辑314也可以称为聚类模块,用于根据由统计逻辑308生成的统计度量,对由模型搜索逻辑312选择的预测模型的子集进行聚类。如本领域技术人员所知,聚类或聚类分析是以使同一组中的对象彼此比其它组中的对象更相似的方式对一组对象进行分组的过程。聚类逻辑314用于根据统计度量对所选择的预测模型子集进行聚类或分组,使得描述统计度量的某个值范围的所有模型都将在同一聚类中。因此,每个聚类根据预测模型代表统计度量的程度对预测模型进行分组。通过执行聚类,聚类逻辑308有效地学习统计度量和预测模型的选定子集之间的映射。聚类逻辑308可以输出描述预测模型的选定子集如何被聚类的一个或多个聚类配置参数或度量。
在某些情况下,模糊聚类用于聚类预测模型的子集。在非模糊聚类中,也可以称为硬聚类,数据被划分为不同的聚类,其中每个数据点只能属于一个聚类。相反,在模糊聚类(可称为软聚类)中,数据点可能属于多个聚类。由于在模型选择中,技术方案可能不是唯一的(例如,多个模型的模型参数和结构可能相同),因此可以实现模糊聚类,以便数据点可以属于多个聚类。
在某些情况下,聚类逻辑308可以用于使用模糊-C均值(Fuzzy-C Mean,FCM)聚类算法对预测模型的子集进行聚类。如本领域技术人员所知,FCM算法是一种迭代算法,其通过将隶属度分配给数据点来工作,该隶属度表示数据点属于每个聚类的程度。在FCM中,隶属度以数据点与聚类中心或质心之间的距离为基础。在FCM中,聚类的中心或质心是所有点的均值,由其属于聚类的隶属度加权。该算法首先生成隶属度的初始集(例如,矩阵),并从中计算初始模糊聚类中心。在每次迭代中,聚类中心和隶属度都会更新。目标函数是为聚类找到最佳位置。当达到最大迭代次数或两次连续迭代之间的目标函数改进小于指定的最小改进量时,迭代过程停止。在这些情况下,由聚类逻辑308输出的聚类配置参数或度量可以包括每个数据点(即,每个统计度量)和聚类中心的隶属度。
例如,聚类逻辑308可以用于输出U和C。U是包括n_clusters个行和data_len个列的模糊分割矩阵,其中,n_clusters是模型的数量,data_len是统计度量的数量。元素U(i,j)表示第j个统计度量在第i个聚类中(即在第i个模型中)的隶属度。对于给定的统计度量,所有聚类的隶属值之和为1。C是聚类中心矩阵,包括被聚类数据的每个维度的n_clusters个行和一个列。每个元素都包含对应统计度量的聚类中心的坐标。对于本领域的技术人员而言显而易见的是,这只是一个示例,并且可以使用其它聚类算法对预测模型的选定子集进行聚类。
图6中示出了当聚类逻辑314实现FCM聚类并接收偏度、峰度、标准偏差(std)和平均值作为统计度量时,聚类逻辑314如何聚类三个预测模型的示例性集的示例。图6显示随着统计度量的改变,聚类分配也会改变。具体来说,从图6可以看出,在时间t时,样品(偏度、峰度、std和平均值)在聚类1和聚类3(即,模型1或模型3)中,在时间t+1时,样品(偏度、峰度、标准偏差和平均值)在聚类1和聚类2中(即,模型1或模型2)中。
控制逻辑
控制逻辑316也可以称为控制模块或自动模型选择器,用于根据预测模型的聚类和统计度量(实时)选择子集中的预测模型之一。换句话说,控制逻辑316用于根据聚类逻辑314的输出(例如,描述所选择的模型子集如何根据统计度量进行聚类的信息)选择用于数据流的时间序列预测的所选择的预测模型子集中的一个和统计逻辑308的输出(例如,一个或多个统计度量)。图7示出了控制逻辑316的高级表示。
在某些情况下,控制逻辑316可以用于将聚类逻辑314的输出(例如,隶属度/模糊分割矩阵)转换为一组规则(例如,if-then规则),所述规则描述如何从统计度量中选择最佳预测模型,以及如何根据所述规则集从统计度量中选择所述子集中的预测模型之一。规则集可以使用在聚类中提取的隶属函数,并可以根据聚类中心和分割矩阵参数化。
在某些情况下,控制逻辑316用于使用模糊推理系统/控制器(Fuzzy InferenceSystem/Controller,FIS/FIC)来选择最适合由一个或多个统计度量所描述的时间序列的预测模型。如本领域技术人员所知,模糊推理是使用模糊逻辑制定从给定输入到输出的映射的过程。然后,映射提供了一个基础,从中可以做出决策,或识别模式。图8中示出了用于实现控制逻辑316的示例性FIS/FIC架构。在这个示例中,控制逻辑316包括模糊化逻辑802、推理引擎804和去模糊化逻辑806。模糊化逻辑802接收由统计逻辑308生成的一个或多个统计度量(例如,偏斜、峰度、标准偏差(std)和均值),并对它们进行模糊化。如本领域技术人员所知,模糊化是将实际标量值(即清晰值)改变为模糊值的过程。这可以通过不同的模糊器(也可以称为隶属函数)来实现。隶属函数的一个示例是高斯曲线。推理引擎804接收由模糊化逻辑802生成的模糊统计度量,并使用一组规则808来生成模糊输出,该模糊输出表示所选择的预测模型子集中的哪个最匹配统计度量。
规则集808从聚类逻辑814的输出(例如,隶属值表示值和聚类中心之间的距离)生成。在某些情况下,规则集808的形式可以是制定IF-THEN规则的一阶逻辑(First-Order-Logic,FOL)语句。图8中示出了示例性规则集810。去模糊逻辑806用于将推理引擎804生成的模糊输出转换为表示与统计度量最匹配的预测模型的清晰输出。
控制逻辑316用于连续操作。由于描述性度量(例如,统计度量和时间序列关联度量)的计算实时更新,因此根据其调整模型之间的分离边界也连续发生,有助于适应性地和动态地选择与时间序列最匹配的模型。
总体概述
现在参考图9,提供了上述系统300的逻辑308、310、312、316、318如何在系统运行时协同工作,以提供用于数据流902的时间序列预测的预测模型的自动实时选择。具体来说,如图9所示,统计逻辑308和关联逻辑310生成(在904中)一个或多个统计度量(例如,斜度、峰度、std和均值)以及数据流上递增的一个或多个时间序列关联度量(例如,STACF和STPACF);模型搜索逻辑312根据时间序列关联度量参数化预测模型,并根据BIC或AIC等信息准则选择与时间序列最匹配的参数化的预测模型的子集。在906中,聚类逻辑314根据例如FCM聚类计算统计度量和参数化的预测模型的子集的聚类隶属度,并在数据流前进时输出聚类度量,例如,模糊分割矩阵和聚类中心。在908中,控制逻辑316使用模糊推理系统或控制器,根据聚类度量和统计度量选择参数化的预测模型之一。然后,所选的参数化预测模型用于根据窗口中的事件生成数据流的预测。
方法
现在参考图10,示出了用于动态选择预测模型以对包括可由图3的系统300实现的一系列事件的数据流执行时间序列预测的示例性方法1000。时间序列数据流可以是非平稳的、确定性的和/或多维的。方法1000可以由基于计算的设备实现,例如但不限于以下结合图13描述的基于计算的设备1300。例如,可以具有非瞬时性计算机可读存储介质,所述非瞬时性计算机可读存储介质上存储有计算机可读指令,当在基于计算的设备上执行所述计算机可读指令时,使得基于计算的设备实现图10的系统1000。
方法1000开始于步骤1002和1004,分别为窗口中的事件集生成一个或多个统计度量,以及为窗口中的事件集生成一个或多个时间序列关联度量。统计度量描述窗口中事件的数学统计信息或属性。示例性统计度量包括但不限于窗口中事件的偏度、峰度、标准偏差和均值。时间序列关联度量将窗口中事件之间的关系描述为时间和/或空间的函数。时间序列关联度量的示例包括但不限于协方差、自相关函数、部分自相关函数、时空协方差函数、时空自相关函数和时空部分自相关函数。在某些情况下,一个或多个统计度量和/或一个或多个时间序列关联度量是增量生成的(即,根据度量的先前值)。
在步骤1006中,根据每个预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度,从多个预测模型中选择预测模型的子集。在某些情况下,每个预测模型根据一个或多个时间序列关联度量与所述时间序列之间的匹配程度是基于包括基于所述预测模型中参数数量的处罚的准则。在某些情况下,预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度包括:将所述一个或多个时间序列关联度量的统计属性相组合,并确定所述预测模型与由此产生的时间序列匹配的统计似然。包括基于参数数量的处罚的似然准则的示例包括但不限于赤池信息准则(AkaikeInformation Criterion,AIC)和贝叶斯信息准则(Bayesian Information Criterion,BIC)。
在步骤1008中,根据一个或多个统计度量对子集中的预测模型进行聚类。在某些情况下,根据所述统计度量对所述子集中的所述预测模型进行聚类包括生成所述一个或多个统计度量与所述子集中的每个预测模型的值之间的映射关系。在某些情况下,聚类是模糊(或软)聚类。
在步骤1010中,根据所述预测模型的子集的聚类和所述统计度量,选择所述子集中的一个预测模型。在某些情况下,选择所述子集中的一个预测模型可以是基于模糊干扰系统的。上面描述了模糊干扰系统的一个示例。在这些情况下,所述模糊干扰系统可以使用实现从所述聚类生成的if-then规则的一阶逻辑语句。
在步骤1012中,使用所选择的预测模型从所述窗口中的所述多个事件实时生成预测输出。
在某些情况下,步骤1002至1012可以迭代地重复用于窗口的后续实例,以便根据数据流的当前特征适应性地选择预测模型。例如,在一些情况下,步骤1002至1012可以在时间序列事件的滑动窗口上连续执行。
测试数据
上述用于动态选择用于对数据流执行时间序列预测的预测模型的系统300已经在几个现实世界场景中测试,其中生成数据流的过程是未知的(即,没有关于如何生成数据的信息)并且存在高非线性时间序列演变中的影响(指示非平稳和确定性时间序列)。
现在参考图11,示出了上述系统300用于交通数据预测时的输出(即预测值)。交通拥堵对城市基础设施构成了严重挑战,也因交通浪费时间而影响城市人民的社会经济生活。许多已知的预测系统未能准确预测交通流量,因为它们未能充分利用车辆的拓扑结构和内在时间流量及其相关性。
测试的目的是在过去20天内记录的十字路口A、C、D、E、F和H的交通概图的情况下,提前一整天生成通过十字路口或交叉口A的交通预测,如图11所示。对于测试,系统300用于从一组时空自动回归移动平均(Spatio-Temporal Auto Regressive Moving Average,STARMA)系列模型中选择,包括:STAR、STMA和STARMA。系统300能够通过利用城市中多个连接的十字路口之间的时空相关性自动选择最佳预测模型结构及其参数。
从图11可以看出,系统300能够根据MAPE找到和参数化最佳拟合模型,并将其用于在56个数据的数据集中显示从第30天开始的20天交通概图之后预测第51个数据,每天288次读数(即每5分钟一次读数)。
现在参考图12,示出了上述系统300用于污染数据预测时的输出(即预测值)。据世界卫生组织(World Health Organization,WHO)估计,空气污染占总死亡率的很大一部分。
测试的目的是根据8个站点过去590天记录的污染传感器读数,提前30天预测一个站点的污染传感器。对于测试,系统300用于从一组时空自动回归移动平均(Spatio-Temporal Auto Regressive Moving Average,STARMA)系列模型中选择,包括:STAR、STMA和STARMA。系统300能够通过利用测量气体(例如,SO2、NO2、O3)、气象(例如,温度、压力)和污染(例如,PME10、PM25)的多个站点的时空相关性自动选择最佳预测模型结构和其参数。
从图12可以看出,系统300能够根据MAPE找到和参数化最佳拟合模型,并将该模型用于预测特定站点处的污染。
示例性基于计算的设备
图13示出了示例性基于计算的设备1300的各种组件,所述基于计算的设备1300可以实现为计算和/或电子设备的任何形式,并且可以在其中实现本文描述的方法和系统的实施例。
基于计算的设备1300包括一个或多个处理器1302,可以是微处理器、控制器或任何其它合适类型的处理器,用于处理计算机可执行指令以控制设备的操作,以便动态地选择用于数据流的时间序列预测的预测模型。在一些示例中,例如,在使用片上系统架构的情况下,处理器1302可以包括一个或多个固定功能块(也称为加速器),所述固定功能块在硬件(而不是软件或固件)中实现用于验证数据转换流水线的硬件设计的方法的一部分。包括操作系统1304或任何其它合适的平台软件可以设置在基于计算的设备处,以使得应用软件能够在设备上执行。
可以使用基于计算的设备1300可访问的任何计算机可读介质提供计算机可执行指令。计算机可读介质可以包括例如计算机存储介质,例如存储器1306和通信介质。计算机存储介质(即,非瞬时性机器可读介质),例如存储器1306,包括以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,用于存储信息,例如计算机可读指令,数据结构、程序模块或其它数据。计算机存储介质包括但不限于RAM、ROM、EPROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用磁盘(digital versatile disk,DVD)或其它光学存储器、磁带盒、磁带、磁盘存储器或其它磁性存储设备、或可以用来存储由计算设备访问的任何其它非传输介质。相反,通信介质可以在调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,例如,载波或其它传输机制。如本文所定义,计算机存储介质不包括通信介质。虽然示出计算机存储介质(即,非瞬时性机器可读介质,例如存储器1306)在基于计算的设备1300中,但将理解,存储器可以被远程分布或定位并经由网络或其它通信链路访问(例如,使用通信接口1308)。
基于计算的设备1300还包括输入/输出控制器610,输入/输出控制器610用于将显示信息输出到显示设备1312,显示设备1312可以与基于计算的设备1300分开或集成到基于计算的设备1300。显示信息可以提供图形用户界面。输入/输出控制器1310还用于接收和处理来自一个或多个用户输入设备1314(例如鼠标或键盘)等设备的输入。此用户输入可用于启动方法或系统。在一个实施例中,如果显示设备1312是触敏显示设备,则显示设备1312还可以充当用户输入设备1314。输入/输出控制器1310还可以将数据输出到除了显示设备之外的设备,例如本地连接的打印设备(图13中未示出)。
申请人在此单独公开本文所述的每一个体特征及两个或两个以上此类特征的任意组合。以本领域技术人员的普通知识,能够根据本说明书将此类特征或组合作为整体实现,而不考虑此类特征或特征的组合是否能解决本文所公开的任何问题。鉴于上文描述,可在本发明的范围内进行各种修改对本领域技术人员来说是显而易见的。
Claims (18)
1.一种用于动态选择时间序列事件的预测模型的计算机实现方法,其特征在于,所述方法在一个或多个处理器中包括以下步骤:
(a)为窗口中的多个事件生成一个或多个统计度量,其中,所述窗口包括一系列时间序列事件;
(b)为所述窗口中的所述多个事件生成一个或多个时间序列关联度量;
(c)根据质量测量从多个预测模型中选择预测模型的子集,所述质量测量表示每个预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度;
(d)根据所述统计度量,对所述子集中的所述预测模型进行聚类;
(e)根据所述预测模型的聚类和所述统计度量,选择所述子集中的一个预测模型;
(f)使用所选择的预测模型从所述窗口中的所述多个事件实时生成预测输出。
2.根据上述权利要求中任一项所述的方法,其特征在于,还包括对所述时间序列中所述多个事件的后续窗口重复(a)至(f)。
3.根据上述权利要求中任一项所述的方法,其特征在于,所述一个或多个统计度量是从所述时间序列中所述多个事件的前一个窗口的一个或多个统计度量增量生成的。
4.根据上述权利要求中任一项所述的方法,其特征在于,所述一个或多个时间序列关联度量是从所述时间序列中所述多个事件的所述前一个窗口的一个或多个时间序列关联度量增量生成的。
5.根据上述权利要求中任一项所述的方法,其特征在于,每个统计度量描述所述窗口中所述多个事件的数学属性。
6.根据上述权利要求中任一项所述的方法,其特征在于,所述一个或多个统计度量包括所述窗口中所述多个事件的偏度、峰度、标准偏差和均值中的一个或多个。
7.根据上述权利要求中任一项所述的方法,其特征在于,每个时间序列关联度量根据事件参数描述所述窗口中所述多个事件之间的关系。
8.根据上述权利要求中任一项所述的方法,其特征在于,所述一个或多个时间序列关联度量包括协方差、自相关函数、部分自相关函数、时空协方差函数、时空自相关函数和时空部分自相关函数中的一个或多个。
9.根据上述权利要求中任一项所述的方法,其特征在于,所述质量测量表示每个预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度是基于包括对所述预测模型中参数数量的处罚的准则。
10.根据上述权利要求中任一项所述的方法,其特征在于,确定所述质量测量表示预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度包括:将所述一个或多个时间序列关联度量的统计属性相组合,并确定所述预测模型与由此产生的时间序列匹配的统计似然。
11.根据上述权利要求中任一项所述的方法,其特征在于,确定所述质量测量表示每个预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度是基于贝叶斯信息准则(Bayesian Information Criterion,BIC)。
12.根据上述权利要求中任一项所述的方法,其特征在于,根据所述统计度量对所述子集中的所述预测模型进行聚类包括生成所述一个或多个统计度量与所述子集中的每个预测模型的值之间的映射关系。
13.根据上述权利要求中任一项所述的方法,其特征在于,所述聚类是模糊聚类。
14.根据上述权利要求中任一项所述的方法,其特征在于,选择所述子集中的一个预测模型是基于模糊干扰系统的。
15.根据权利要求14所述的方法,其特征在于,所述模糊干扰系统使用实现从所述聚类生成的if-then规则的一阶逻辑语句。
16.根据上述权利要求中任一项所述的方法,其特征在于,(a)至(f)在所述时间序列事件的滑动窗口上连续执行。
17.根据上述权利要求中任一项所述的方法,其特征在于,所述时间序列是多维时间序列。
18.一种用于动态选择时间序列事件的预测模型的系统,其特征在于,所述系统包括:
统计逻辑,用于为窗口中的多个事件生成一个或多个统计度量,其中,所述窗口包括一系列时间序列事件;
关联逻辑,用于为所述窗口中的所述多个事件生成一个或多个时间序列关联度量;
模型搜索逻辑,用于根据质量测量从多个预测模型中选择预测模型的子集,其中,所述质量测量表示每个预测模型根据所述一个或多个时间序列关联度量与所述时间序列之间的匹配程度;
聚类逻辑,用于根据所述统计度量,对所述子集中的所述预测模型进行聚类;
控制逻辑,用于根据所述预测模型的聚类和所述统计度量,选择所述子集中的一个预测模型;
预测逻辑,用于使用所选择的预测模型从所述窗口中的所述多个事件实时生成预测输出。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2019/053862 WO2020164740A1 (en) | 2019-02-15 | 2019-02-15 | Methods and systems for automatically selecting a model for time series prediction of a data stream |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113366473A true CN113366473A (zh) | 2021-09-07 |
Family
ID=65516548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980090455.8A Pending CN113366473A (zh) | 2019-02-15 | 2019-02-15 | 用于自动选择用于数据流时间序列预测的模型的方法和系统 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3899758A1 (zh) |
CN (1) | CN113366473A (zh) |
WO (1) | WO2020164740A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112180899B (zh) * | 2020-09-30 | 2021-08-24 | 山东科技大学 | 一种间歇异常测量检测下系统的状态估计方法 |
CN112487361B (zh) * | 2020-11-26 | 2024-04-02 | 南京航空航天大学 | 一种基于arima和小波变换的扇区短时交通流量预测方法 |
CN112906941B (zh) * | 2021-01-21 | 2022-12-06 | 哈尔滨工程大学 | 面向动态相关空气质量时间序列的预测方法及系统 |
CN113065690B (zh) * | 2021-03-19 | 2023-06-30 | 浙江财经大学 | 一种交通预测方法及装置 |
CN113518365B (zh) * | 2021-04-29 | 2023-11-17 | 北京红山信息科技研究院有限公司 | 一种数据关联方法、装置、服务器及存储介质 |
CN113660237B (zh) * | 2021-08-10 | 2023-04-07 | 和中通信科技有限公司 | 一种基于动态滑动窗口的工业互联网数据流异常检测方法、存储器和处理器 |
CN116663753B (zh) * | 2023-08-01 | 2023-10-20 | 江西省供销江南物联网有限公司 | 冷链食品配送预测方法及系统 |
CN116757337B (zh) * | 2023-08-18 | 2023-11-21 | 克拉玛依市鼎泰建设(集团)有限公司 | 一种基于人工智能的房建施工进度预测系统 |
CN117612379B (zh) * | 2024-01-24 | 2024-03-29 | 山东华夏高科信息股份有限公司 | 一种智慧交通车流量预测方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008003920A (ja) * | 2006-06-23 | 2008-01-10 | Toshiba Corp | 時系列データの予測・診断装置およびそのプログラム |
US9418339B1 (en) * | 2015-01-26 | 2016-08-16 | Sas Institute, Inc. | Systems and methods for time series analysis techniques utilizing count data sets |
-
2019
- 2019-02-15 CN CN201980090455.8A patent/CN113366473A/zh active Pending
- 2019-02-15 EP EP19706501.4A patent/EP3899758A1/en active Pending
- 2019-02-15 WO PCT/EP2019/053862 patent/WO2020164740A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP3899758A1 (en) | 2021-10-27 |
WO2020164740A1 (en) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113366473A (zh) | 用于自动选择用于数据流时间序列预测的模型的方法和系统 | |
Ren et al. | Knowledge-maximized ensemble algorithm for different types of concept drift | |
CN107092582B (zh) | 一种基于残差后验的异常值在线检测及置信度评估方法 | |
US7526461B2 (en) | System and method for temporal data mining | |
CN112640380A (zh) | 用于对事件的输入流进行异常检测的设备和方法 | |
CN110335168B (zh) | 基于gru优化用电信息采集终端故障预测模型的方法及系统 | |
WO2015166637A1 (ja) | メンテナンス時期決定装置、劣化予測システム、劣化予測方法および記録媒体 | |
CN106709588B (zh) | 预测模型构建方法和设备以及实时预测方法和设备 | |
Shi et al. | A comparison of single and multiple changepoint techniques for time series data | |
CN111738520A (zh) | 一种融合孤立森林与长短期记忆网络的系统负载预测方法 | |
JP7481902B2 (ja) | 管理計算機、管理プログラム、及び管理方法 | |
US11704539B2 (en) | Forecasting routines utilizing a mixer to combine deep neural network (DNN) forecasts of multi-variate time-series datasets | |
Solgi et al. | Pre-processing data using wavelet transform and PCA based on support vector regression and gene expression programming for river flow simulation | |
CN113341919A (zh) | 一种基于时序数据长度优化的计算系统故障预测方法 | |
CN114202065B (zh) | 一种基于增量式演化lstm的流数据预测方法及装置 | |
Xing et al. | Research of a novel combined deterministic and probabilistic forecasting system for air pollutant concentration | |
Jiang et al. | Hybrid perimeter control with real-time partitions in heterogeneous urban networks: An integration of deep learning and MPC | |
Wang et al. | Dynamic traffic prediction based on traffic flow mining | |
US20230022401A1 (en) | Multi-Level Time Series Forecaster | |
CN112733903B (zh) | 基于svm-rf-dt组合的空气质量监测与告警方法、系统、装置和介质 | |
Aakash et al. | Forecasting of Novel Corona Virus Disease (Covid‐19) Using LSTM and XG Boosting Algorithms | |
Filipovska et al. | Reliable trajectory-adaptive routing strategies in stochastic, time-varying networks with generalized correlations | |
Zúñiga et al. | Probabilistic multistep time series forecasting using conditional generative adversarial networks | |
JP2016194912A (ja) | 混合モデルの選択方法及び装置 | |
Offor et al. | Multi-Model Bayesian Kriging for Urban Traffic State Prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220301 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right |