CN117441167A - 使用时间序列的紧凑字典表示的误差有界近似时间序列连接 - Google Patents
使用时间序列的紧凑字典表示的误差有界近似时间序列连接 Download PDFInfo
- Publication number
- CN117441167A CN117441167A CN202280040608.XA CN202280040608A CN117441167A CN 117441167 A CN117441167 A CN 117441167A CN 202280040608 A CN202280040608 A CN 202280040608A CN 117441167 A CN117441167 A CN 117441167A
- Authority
- CN
- China
- Prior art keywords
- sequence
- sub
- dictionary
- time
- matrix
- 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
- 238000009826 distribution Methods 0.000 claims abstract description 190
- 239000011159 matrix material Substances 0.000 claims abstract description 182
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000004422 calculation algorithm Methods 0.000 description 87
- 230000006870 function Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 10
- 238000010276 construction Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000005295 random walk Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000036962 time dependent Effects 0.000 description 2
- 208000009729 Ventricular Premature Complexes Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种方法。该方法包括确定时间序列、子序列长度。随后能够确定该时间序列的长度,并且随后能够计算初始矩阵分布。该方法随后能够通过将该子序列长度的第一子序列应用于该初始矩阵分布来形成针对该第一子序列的经处理的矩阵分布。随后能够根据该经处理的矩阵分布来确定第二子序列。该方法随后能够包括将该第二子序列与字典中的其他子序列进行比较,以及将该第二子序列添加到该字典。该字典中的子序列能够用于生成多个子序列矩阵分布。该方法随后能够包括使用该多个子序列矩阵分布来形成近似矩阵分布,以及随后使用该近似矩阵分布来确定该时间序列或另一时间序列中的一个或多个异常。
Description
相关申请的交叉引用
本申请是PCT申请,该PCT申请要求2021年6月7日提交的美国临时专利申请号63/197,854的优先权和权益,该美国临时专利申请以引用方式并入本文中。
背景技术
矩阵分布是为时间序列数据提供相似性连接功能的数据挖掘工具。矩阵分布的用户可以使用内相似性连接(即自连接)将时间序列与其自身进行相似性连接,或者使用互相似性连接将时间序列与另一时间序列进行连接。通过调用任一种或两种类型的连接,矩阵分布可以帮助用户发现保守或异常的结构,或者将时间序列分割成语义上有意义的域。需要用于提高近似互相似性连接的计算速度和效率的方法。
本公开的实施方案单独地以及共同地解决此问题和其他问题。
发明内容
本发明的一个实施方案包括一种方法。所述方法包括:a)由服务器计算机确定对应于时间相关事件的时间序列;b)由服务器计算机确定子序列;c)确定时间序列的长度;d)由服务器计算机使用时间序列来计算初始矩阵分布;e)由服务器计算机通过将子序列长度的第一子序列应用于初始矩阵分布来形成针对所述第一子序列的经处理的矩阵分布;f)由服务器计算机根据经处理的矩阵分布来确定第二子序列;g)由服务器计算机将所确定的第二子序列添加到包括时间序列中的多个子序列的字典;h)由服务器计算机通过将字典中的多个子序列应用于所述时间序列或另一时间序列来生成多个子序列矩阵分布;i)由服务器计算机使用多个子序列矩阵分布来形成近似矩阵分布;以及j)使用近似矩阵分布来确定所述时间序列或另一时间序列中的一个或多个异常。
本发明的另一实施方案包括一种服务器计算机。所述服务器计算机包括:处理器;以及非暂时性计算机可读介质,所述非暂时性计算机可读介质包括指令,所述指令可由处理器执行以执行操作,所述操作包括:a)确定对应于时间相关事件的时间序列;b)确定子序列长度;c)确定时间序列的长度;d)使用时间序列来计算初始矩阵画像;e)通过将子序列长度的第一子序列应用于初始矩阵画像来形成针对所述第一子序列的经处理的矩阵画像;f)根据经处理的矩阵画像来确定第二子序列;g)将所确定的第二子序列添加到包括时间序列中的多个子序列的字典;h)通过将字典中的多个子序列应用于所述时间序列或另一时间序列来生成多个子序列矩阵画像;i)使用多个子序列矩阵画像来形成近似矩阵画像;以及j)使用近似矩阵画像来确定所述时间序列或另一时间序列中的一个或多个异常。
下文进一步详细描述这些和其他实施方案。
参考以下详细描述和附图,可以获得对本发明的实施方案的本质和优点的更好理解。
附图说明
图1示出了根据实施方案的***。
图2示出了根据实施方案的随机时间序列、随机行走时间序列和心电图时间序列。
图3示出了根据实施方案的三个矩阵分布。
图4示出了根据实施方案的时间序列和查询的距离分布。
图5示出了根据实施方案的两个时间序列的互相似性连接的矩阵分布。
图6示出了根据实施方案的具有对应的矩阵分布、距离分布和经处理的矩阵分布的时间序列和查询。
图7示出了根据实施方案的与上下文窗口因子的各种值相关联的字典元素中的误差值。
图8示出了根据实施方案的用于对字典的元素进行组合的方法。
图9示出了根据实施方案的通过将时间序列与字典的所有元素之间的矩阵分布进行组合而生成的时间序列的近似矩阵分布。
图10示出了图示根据实施方案的针对多个时间序列的最大误差值对空间节省因子的曲线图。
图11示出了根据实施方案的对于上下文窗口因子的各种值与经验误差值相比的理论误差值对空间节省因子的曲线图。
图12示出了从墨尔本行人数据集中提取的样本时间序列。
图13示出了根据实施方案的通过随机基线和近似连接算法生成的空间节省因子的直方图。
图14示出了根据实施方案的针对各种空间节省因子的运行时间对时间序列长度的第一字典构建运行时间曲线图。
图15示出了根据实施方案的运行时间对空间节省因子的第二字典构建运行时间曲线图。
图16示出了根据实施方案的运行时间对子序列长度的第三字典构建运行时间曲线图。
图17示出了根据实施方案的针对各种间隔因子的运行时间对时间序列长度的第一字典连接运行时间曲线图和第二字典连接运行时间曲线图。
图18示出了根据实施方案的运行时间对空间节省因子的第三字典连接运行时间曲线图。
图19示出了根据实施方案的运行时间对子序列长度的第四字典连接运行时间曲线图。
图20示出了根据实施方案的心电图时间序列的接收器操作特性曲线和吞吐量曲线图。
图21示出了根据实施方案的通过近似连接算法检测的心电图时间序列中的异常。
图22示出了根据实施方案的针对示例性字典学习算法的伪代码。
图23示出了根据实施方案的针对示例性相似性连接算法的伪代码。
具体实施方式
在论述本公开的实施方案之前,可以进一步详细描述一些术语。
“时间相关事件”可以是在特定时间处发生的事情。在一些实施方案中,时间相关事件可以由值和时间戳来表示。时间相关事件的一些示例包括汽车通过收费站、引起心跳的电子信号、与购买交易相关联的数据等。在心跳的示例中,心电图(ECG)机可用于测量以若干时间间隔引起心跳的电子信号的电压。
“时间序列”可以是一系列时间相关事件。在一些实施方案中,可以通过在连续的并且有可能等间隔的时间点处检测时间相关事件来形成时间序列。这种时间序列的一个示例可以包括由心电图机测量的心跳活动时间序列,该心电图机在紧密间隔的时间点处测量电压(例如通过每毫秒测量电压而形成的时间序列)。在一些实施方案中,可以使用在一定时间范围内出现的数据合计来形成时间序列。这种时间序列的一个示例可以包括交通数据时间序列,可以通过对在第一时间段与第二时间段之间通过收费站的汽车数量进行合计来形成该交通数据时间序列(例如通过对每10分钟通过收费站的汽车进行合计而形成的时间序列)。在一些实施方案中,可以使用列表、阵列或任何其他合适形式的分组数据来实现时间序列。在数学上,时间序列是实值数ti∈R的序列:T=[t1,t2,...,tn],其中n是T的长度。
“序列长度”可以是序列的长度。在一些示例中,“序列长度”可以是子序列的“子序列长度”。例如,具有1,000个数据点的时间序列的序列长度可以是1,000。时间序列的100个数据点的子序列的子序列长度可以是100。
“矩阵分布”可以是时间序列的距离矩阵。例如,给定第一时间序列TA、时间序列TB和子序列长度m,矩阵分布PAB是JAB,m中的每一对之间的距离或相似性的向量。在下文中,此运算在形式上被表示为
“字典”可以是列出事物的资源。在一些实施方案中,字典可以列出时间序列的子序列。例如,字典可以存储在时间序列中发现的一个或多个子序列。
图1示出了根据实施方案的***。该***包括服务器计算机100、第一客户端计算机110和第二客户端计算机120。服务器计算机100可以包括处理器102,该处理器可以耦接到存储器104、网络接口106和非暂时性计算机可读介质108。在一些实施方案中,服务器计算机100可以由处理网络操作。
第一客户端计算机110可以由第一用户操作。在一些实施方案中,第一客户端计算机110可以向服务器计算机100提供时间相关事件的列表。例如,第一客户端计算机110可以操作记录心跳电压的心电图机。第一客户端计算机110可以向服务器计算机100提供心电图数据。
第二客户端计算机120可以由第二用户操作。第二客户端计算机120可以从服务器计算机100接收输出,并且该输出可以由第二用户评估。
图1和以下附图中的任何附图中的***中的部件可以通过任何合适的通信介质而彼此操作性通信。通信介质的合适示例可以是以下各项中的任一项和/或组合:直接互连;互联网;局域网(LAN);城域网(MAN);作为互联网节点的运行任务(OMNI);安全定制连接;广域网(WAN);无线网络(例如采用诸如但不限于无线应用协议(WAP);I-模式等协议)等。图1的计算机、网络和设备之间的消息可以使用安全通信协议进行传输,该安全通信协议诸如但不限于文件传输协议(FTP);超文本传输协议(HTTP);以及安全超文本传输协议(HTTPS)。
存储器104可以在内部或在外部耦接到处理器102(例如经由基于云的数据存储装置),并且可以包括易失性存储器和/或非易失性存储器(诸如RAM、DRAM、ROM、闪存存储器或任何其他合适的存储器设备)的任何组合。存储器104可以存储时间序列数据。
网络接口106可以包括允许服务器计算机100与外部计算机和/或设备通信的接口。网络接口106可以使得服务器计算机100能够向诸如客户端计算机的另一设备传送数据,以及从该另一设备传送数据。网络接口106的一些示例可以包括调制解调器、物理网络接口(诸如以太网卡或其他网络接口卡(NIC))、虚拟网络接口、通信端口、个人计算机存储卡国际协会(PCMCIA)插槽和卡等。由网络接口106启用的无线协议可包括Wi-Fi。经由网络接口106转移的数据可以呈信号的形式,该信号可以是电学的、电磁的、光学的,或者能够由外部通信接口接收的任何其他信号(统称为“电子信号”或“电子消息”)。可以包括数据或指令的这些电子消息可以经由通信路径或信道在网络接口106与其他设备之间提供。如上所述,可以使用任何合适的通信路径或信道,诸如电线或电缆、光纤、电话线、蜂窝链路、射频(RF)链路、WAN或LAN网络、互联网,或任何其他合适的介质。
计算机可读介质108可以包括可由处理器102执行的用于一种方法的代码,该方法包括:a)由服务器计算机确定对应于时间相关事件的时间序列;b)由服务器计算机确定子序列长度;c)确定时间序列的长度;d)由服务器计算机使用时间序列来计算初始矩阵分布;e)由服务器计算机通过将子序列长度的第一子序列应用于初始矩阵分布来形成针对该第一子序列的经处理的矩阵分布;f)由服务器计算机根据经处理的矩阵分布来确定第二子序列;g)由服务器计算机将所确定的第二子序列添加到包括时间序列中的多个子序列的字典;h)由服务器计算机通过将字典中的多个子序列应用于该时间序列或另一时间序列来生成多个子序列矩阵分布;i)由服务器计算机使用多个子序列矩阵分布来形成近似矩阵分布;以及j)使用近似矩阵分布来确定该时间序列或另一时间序列中的一个或多个异常。
计算机可读介质108可以包括多个软件模块,包括但不限于时间序列管理模块108A、计算模块108B和通信模块108C。
时间序列管理模块108A可以包括使得处理器102对时间序列数据进行运算的代码。例如,时间序列管理模块108A可以允许处理器102根据服务器计算机100从外部设备接收到的时间相关事件来形成时间序列数据。时间序列管理模块108A可用于执行时间序列的互相似性连接和内相似性连接。
计算模块108B可以包括使得处理器102执行计算的代码。例如,计算模块108B可以允许处理器102计算时间序列和查询的距离分布,以确定一组矩阵分布的最小值等。
通信模块108C可以包括使得处理器102生成消息、转发消息、对消息进行重新格式化以及/或者以其他方式与其他实体通信的代码。
“矩阵分布”可以是时间序列数据挖掘工具,该时间序列数据挖掘工具可用于解决多种问题,包括时间序列模体或不一致发现、时间序列语义分段和时间序列形状子特征(shapelet)发现。这些问题可以通过执行针对矩阵分布定义的内相似性连接或互相似性连接中的一者或两者来解决。内相似性连接(通常也称为自连接)捕获在给定时间序列内的子序列之间的最近邻关系。互相似性连接捕获从一个子序列集到另一个子序列集的最近邻关系,其中每个子序列集来自不同时间序列。
提出了一种具有经证实的误差界限的快速近似时间序列互相似性连接方法,包括学习阶段和推理阶段。在学习阶段期间,创建用于捕获时间序列内的局部模式的紧凑代表性字典。针对数据集的紧凑字典可以利用许多时间序列数据集包含显著冗余的事实,这可以参考图2和图3来描述。(如图3中的)矩阵分布的曲线下面积可以被视为冗余度的度量。在推理阶段中,相似性连接可应用于具有紧凑字典的任何给定时间序列,而不是原始时间序列。由于字典显著小于原始时间序列,因而与执行与原始时间序列的相似性连接相比,可以更有效地执行相似性连接。
图2示出了根据实施方案的随机时间序列200、随机行走时间序列202和心电图(ECG)时间序列204。可以通过(例如使用随机数生成器或伪随机数生成器)生成随机值并且针对每个随机值指派时间戳来生成随机时间序列200。可以通过以下操作来生成随机行走时间序列202:以初始值开始(例如以零开始),并且对于多个时间步长,将前一值随机增大或减小设定量(例如增大或减小一)。可以使用心电图机以按多个时间步长测量个体的电压来生成心电图时间序列204。
图3示出了根据实施方案的三个矩阵分布。随机时间序列200具有对应随机矩阵分布310,随机行走时间序列202具有对应随机行走矩阵分布312,并且心电图时间序列204具有对应心电图矩阵分布314。针对每个矩阵分布的曲线下面积可以被视为每个时间序列的可压缩性的度量(例如字典可以如何紧凑地表示原始时间序列)。时间序列的矩阵分布允许一种简单且有效的时间序列异常检测方法。特别地,矩阵分布中的最高点被称为时间序列不一致。利用定义,不一致与矩阵分布的时间序列中的任何另一子序列都不相似。若干定义如下。
定义1:时间序列是实值数/>的序列:T=[t1,t2,...,tn],其中n是T的长度。
定义2:时间序列T的子序列是从位置i开始的T的长度为m的连续子阵列。在形式上,子序列由Ti,m=[ti,ti+1,...,ti+m-1]表示。
定义3:时间序列T的全子序列集Am是通过在T:Am={T1,m,T2,m,...,Tn-m+1,m}上滑动长度为m的窗口获得的T的所有可能子序列的有序集T,其中m是用户定义的子序列长度。Am[i]用于表示Ti,m。
定义4:距离分布S是给定查询与时间序列T的全子序列集Am中的每个子序列Am[i]之间的距离(或相似性)的向量。给定长m的时间序列,并且计算该时间序列与每个子序列Am[i]∈Am的距离,可以计算距离分布。距离分布S可用于存储结果距离。用于距离分布计算的最常见的距离函数是z归一化欧几里得(Euclidean)距离。其他距离函数可以包括有界相似性函数,并且使用皮尔逊(Pearson)相关系数。距离分布S可以被视为元时间序列,该元时间序列对用于生成全子序列集Am的时间序列T进行注释。图4中示出了示例性距离分布。
图4示出了根据实施方案的时间序列400和查询440的距离分布420。时间序列400的子序列可以用作查询440。将查询440与时间序列400的每个子序列进行比较。所得比较被存储为距离分布420。与查询440更相似的子序列是第一子序列441和第三子序列443。与这两个子序列相比,时间序列400中的第二子序列442与查询440较不相似。
时间序列相似性连接涉及子序列之间的最近邻(即1NN)关系;因此,定义了指示两个输入子序列之间的最近邻关系的1NN连接函数。
定义5:给定两个全子序列集Am和Bm以及两个子序列Am[i]和Bm[j],1NN连接函数θ1NN(Am[i],Bm[j])是布尔(Boolean)函数,仅当Bm[j]是集Bm中的Am[i]的最近邻者时,该布尔函数才返回True。
利用所定义的1NN连接函数,可以通过对两个输入全子序列集应用相似性连接运算符来生成相似性连接集。
定义6:给定时间序列TA和TB的全子序列集Am和Bm,Am和Bm的相似性连接集JAB,m是包含Am中每个子序列与Bm:JAB,m={<Am[i],Bm[j]>|θ1NN(Am[i],Bm[j])}中其最近邻者的对的集。
相似性连接集内的每一对之间的距离或相似性被测量并存储到矩阵分布中。
定义7:给定第一时间序列TA、第二时间序列TB和子序列长度m,矩阵分布PAB是JAB,m中的每一对之间的距离或相似性的向量。该运算在形式上被表示为由于第一时间序列TA和第二时间序列TB可以是相同时间序列(例如内相似性连接)或两个不同时间序列(例如互相似性连接),因而存在两种类型的时间序列相似性连接算法。
图5示出了根据实施方案的两个时间序列的互相似性连接的矩阵分布510。使用第一时间序列500和第二时间序列502来生成矩阵分布510。可以选择子序列长度以从第一时间序列500中选择查询540。可以将查询540与第二时间序列502的每个子序列进行比较,以产生针对查询540的距离分布。可以针对第一时间序列500中查询540的每个可能的选择执行类似过程,以计算针对查询540的每个选择的距离分布。随后可以使用逐元素最小值函数来组合所有查询的距离分布,使得每个点处的所有距离分布的最小值可以用作矩阵分布510中的对应点。作为示例,如果在时间序列中存在产生三个距离分布[0,7,4,6,2,9,2]、[3,5,32,83,21,21,21]和[12,14,15,1,5,6]的三个子序列,则逐元素最小值函数将产生矩阵分布[0,5,4,6,1,5,2]。
正如距离分布一样,矩阵分布也可以被视为对时间序列进行注释的元时间序列。例如,如果从第一时间序列500中提取全子序列集Am,并且从第二时间序列502中提取全子序列集Bm,则在第二时间序列502中找到针对第一时间序列500中的每个子序列的最近邻者(即,最相似的子序列)。所得矩阵分布510利用第二时间序列502中每个子序列的最近邻距离来对第一时间序列500进行注释。矩阵分布510从第一时间序列500的角度揭示相似性和差异。不一致550标识第一时间序列500中与时间序列502最显著不同的子序列。
为了有效地计算互相似性连接矩阵分布,需要一种紧凑字典表示。针对TB的紧凑字典表示DB使得对于任何给定时间序列TA都可以被最小化,其中并且||·||表示向量范数。另外,需要无假阴性保证和最大误差保证。期望近似解(例如使用紧凑字典的解)捕获所有可能的时间序列不一致(例如所有异常)。为了实现这一点,针对TA中的任何子序列的近似最近邻距离不能比真实最近邻距离更近。下文论述这两种保证。
保证1:假定使用距离度量来定义PAB和则对于所有i并且对于任何给定TA,无假阴性保证都需要/>
应注意,如果使用诸如皮尔逊相关系数的相似性度量来定义PAB和则对于所有i,/>满足此特性会允许许多下游较高级别算法使用近似结果,同时产生精确答案。
保证2:给定TB和DB,最大误差保证需要存在误差界限使得对于所有i并且对于任何给定TA,/>
如果字典被贪婪地建立,则这种误差界限可用于停止标准中,或者向用于下游任务的近似解决方案提供置信度。考虑时间序列不一致(例如在给定时间序列内具有最大矩阵分布值的子序列)发现作为示例,如果最大近似矩阵分布值和第二大近似矩阵分布值/>具有大于emax的差,则保证与/>相关联的子序列是TA的时间序列不一致。为了证明为何该陈述为真,给定保证1,针对/>和/>的误差被定义为:
利用代数运算,等式变为:
由于保证2,因而ei和ej都是由emax限定上界的非负数。假定 即使ei为0,如果ei>emax,则PAB[j]也可以仅大于PAB[i]。然而,由于ei>emax与保证2相冲突,因而PAB[i]一定是TA的时间序列不一致。如保证2中所指出,如果主要关注时间序列不一致,则在一些情况下,有可能利用字典连接的近似结果来产生针对不一致问题的总体精确答案。
如上文所描述,近似互相似性连接算法具有两个阶段:1)字典学习和2)相似性连接。字典学习算法在第一阶段中根据时间序列来构造紧凑字典表示,随后任何输入的时间序列子序列都可以在第二阶段中与字典而不是原始时间序列有效连接。
字典学习算法基于两种启发法来设计:1)时间序列模体是更具代表性的子序列,以及2)应避免与已添加到字典的子序列相似的子序列,因为该子序列在减小总体误差方面提供了边际增益。参考图22,算法1示出了算法的伪代码,并且在描述伪代码的功能时可以参考图6至图9。针对算法的输入是时间序列TB、子序列长度m和上下文窗口因子k。上下文窗口因子k是调整子序列长度m的窗口的值,以有助于捕获时间序列中的子序列的偏移。上下文窗口因子k可用于提供额外数据点,该额外数据点可以在选定子序列之前或之后,以向子序列添加上下文。
图6示出了根据实施方案的具有对应矩阵分布610(算法1中的PB)、距离分布620(算法1中的S)和经处理的矩阵分布630(算法1中的S)的时间序列600(算法1中的TB)和查询640。时间序列600可以与子序列长度m和上下文窗口因子k一起用作针对算法1的输入。子序列长度m和上下文窗口因子k决定用于内相似性连接的查询640的大小。在算法1的行1处,三个输入被馈送到字典学习函数(即,“LearnDictionary”)中。参考图1,例如,在接收到时间相关事件的数据之后,服务器计算机100可以确定时间序列数据。例如,在服务器计算机100从第一客户端计算机100接收到交通数据之后,服务器计算机100可以生成交通时间序列。服务器计算机100随后可以确定子序列长度(例如基于输入时间序列的形状,诸如输入时间序列的周期性),以及将用作针对字典学习函数的输入的上下文窗口因子。例如,时间序列600可以呈现出周期为π的正弦行为。因此,服务器计算机100可以确定应选择与π相似的子序列长度m。
在算法1的行2处,可以确定输入时间序列600的大小或长度n。例如,时间序列600可以是呈列表形式的时间序列数据。列表的长度(例如列表中元素的量)可以是输入时间序列600的长度n。大小n可以是时间序列600中沿时间线的数据点的数量。
在算法1的行3处,可以使用时间序列600使用内相似性连接来计算矩阵分布610。时间序列600的子序列可应用于时间序列600中的数据,以产生矩阵分布610。例如,内相似性连接可以确定时间序列600中具有子序列长度m的第一子序列。内相似性连接随后可以(在类似于如图5中所描述的上述互相似性连接过程的过程中)将所确定的子序列应用于时间序列600,以形成第一子序列和时间序列600的距离分布。可以针对时间序列600中的每个子序列重复这些步骤,并且可以使用每个子序列的距离分布来形成初始矩阵分布。内相似性连接输出矩阵分布610。矩阵分布610可以用作迭代处理的初始矩阵分布。内相似性连接的一个示例可以在Z.Zimmerman、K.Kamgar、N.S.Senobari、B.Crites,G.Funning、P.Brisk和E.Keogh于ACM云计算研讨会会刊,2019年,第74至86页中的“Matrix profile xiv:scaling time series motif discovery with gpus to break a quintillion pairwisecomparisons a day and beyond”中找到。
在可选步骤中,在算法1的行4处,可以对用于存储距离分布的临时变量S进行初始化。临时变量S可以呈零向量的形式。类似地,可选地,在算法1的行5处,可以对空集DB进行初始化以存储字典。
算法1的行6至20开始迭代过程。在算法1的行7处,可以进一步处理矩阵分布610,以促进与字典DB中存储的子序列较不相似的子序列。在循环的第一次迭代中,行7对矩阵分布610不具有影响,因为距离分布620最初是零向量。然而,在每隔一个循环中,距离分布610存储字典DB中的子序列与时间序列600之间的互相似性连接。时间序列600的第一子序列i和第二子序列j可以被选择为候选子序列。子序列i和第二子序列j都可以与字典DB中的子序列进行比较。与字典DB中的子序列较不相似的子序列在距离分布620中具有较高的值(例如S[i]>S[j])。与和第二子序列j相关联的值相比,用于形成经处理的矩阵分布630的运算将更多地减小与第一子序列i相关联的矩阵分布值。在循环的第n次迭代中,通过将使用第n子序列形成的距离分布应用于前一次迭代的矩阵分布(例如n-1矩阵分布)来形成经处理的矩阵分布。因此,在循环的第一次迭代(n=1)中,由于第一子序列640用于形成距离分布620(S),因而可以通过将第一子序列640应用于初始矩阵分布610(PB对应于n=0)来形成经处理的矩阵分布630(P′B=PB-S)。
在视觉上,图6展现了行7的重要性,其中查询640是在前一次迭代中添加到字典DB中的子序列。如果提取与矩阵分布610中的最低值相关联的子序列,则可以提取在查询640的左侧或右侧的不同V形图案,而不是时间序列600中较不相似的冠状图案。例如,将距离分布620应用于矩阵分布610以形成经处理的矩阵分布630(例如P′B=PB-S)。经处理的矩阵分布630的最低值将产生冠状图案(例如经处理的矩阵分布630的最低点与时间序列600的冠状图案对齐)。
算法1的行8至11开始子循环,其中将与已添加到字典的子序列相似的子序列从经处理的矩阵分布630中移除。行8迭代通过字典DB中的所有子序列。行9检索字典DB中的子序列的起始索引(例如对应于子序列的时间戳)。行10向检索到的索引添加窗口。对于查询640的示例,检索到的索引可以是对应于V形图案的中心的索引,并且窗口可以选择查询640的V形图案的其余部分。行11用无穷大替换经处理的矩阵分布630的对应于窗口的值,使得保证经处理的矩阵分布630的最低点不与字典DB中的任何子序列相似。与检索到的子序列的微小匹配也可以用无穷大来替换。用于寻找检索到的子序列的微小匹配的方法可以在C.-C.M.Yeh、Y.Zhu、L.Ulanova、N.Begum、Y.Ding、H.A.Dau、D.F.Silva、A.Mueen和E.Keogh于2016年IEEE第16届国际数据挖掘会议(ICDM).Ieee,2016年,第1317至1322页中的“Matrixprofile i:all pairs similarity joins for time series:a unifying view thatincludes motifs,discords and shapelets”中找到。
在算法1的行12处,可以根据经处理的矩阵分布630来确定时间序列600中的新颖子序列。可以通过确定经处理的矩阵分布630的最小值来确定与用于将新颖子序列添加到字典DB的最佳候选者相关联的索引j。由于在行8至11中移除了与已经在字典DB中的子序列相似的子序列,因而经处理的矩阵分布630中的最小值对应于时间序列600中尚未添加到字典DB的时间序列模体。例如,在第二次迭代中,经处理的矩阵分布630的最小值对应于可用于根据时间序列600来确定不同于查询640的第二子序列(例如冠状图案)的索引。
在算法1的行13处,可以确定时间序列600中的第二子序列 随后可以将与所确定的索引j相关联的第二子序列/> 添加到字典DB。由于在行8至11中移除了与已经在字典DB中的子序列相似的子序列,因而如果第二子序列或基本相似的子序列没有存储在字典DB中,则将第二子序列添加到字典DB。在视觉上,当子序列彼此叠加时,诸如在图9中的子序列902叠加在图9中的时间序列900的开始部分上的情况下,子序列可以看起来彼此基本相似。在具体示例中,如果序列中对应时间处的值的大于75%、85%或90%在彼此的10%、5%或2%以内,则子序列可以被视为基本相似。应注意,本发明的实施方案不限于这些值。
上下文窗口因子k在最初识别的子序列之前和之后添加额外点。当输入时间序列高度周期性时,较大上下文窗口有助于捕获图案的不同偏移。上下文窗口的大小由作为针对算法1的输入给出的超参数上下文窗口因子k来参数化。图7示出了不同上下文窗口对近似的影响。
图7示出了根据实施方案的与上下文窗口因子的各种值相关联的字典元素中的误差值。测试随机行走误差时间序列和心电图时间序列的空间节省因子(例如)。通过计算真实矩阵分布与近似矩阵分布之间的平均欧几里德距离来测量使用算法1构建的字典的质量。如图7所示出,在随机行走误差700曲线图和ECG误差702曲线图中,示出了将上下文窗口因子k设定在[1.5,2]的范围内给出了最准确的近似矩阵分布,并且所提出的矩阵对k(如果k在[1.5,4]中)不敏感。对于后续计算,k固定为1.5。
在一些实施方案中,作为针对第13行的额外步骤,为了在字典DB中紧凑地存储子序列,可以将重叠子序列合并,如图8所示出。
图8示出了根据实施方案的用于将字典800的子序列进行组合的方法。可以将字典800中的第一子序列802与字典800中的第二子序列804进行比较。作为比较的结果(例如确定第一子序列802与第二子序列804重叠),将第一子序列802与第二子序列804两者进行组合的紧凑子序列808可以存储在字典800中。以这种方式,紧凑字典806不存储第一子序列802与第二子序列804的重叠区域,以紧凑地存储紧凑子序列808。对于待添加在字典800中的每个新的子序列,可以进行类似过程。每个新的子序列可以将新的子序列与字典800中的其他子序列进行比较,并且如果子序列中的任何子序列重叠,则可以将新的子序列与字典800中的重叠子序列进行组合。
在算法1的行14和15处,可以检查终止条件。如果符合终止条件,则算法1可以退出循环并且返回字典DB。终止条件的两个示例如下:1)基于存储器使用来终止,以及2)基于最大误差来终止。用户可以根据他们的具体应用程序来设计终止条件。例如,如果应用程序需要在存储有限的机器上执行相似性连接,则用户可以利用条件1来终止字典学习算法。如果近似解的质量对应用程序较重要,则用户可以改为选择基于条件2来终止。
在算法1的行16处,可以通过查询在当前迭代中添加有子序列的时间序列600来计算经修改的距离分布S′。
算法1的行17至20可以将经修改的距离分布S′与前一次迭代的距离分布进行合并。算法1的行17可以通过检查距离分布是否为零向量来检查当前迭代是否为第一次迭代。如果距离分布被确定为零向量,则在行18处,可以将经修改的距离分布S′设定为距离分布S。行20使用两个距离分布之间的逐元素最小值将经修改的距离分布S′与前一次迭代的距离分布S进行合并。所得合并距离分布S度量字典DB中每个子序列与每个元素之间的距离,并且被用于行7中的下一次迭代中以处理矩阵分布PB。在每次迭代中,可以将子序列应用于时间序列以形成距离分布S(例如在每次迭代处,将子序列与输入时间序列进行互相似性连接)。
在符合终止条件之后,返回字典DB。对于至少一个特定具体实现,时间复杂度是O(max(n2,niternlogn)),其中n是输入时间序列的长度,并且niter是迭代次数,该迭代次数取决于终止条件。n2项来自算法1的行3中的内相似性连接运算,并且niternlogn项来自行16中将用于计算经修改的距离分布S′的MASS算法调用niter次。应注意,因为该算法避免了使用行11中的子序列长度m来选择任何先前添加的字典元素的微小匹配,所以最大可能的迭代数niter是因为子序列长度m通常大于logn,所以这使得niternlogn小于n2,并且总时间复杂度变为O(n2)。如果用近似内相似性连接算法替换行3中的连接运算,则可以进一步减小时间复杂度。
一旦根据时间序列600学习字典DB,便由图23中所示出的算法2描述的相似性连接算法可用于计算针对任何给定时间序列TA的近似互相似性连接矩阵分布针对算法2的输入是时间序列TA、字典DB和子序列长度m。算法2的过程可以由图9在视觉上进行解释。
图9示出了根据实施方案的通过将字典901的所有子序列(例如902、904、906)的矩阵分布(例如910、912、914)进行组合而生成的时间序列900(算法2中的TA)的近似矩阵分布916(算法2中的)。子序列902、904、906可以存在于字典901中。
在算法2的行1处,该算法可以将时间序列900(算法2中的TA)、字典901(算法2中的DB)和子序列长度作为输入。
在算法2的行2处,可以根据时间序列900来确定时间序列长度n。
在可选步骤中,在算法2的行3处,空阵列用于将近似矩阵分布916存储为长度n-m+1的无穷大向量。
行4至6开始迭代过程,通过该迭代过程,字典901(DB)的子序列可用于形成近似矩阵分布916。字典901(DB)包括第一子序列902(D[1])、第二子序列904(D[2])和第三子序列906(D[3])。尽管图9示出了字典901(DB)中的三个子序列,但字典901(DB)中可以包括更多或更少的子序列。行4至6可以处理字典901(DB)中的所有子序列,该所有子序列对应于时间序列中的所有子序列。通过对字典901(DB)中的每个子序列进行解析,重复行4至6,直到时间序列中的所有子序列被处理为止。
在算法2的行5处,计算并存储时间序列900与字典901之间的互相似性连接矩阵分布。例如,可以将第一子序列902与时间序列900进行互相似性连接以计算第一矩阵分布910。类似地,可以将第二子序列904和第三子序列906与时间序列900进行互相似性连接以计算第二矩阵分布912和第三矩阵分布914。以此方式,可以通过将字典中的多个子序列应用于时间序列900来生成多个子序列矩阵分布。
在算法2的行6处,可以使用逐元素最小值函数将第一矩阵分布910与第二矩阵分布912进行组合。例如,逐元素最小值函数可以将第一矩阵分布910的值与近似矩阵分布916(其最初为无穷大)进行比较。两个矩阵分布之间的逐元素最小值可以被设定为近似矩阵分布916的对应索引处的值。另外,可以使用逐元素最小值函数将第二矩阵分布912和第三矩阵分布914与近似矩阵分布916进行组合。在算法2的行7中返回所得近似矩阵分布916。使用多个子序列矩阵分布来形成近似矩阵分布916。
在图9的此示例中,输入时间序列900由三个重复图案和一个独特图案(或异常)组成;输入字典DB包含三个子序列(例如字典可以经由算法1用这些元素进行填充),其中每个子序列对应于时间序列900中的三个重复图案中的一个重复图案。字典901中的每个子序列仅由三个重复图案中的一个重复图案组成,针对每次迭代的每个互相似性连接矩阵分布(即,第一矩阵分布910)具有与对应重复图案相关联的低值。通过将所得第一矩阵分布910、第二矩阵分布912和第三矩阵分布914与逐元素最小值函数进行组合,所形成的近似矩阵分布916揭示了异常950。近似矩阵分布916的最大值可用于确定时间序列900中的异常950。例如,近似矩阵分布916的最大值与时间序列900的独特图案对齐。通过首先确定近似矩阵分布916的最大值,可以检索最大值的索引。该索引随后可用于访问时间序列900以在时间序列900中寻找异常950。在一些实施方案中,近似矩阵分布916的部分的顶部值可用于确定时间序列900中的一个或多个异常。例如,近似矩阵分布916可以具有若干峰值,并且来自近似矩阵分布916的每个部分的顶部值可用于确定时间序列900中的一个或多个异常。
针对算法2的此具体实现的时间复杂度是O(|DB|n),其中|DB|是DB中的数据点的数量,并且n是TA的长度。因为针对行5的时间复杂度是O(|DB|n),并且所以总时间复杂度是/>
如图2和图3中所展现,为了证实不同时间序列具有不同“可压缩性”水平,使用算法1学习的字典在各种空间节省因子下使用图1中所示出的三个时间序列的扩展版本。在图10中测量并总结了与每个字典相关联的最大误差emax。
图10示出了图示根据实施方案的针对多个时间序列的最大误差值对空间节省因子的曲线图1000。最大误差曲线图1000示出了最大误差emax随着空间节省因子的减小而减小。这种相关性是所预期的,因为较大字典捕获较多信息,并且因此预期最大误差较低。其次,对于随机时间序列,最大误差emax几乎不变。这也是预期行为,因为随机时间序列不包含任何视觉上可区分的图案。随机时间序列中的子序列彼此不相关(例如子序列之间的皮尔逊相关系数总是接近零)。再次,与随机行走时间序列和ECG时间序列两者相关联的emax随着字典大小的增大而减小。对于较低空间节省因子,该变化较剧烈,则当空间节省因子大于0.8时,误差停止改善。当空间节省小于或等于0.9时,ECG字典具有最低emax。
为了从经验上验证所导出的理论最大误差emax,将根据ECG时间序列学***均值、标准偏差、最大值和最小值来总结误差向量E。
图11示出了根据实施方案的对于上下文窗口因子的各种值与经验误差值相比的理论误差值对空间节省因子的曲线图。从图11的误差曲线图1100中的一个重要观察结果是,经验最大误差从未超过理论误差emax。换句话说,给出了理论误差emax是误差界限的经验验证。接下来,在较低空间节省因子下,与平均值和最大误差相比,标准偏差减小得更多,并且最小误差几乎总是接近零。这表明,对于诸如ECG的可压缩数据,可以创建仅使用原始数据的一部分的准确近似值。
为了评估算法1是否能够创建高质量的字典,使用在墨尔本市找到的2017年墨尔本行人数据集,“Pedestrian counting system-monthly(counts per hour)”,https://data.melbourne.vic.gov.au/Transport/Pedestrian-Counting-System-Monthly-counts-per-hour/b2ak-trbp,将算法1与随机基线进行比较(例如从时间序列中随机选择子序列,并且在每次迭代时将选定子序列添加到字典)。应用于原始数据集的处理将原始数据集格式化成具有10个不同类别的UCR存档格式,如UCRArchive H.A.Dau、E.Keogh、K.Kamgar、C.-C.M.Yeh、Y.Zhu、S.Gharghabi、C.A.Ratanamahatana、Yanping、B.Hu、N.Begum、A.Bagnall、A.Mueen、G.Batista和Hexagon-ML,″The ucr time seriesclassification archive,″2018年10月,https://www.cs.ucr.edu/eamonn/time_series_data_2018/中所示出。
图12示出了从墨尔本行人数据集中提取的样本时间序列1200。在每次试验中,选择随机类别作为背景类别,并且其他类别被视为前景类别(图12中的粗体)。来自背景类别的所有时间序列被串接以形成背景时间序列。对于每个前景类别,随机选择几个时间序列(2至16,基于随机数生成器),并且将选定时间序列***到背景时间序列中。
当算法1和随机基线都使字典递增地增长时,两种方法都运行,直到字典从所有10个类别中捕获时间序列并且记录相关联的空间节省因子为止。所记录的空间节省因子被用作字典的质量的度量。执行一千次试验,并且结果总结在如图13中所示出的直方图中。
图13示出了根据实施方案的通过随机基线和近似连接算法生成的空间节省因子的直方图。直方图1300示出了与随机基线相比近似互相似性连接一般具有较高空间节省因子。针对近似互相似性连接和随机基线的最大填充箱分别为0.88和0.76。另外,近似互相似性连接执行得更一致,因为与随机基线相比,近似互相似性连接具有较集中的分布。
测试字典构建算法(算法1)和字典连接算法(算法2)的运行时间。对于下文中呈现的所有实验,处理器线程的数量被设定为4,使用图1中所示出的相同8,000长度的ECG时间序列来测试算法,并且在具有2.9GHz四核Intel Core i7处理器的计算机上测量运行时间。
图14示出了根据的针对各种空间节省因子的运行时间对时间序列长度的第一字典构建运行时间曲线图。基于上述时间复杂度分析,算法1的运行时间是基于输入时间序列的长度(即n)和所执行的迭代的次数(即niter)。通过使用前n个点作为输入时间序列而容易地修改输入时间序列的长度。为了改变迭代数niter,基于空间节省因子来使用不同终止条件。子序列长度m和上下文窗口因子k分别固定为100和1.5。结果运行时间呈现在第一字典构建运行时间曲线图1400中。运行时间与时间序列TB的长度呈二次方增长,这与运行时间分析一致。运行时间还随着空间节省因子的增大而减少,因为构建较小字典需要较少迭代。为了仔细检查字典构建时间与空间节省因子之间的关系,时间序列TB的长度被设定为218,针对若干空间节省因子测量运行时间。结果呈现在图15中。
图15示出了根据实施方案的运行时间对空间节省因子的第二字典构建运行时间曲线图。用于构建字典的运行时间一般随着期望字典大小更大而增加(例如想要较低空间节省因子)。从第二字典构建运行时间曲线图1500中可以看出,对于较高空间节省因子,运行时间的减少与较低空间节省因子相比更明显,因为低于0.5的空间节省因子的运行时间差异与高于0.5的空间节省因子的运行时间差异相比大得多。
图16示出了根据实施方案的运行时间对子序列长度的第三字典构建运行时间曲线图。评估子序列长度对运行时间的影响。时间序列TB的长度被设定为218,并且空间节省因子被设定为0.5。如第三字典运行时间曲线图1600所示出,字典构建运行时间随着子序列长度的增加而减少。这种现象的发生是由于子序列长度的增加减少了时间序列中的子序列的数量。
类似于算法1的字典构建算法,时间序列的长度明显地影响算法2的字典连接算法的运行时间。然而,对于字典连接算法,存在两个时间序列:构建经学习字典DB所根据的时间序列(例如TB)以及与DB连接的时间序列(例如TA)。影响运行时间的另一因素是字典的大小(例如|DB|)。为了控制时间序列长度,一个时间序列的大小固定为217,而另一时间序列的长度是变化的。为了改变字典的大小,再次使用空间节省因子终止条件。图17总结了运行时间结果。
图17示出了根据实施方案的针对各种间隔因子的运行时间对时间序列长度的第一字典连接运行时间曲线图和第二字典连接运行时间曲线图。图17示出了根据实施方案的均针对各种空间节省因子和时间序列长度的第一字典连接运行时间曲线图1700和第二字典连接运行时间曲线图1702。在第一字典连接运行时间曲线图1700和第二字典连接运行时间曲线图1702中,包括精确互相似性连接算法的运行时间,以展现近似互相似性连接所提供的运行时间益处。使用近似互相似性连接算法的运行时间的减少可以在两个运行时间曲线图中看出。通过将空间节省因子设定为0.5,在第一字典连接运行时间曲线图1700和第二字典连接运行时间曲线图1702两者中,运行时间减少到精确连接的大约50%。针对算法2的时间复杂度是O(|DB|n)。改变字典构建时间序列TB的长度会随着固定针对每一行的空间节省因子而改变|DB|,并且改变连接时间序列TA的长度会改变时间序列长度n。基于运行时间分析,字典构建时间序列TB的长度和连接时间序列TA的长度两者与运行时间具有线性关系,并且所发现的关系与实验结果一致。
图18示出了根据实施方案的运行时间对空间节省因子的第三字典连接运行时间曲线图。进一步检查空间节省因子与运行时间之间的关系。字典构建时间序列TB和连接时间序列TA的长度被设定为217,,并且针对各种空间节省因子来测量运行时间。总体趋势非常类似于图15的第二字典构建运行时间曲线图1500。第三字典连接运行时间曲线图1800与第二字典构建运行时间曲线图1500之间的关键差异是以百分比表示的时间差。通过将空间节省因子从0.3增大到0.99的运行时间百分比减小对于第三字典连接运行时间曲线图1800是87%,而该百分比对于第二字典构建运行时间曲线图1500是51%。此差异的存在是因为算法1的行3中的连接运算不依赖于空间节省因子的设定,但算法1的行6至20的循环依赖于空间节省因子的设定。换句话说,算法1需要付出“固定”计算成本,而不论字典大小的减小如何。相比之下,就运行时间而言,算法2的整体受益于较小字典。
图19示出了根据实施方案的运行时间对子序列长度的第四字典连接运行时间曲线图1900。对于各种子序列长度,测量算法2的运行时间。字典构建时间序列TB和连接时间序列TA两者的长度被设定为217,并且空间节省因子被设定为0.5。同样,第四字典连接运行时间曲线图1900的行为类似于图16的第三字典构建运行时间曲线图1600的行为。一般来说,运行时间随着子序列长度的增加而减少。
使用来自在A.L.Goldberger、L.A.Amaral、L.Glass、J.M.Hausdorff、P.C.Ivanov、R.G.Mark、J.E.Mietus、G.B.Moody、C.-K.Peng和H.E.Stanley,"Physiobank,physiotoolkit,and physionet:components of a new research resource for complexphysiologic signals,"circulation,第101卷,第23期,第e215至e220页,2000年中找到的MIT-BIH长期ECG数据库中的心电图(ECG)时间序列,对近似互相似性连接的异常检测能力进行评估。对于每个患者,前100万个数据点被用作训练时间序列,并且其余数据点被用作测试时间序列。总共有7个患者,并且测试时间序列的长度在患者之间从500万至约1000万变化。通过移除所有异常心跳来处理训练时间序列。在不同空间节省因子下,根据经处理的训练时间序列来学习字典,随后将所得字典与测试时间序列进行连接。对于0空间节省因子的基线(例如精确连接),将经处理的训练时间序列直接与测试时间序列进行连接。
互相似性连接矩阵分布值被用作针对每个子序列的异常分数,并且计算接收器操作特性曲线(AUC)以测量与基础事实标签相比异常分数的质量。使用各种空间节省因子来计算AUC和吞吐量。为了总结来自总共七个患者的结果,对于七个患者中的每个患者,对AUC百分比变化求平均,并且吞吐量是相对于基线(例如0空间节省因子)的。应注意,因为AUC百分比变化和吞吐量都是相对于基线计算的,所以对应于基线的AUC百分比变化和吞吐量分别为0%和1。实验结果总结在图20中。
图20示出了根据实施方案的心电图时间序列的接收器操作特性曲线2000和吞吐量曲线图2002。AUC随着空间节省因子的增大而减小,因为使用的资源更少。然而,即使移除99%的数据,AUC平均也只下降3.87%。当检查对应平均吞吐量时,吞吐量曲线图2002表明,与执行精确连接相比,近似连接算法能够处理多22.34倍的数据。
图21示出了根据实施方案的通过近似连接算法检测的心电图时间序列中的异常。从患者中的一个患者获取心跳时间序列的摘录,并且通过矩阵分布值曲线图2100将近似互相似性连接(具有0.99的空间节省因子)的输出可视化。在此心跳序列中,除了正常心跳以外,还存在两次室性期前收缩(PVC/异常)心跳,其在矩阵分布值曲线图2100中以粗体显示。从矩阵分布值曲线图2100中,可以观察到与高矩阵分布值相关联的两次PVC心跳。换句话说,尽管只使用1%的训练数据,但所提出的近似互相似性连接仍然提供了质量异常分数。
实施方案提供了若干优点。实施方案提高了使用矩阵分布的异常检测***的能力。实施方案提供了一种近似互相似性连接算法,该近似互相似性连接算法在数量上比先前方法计算效率更高。另外,近似互相似性连接算法提供了至少两种有益的保证。近似互相似性连接算法提供以下保证:在互相似性连接中计算无假阴性,从而允许下游运算使用近似解,但通过精化近似解来产生精确答案。另外,近似互相似性连接算法提供以下保证:近似解中存在最大误差。因此,当最大误差充分小时,近似解中的不一致是原始时间序列中的不一致。近似互相似性连接算法的吞吐量显著大于精确相似性连接的吞吐量。
本申请中描述的软件部件或功能中的任一者可以实现为待由处理器使用诸如例如Java、C、C++、C#、Objective-C、Swift的任何合适的计算机语言或者诸如Perl或Python的脚本语言使用例如常规的或面向对象的技术执行的软件代码。所述软件代码可以作为一系列指令或命令存储在计算机可读介质上以供存储和/或传输,合适的介质包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘等磁性介质,或者例如光盘(CD)或数字通用光盘(DVD)等光学介质、闪存存储器,等等。计算机可读介质可以是此类存储设备或传输设备的任何组合。
此类程序还可使用适于经由包括互联网在内的符合多种协议的有线网络、光学网络和/或无线网络进行传输的载波信号来编码和传输。因而,根据本发明的实施方案的计算机可读介质可以使用用此类程序编码的数据信号来创建。用程序代码编码的计算机可读介质可以与兼容设备一起封装或者(例如,经由因特网下载)与其他设备分开提供。任何这种计算机可读介质可以驻留于单个计算机产品(例如硬盘驱动器、CD或整个计算机***)之上或之内,并且可以存在于***或网络内的不同计算机产品之上或之内。计算机***可以包括监视器、打印机,或用于向用户提供本文所提及的任何结果的其他合适的显示器。
以上描述是说明性的且不是限制性的。在阅读了本公开之后,本发明的许多变型形式对于本领域的技术人员将变得显而易见。因此,本发明的范围不应参考以上描述来确定,而是应参考未决的权利要求以及其完整范围或等效物来确定。
在不脱离本发明的范围的情况下,任何实施方案的一个或多个特征可以与任何另一实施方案的一个或多个特征进行组合。
尽管一些方法描述了以特定顺序进行的步骤,但本发明的实施方案不限于所描述或要求保护的步骤的特定顺序。例如,在权利要求1中,在一些实施方案中,确定时间序列的长度的步骤c)可以在步骤b)之前进行,并且仍然可以被权利要求1所包涵。
如本文中所使用,除非明确指示有相反的意思,否则使用“一(a/an)”或“所述”旨在意指“至少一个”。
Claims (20)
1.一种方法,包括:
a)由服务器计算机确定对应于时间相关事件的时间序列;
b)由所述服务器计算机确定子序列长度;
c)确定所述时间序列的长度;
d)由所述服务器计算机使用所述时间序列来计算初始矩阵分布;
e)由所述服务器计算机通过将所述子序列长度的第一子序列应用于所述初始矩阵分布来形成针对所述第一子序列的经处理的矩阵分布;
f)由所述服务器计算机根据所述经处理的矩阵分布来确定第二子序列;
g)由所述服务器计算机将所确定的第二子序列添加到包括所述时间序列中的多个子序列的字典;
h)由所述服务器计算机通过将所述字典中的所述多个子序列应用于所述时间序列或另一时间序列来生成多个子序列矩阵分布;
i)由所述服务器计算机使用所述多个子序列矩阵分布来形成近似矩阵分布;以及
j)使用所述近似矩阵分布来确定所述时间序列中的一个或多个异常。
2.如权利要求1所述的方法,其中所述初始矩阵分布通过以下操作来生成:
a-1)确定所述时间序列的子序列;
b-1)将所述子序列应用于所述时间序列以形成距离分布;
c-1)针对所述时间序列中的每个子序列重复a)-1和b)-1;以及
d-1)使用所述距离分布来形成所述初始矩阵分布。
3.如权利要求1所述的方法,其中重复步骤e)至h),直到所述时间序列中的所有子序列被处理为止。
4.如权利要求1所述的方法,其中使用所述多个子序列矩阵分布来形成所述近似矩阵分布包括取所述多个子序列矩阵分布的逐元素最小值。
5.如权利要求1所述的方法,其中如果所述第二子序列或与所述第二子序列基本相似的子序列没有存储在所述字典中,则所确定的第二子序列被添加在所述字典中。
6.如权利要求1所述的方法,其中在f)根据所述经处理的矩阵分布来确定所述第二子序列之后,所述方法还包括:
由所述服务器计算机将所述第二子序列与所述字典中的其他子序列进行比较。
7.如权利要求6所述的方法,其中将所述第二子序列与所述字典中的所述其他子序列进行比较的结果使得将所述第二子序列与所述字典中的重叠子序列进行组合。
8.如权利要求1所述的方法,其中使用所述多个子序列矩阵分布来形成所述近似矩阵分布包括对所述多个子序列矩阵分布执行逐元素最小值运算。
9.如权利要求1所述的方法,其中j)使用所述近似矩阵分布来确定所述时间序列中的一个或多个异常包括确定所述近似矩阵分布的最大值。
10.如权利要求1所述的方法,其中所述子序列长度对应于所述时间序列中的子序列的长度。
11.如权利要求1所述的方法,其中所述方法还包括确定上下文窗口因子,其中所述上下文窗口因子是调整所述子序列长度的值。
12.如权利要求1所述的方法,其中生成所述多个子序列矩阵分布,直到符合终止条件为止。
13.如权利要求12所述的方法,其中所述终止条件是基于最大误差。
14.如权利要求1所述的方法,其中所述子序列长度基于所述时间序列的形状被确定。
15.一种服务器计算机,包括:
处理器;以及
非暂时性计算机可读介质,所述非暂时性计算机可读介质包括指令,所述指令能够由所述处理器执行以执行操作,所述操作包括:
a)确定对应于时间相关事件的时间序列;
b)确定子序列长度;
c)确定所述时间序列的长度;
d)使用所述时间序列来计算初始矩阵分布;
e)通过将所述子序列长度的第一子序列应用于所述初始矩阵分布来形成针对所述第一子序列的经处理的矩阵分布;
f)根据所述经处理的矩阵分布来确定第二子序列;
g)将所确定的第二子序列添加到包括所述时间序列中的多个子序列的字典;
h)通过将所述字典中的所述多个子序列应用于所述时间序列或另一时间序列来生成多个子序列矩阵分布;
i)使用所述多个子序列矩阵分布来形成近似矩阵分布;以及
j)使用所述近似矩阵分布来确定所述时间序列中的一个或多个异常。
16.如权利要求15所述的服务器计算机,其中所述初始矩阵分布通过以下操作来生成:
a-1)确定所述时间序列的子序列;
b-1)将所述子序列应用于所述时间序列以形成距离分布;
c-1)针对所述时间序列中的每个子序列重复a)-1和b)-1;以及
d-1)使用所述距离分布来形成所述初始矩阵分布。
17.如权利要求15所述的服务器计算机,其中所述子序列长度对应于所述时间序列中的子序列的所述长度。
18.如权利要求15所述的服务器计算机,其中生成所述近似矩阵分布包括使用所述多个子序列矩阵分布之间的互相似性连接矩阵分布。
19.如权利要求15所述的服务器计算机,其中生成所述多个子序列矩阵分布包括将所述字典中的所述多个子序列应用于所述时间序列。
20.如权利要求15所述的服务器计算机,其中使用所述多个子序列矩阵分布来形成所述近似矩阵分布包括对所述多个子序列矩阵分布执行逐元素最小值运算。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163197854P | 2021-06-07 | 2021-06-07 | |
US63/197,854 | 2021-06-07 | ||
PCT/US2022/031792 WO2022260906A1 (en) | 2021-06-07 | 2022-06-01 | Error-bounded approximate time series join using compact dictionary representation of time series |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117441167A true CN117441167A (zh) | 2024-01-23 |
Family
ID=84425319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280040608.XA Pending CN117441167A (zh) | 2021-06-07 | 2022-06-01 | 使用时间序列的紧凑字典表示的误差有界近似时间序列连接 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4352650A1 (zh) |
CN (1) | CN117441167A (zh) |
WO (1) | WO2022260906A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7009438B2 (ja) * | 2016-07-07 | 2022-01-25 | アスペン テクノロジー インコーポレイテッド | 時系列パターンモデルを用いて主要パフォーマンス指標(kpi)を監視するコンピュータシステム及び方法 |
US10853372B1 (en) * | 2016-12-02 | 2020-12-01 | Stc.Unm | Distributed pattern matching over streaming time series |
CN110352389B (zh) * | 2017-07-31 | 2021-02-23 | 三菱电机株式会社 | 信息处理装置及信息处理方法 |
US11373243B2 (en) * | 2019-02-11 | 2022-06-28 | TD Ameritrade IP Compnay, Inc. | Time-series pattern matching system |
US11353859B2 (en) * | 2019-03-19 | 2022-06-07 | Mitsubishi Electric Research Laboratories, Inc. | System and method for anomaly detection in time-varying system operations |
EP4010824A1 (en) * | 2019-08-06 | 2022-06-15 | Verint Americas Inc. | System and method of selecting human-in-the-loop time series anomaly detection methods |
-
2022
- 2022-06-01 EP EP22820784.1A patent/EP4352650A1/en active Pending
- 2022-06-01 WO PCT/US2022/031792 patent/WO2022260906A1/en active Application Filing
- 2022-06-01 CN CN202280040608.XA patent/CN117441167A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022260906A1 (en) | 2022-12-15 |
EP4352650A1 (en) | 2024-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alemohammad et al. | The recurrent neural tangent kernel | |
Baudat et al. | Feature vector selection and projection using kernels | |
Sayantan et al. | Classification of ECG beats using deep belief network and active learning | |
Doquire et al. | Feature selection for interpatient supervised heart beat classification | |
Shomorony et al. | Sampling large data on graphs | |
Kale et al. | An examination of multivariate time series hashing with applications to health care | |
Tran et al. | An effective and efficient approach to classification with incomplete data | |
Aljawarneh et al. | A fuzzy measure for intrusion and anomaly detection | |
Balouchestani et al. | Advanced K-means clustering algorithm for large ECG data sets based on a collaboration of compressed sensing theory and K-SVD approach | |
Qiao et al. | A structure-enriched neural network for network embedding | |
Yadav et al. | Extended interval type-II and kernel based sparse representation method for face recognition | |
Lolas | Regularization in high-dimensional regression and classification via random matrix theory | |
Chao et al. | Supervised nonnegative matrix factorization to predict ICU mortality risk | |
KR20220036292A (ko) | 심전도 데이터 분류를 위한 심층 신경망 사전 학습 방법 | |
Thiagarajan et al. | DDxNet: a deep learning model for automatic interpretation of electronic health records, electrocardiograms and electroencephalograms | |
Bai et al. | Concept gradient: Concept-based interpretation without linear assumption | |
CN115398445A (zh) | 训练卷积神经网络 | |
Chen et al. | A unified framework for automatic distributed active learning | |
Gupta et al. | Similarity learning based few shot learning for ECG time series classification | |
CN117203644A (zh) | 神经网络模型生成、生理数据分类、以及患者临床分类 | |
Kalantidis et al. | TLDR: Twin learning for dimensionality reduction | |
Lin et al. | Continuous detection of abnormal heartbeats from ECG using online outlier detection | |
Kumar et al. | Optimal feature subset selection method for improving classification accuracy of medical datasets | |
CN117441167A (zh) | 使用时间序列的紧凑字典表示的误差有界近似时间序列连接 | |
Wang et al. | Subspace quadratic regularization method for group sparse multinomial logistic regression |
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 |