首页> 中国专利> 时间序列中的周期性检测和周期长度估计

时间序列中的周期性检测和周期长度估计

摘要

可以接收特定时间长度的输入时间序列数据,并预处理以获得处理后的时间序列数据。然后可以将处理后的时间序列数据分解为不同级别的所述特定时间长度的多条时间序列数据,并且可以执行特定级别的一条时间序列数据是否包括频域中的周期分量候选的检测。响应于检测到所述特定级别的该条时间序列数据包括频域中的周期分量候选,可以执行验证以确定所述特定级别的该条时间序列数据中的周期分量候选是否为时域中的输入时间序列数据的真正周期分量。

著录项

  • 公开/公告号CN112989266A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利权人 阿里巴巴集团控股有限公司;

    申请/专利号CN202011139156.X

  • 申请日2020-10-22

  • 分类号G06F17/14(20060101);G06F17/16(20060101);G06F17/18(20060101);

  • 代理机构11644 北京清源汇知识产权代理事务所(特殊普通合伙);

  • 代理人冯德魁;张艳梅

  • 地址 英属开曼群岛大开曼资本大厦一座四层847号邮箱

  • 入库时间 2023-06-19 11:29:13

说明书

背景技术

周期性检测是时间序列分析中的重要任务,并且在许多时间序列任务中起着至关重要的作用,这些任务可以包括但不限于分类、预测、异常检测、聚类和压缩等。但是,由于时间序列的复杂度,很难进行准确且鲁棒的周期性检测,虽然并非不可能。准确且鲁棒的周期性检测的困难源于时间序列的非平稳性、时间序列中动态且复杂的周期模式(包括隔行模式)、噪声和异常值、以及缺乏对时间序列中周期模式数量的了解等。

例如,访问游戏网站或购物网站的用户数量可能表现出多个周期模式,这可以包括按周周期模式(例如,每个周末期间用户数量突然增加)、按月周期模式(例如,每个月的某些天中用户数量突然增加或减少)、按年周期模式(例如,每年特定假期期间用户数量突然增加)等。由于这些周期模式的各自的时间段和性质可能事先已知或可能未知,这会使周期性检测更加复杂,从而导致复杂的周期性检测方法的发展,这些方法可能需要大量的计算并且无法适应各种状况。当基础周期模式的数量未知和/或多于一个时,这些现有的周期性检测方法的性能较差并且会产生误报。

发明内容

此发明内容介绍了周期性检测系统的简化概念,其将在下面的详细描述中进一步描述。此发明内容既不旨在标识所要求保护的主题的必要特征,也不旨在用于限制所要求保护的主题的范围。

本发明描述了周期性检测系统的示例实现。在实现中,可以接收特定时间长度的输入时间序列数据,并对其进行预处理以获得处理后的时间序列数据。在实现中,预处理可以包括至少去除输入时间序列数据中的趋势。然后,可以将处理后的时间序列数据分解为不同级别的所述特定时间长度的多条时间序列数据,并且可以执行特定级别的一条时间序列数据是否包括频域中的周期分量候选的检测。响应于检测到所述特定级别的该条时间序列数据包括频域中的周期分量候选,可以执行验证以确定所述特定级别的该条时间序列数据中的周期分量候选是否为时域中的输入时间序列数据的真正周期分量。

附图说明

根据附图进行详细说明。在附图中,参考编号最左边的数字表示该参考编号的附图首次出现。在不同附图中使用相同的参考编号,表明项目相似或相同。

图1示出了其中可以使用周期性检测系统的环境示例。

图2更详细地示出了示例周期性检测系统。

图3示出了周期性检测的方法示例。

图4示出了周期性检测的方法示例的中间结果。

具体实施方式

如上所述,周期性检测是时间序列分析中的重要任务。然而,由于时间序列的性质,周期性检测面临许多技术障碍,这导致了许多复杂的周期性检测算法的发展。然而,这些现有的周期性检测算法要么计算量大,要么不够灵活难以适应不同的条件。例如,当基础周期模式的数量未知和/或多于一个时,现有的周期性检测方法具有较差的性能并产生误报。

本发明描述了示例周期性检测系统。周期性检测系统可以接收具有未知数量的时间段未知的周期模式的时间序列。周期性检测系统可以通过在时域和频域两者中的检测和估计的组合来检测和估计周期模式的数量和时间段。

在实现中,周期性检测系统可以接收特定时间长度的输入时间序列数据。周期性检测系统可以处理输入时间序列数据以获得处理后的时间序列数据。在实现中,周期性检测系统可以通过对输入时间序列数据应用趋势提取滤波器以从输入序列数据中提取趋势分量来处理输入时间序列数据。趋势提取滤波器的示例可以包括但不限于霍德里克-普里斯科特(Hodrick-Prescott,H-P)滤波器。另外,周期性检测系统可以通过对输入时间序列数据执行标准化(normalization)和/或从输入时间序列数据中去除异常值来进一步处理输入时间序列数据。

在对输入时间序列数据进行处理之后,周期性检测系统还可以根据特定分解方法,将处理后的时间序列数据分解为不同级别的所述特定时间长度的多条时间序列数据。在实现中,特定分解方法可以包括将处理后的时间序列数据从时域(或第一域)变换成时频域(或第二域)的变换方法,即,将处理后的时间序列数据分解为时频域中的多条时间序列数据(或称为多个时间序列分量)。在实现中,特定分解方法可以包括但不限于最大重叠离散小波变换、小波变换,Gabor变换等。在实现中,根据使用的特定分解方法(或变换方法)的类型,时频域中的时间序列的变换分量可以不同地表示。

在实现中,周期性检测系统可以确定或检测在频域中是否存在潜在的周期分量或周期分量候选。通过示例而非限制,在将处理后的时间序列数据分解为不同级别的特定时间长度的多条时间序列数据之后,周期性检测系统可以检测频域中的特定级别的一条时间序列数据(或频域中的特定时间序列分量)是否包括周期分量候选。

在实现中,周期性检测系统可以通过获得频域中的特定级别的一条时间序列数据的周期图(periodogram)并确定该周期图是否满足预定的假设检验,来检测特定级别的该条时间序列数据是否包括周期分量候选。如果周期图通过预定的假设检验,则周期性检测系统可以确定特定级别的该条时间序列数据包括周期分量候选。在实现中,周期性检测系统可以获得一个或多个特定级别的一条或多条时间序列数据,其被检测或确定为包括周期分量候选。

在实现中,响应于检测到或确定一个或多个特定级别的一条或多条时间序列数据包括频域中的周期分量候选,周期性检测系统可以验证一个或多个特定级别的一条或多条时间序列数据中的一个或多个周期分量候选是否是输入时间序列数据的真正周期分量。在实现中,周期性检测系统可以验证一个或多个特定级别的一条或多条时间序列数据中的一个或多个周期分量候选是否为时域中输入时间序列数据的真正周期分量。

作为示例而非限制,周期性检测系统可以执行并获得包括时域中的周期分量候选的特定级别的一条时间序列数据的自相关,并计算在自相关中各自的高度大于预定阈值的多个峰的中位数距离。周期性检测系统然后可以基于中位数距离是否位于与该条时间序列数据的特定级别相关联的预定范围内,来验证周期分量是否为真正周期分量候选。例如,周期性检测系统可以响应于确定中位数距离位于与该条时间序列数据的特定级别相关联的预定范围内,来验证周期分量是真正周期分量候选,其周期长度为所述多个峰的中位数距离。

在实现中,可以由多个单独的单元或服务来执行本文中描述的要由周期性检测系统执行的功能。例如,接收服务可以接收输入时间序列数据,而预处理服务可以对时间序列数据进行预处理以获得预处理后的时间序列数据。分解服务可以将预处理后的时间序列数据分解为不同级别的特定时间长度的多条时间序列数据,并且检测服务可以确定或检测频域中预定级别的一条时间序列数据是否包括周期分量候选。在实现中,验证服务可以所述特定级别的该条时间序列数据中的周期分量候选是否为时域中输入时间序列数据的真正周期分量。

此外,尽管在本文描述的示例中,周期性检测系统可以被实现为安装在单个设备中的软件和硬件的组合,但是在其他示例中,周期性检测系统可以被实现并分布在多个设备中,或作为网络上和/或云计算架构中的一个或多个计算设备中提供的服务。

本申请描述了多种多样的实施方式和实现。以下部分描述了适合于实践各种实现的示例框架。接下来,本申请描述了用于实现周期性检测系统的示例系统、设备和过程。

图1示出了可用于实现周期性检测系统的示例环境100。环境100可以包括周期性检测系统102。在此示例中,周期性检测系统102被描述为作为单个实体或设备存在。在一些情况下,周期性检测系统102可以被包括在计算设备中,诸如客户端设备104。在其他情况下,周期性检测系统102可以被包括在一个或多个服务器中,诸如云中的一个或多个服务器106。例如,周期性检测系统102的一些或全部功能可以包括在经由网络108连接和通信的客户端设备104和/或一个或多个服务器106中或由其提供。

在实现中,客户端设备104可以被实现为多种计算设备中的任一种,包括但不限于台式计算机、笔记本或便携式计算机、手持设备、上网本、互联网设备、平板电脑或平板计算机、移动设备(例如,移动电话、个人数字助理、智能电话等)、服务器计算机等、或其组合。

网络108可以是无线或有线网络、或其组合。网络108可以是彼此互连并且用作单个大型网络(例如,互联网或内联网)的个体网络的集合。这样的个体网络的示例包括但不限于电话网络、电缆网络、局域网(LAN)、广域网(WAN)和城域网(MAN)。此外,个体网络可以是无线或有线网络、或其组合。有线网络可以包括电载波连接(例如通信电缆等)和/或光载波或连接(例如光纤连接等)。无线网络可以包括例如WiFi网络、其他射频网络(例如,

在实现中,周期性检测系统102可以接收用于确定或估计输入时间序列数据中的周期性数量和各自的时间段的请求。在接收到请求之后,周期性检测系统102可以处理输入时间序列数据,并使用本发明中提出的周期性检测方法来确定输入时间序列数据中的周期性数量和各自的时间段。

图2更详细地示出了周期性检测系统102。在实现中,周期性检测系统102可以包括但不限于一个或多个处理器202、存储器204和程序数据206。在实现中,周期性检测系统102可以进一步包括输入/输出(I/O)接口208和/或网络接口210。在实现中,周期性检测系统102的某些功能可以使用硬件来实现,例如ASIC(即专用集成电路)、FPGA(即现场可编程门阵列)和/或其他硬件。

在实现中,处理器202可以被配置为执行存储在存储器204中和/或从输入/输出接口208和/或网络接口210接收的指令。在实现中,处理器202可以被实现为一个或多个硬件处理器,包括例如微处理器、专用指令集处理器、物理处理单元(PPU)、中央处理器(CPU)、图形处理单元、数字信号处理器,张量处理单元等。附加地或替代地,本文描述的功能可以至少部分地由一个或多个硬件逻辑组件执行。例如但非限制地,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、系统级芯片系统(SOC)、复杂的可编程逻辑器件(CPLD)等。

存储器204可以包括易失性存储器形式(诸如随机存取存储器(RAM))和/或非易失性存储器形式(诸如只读存储器(ROM)或闪速RAM)的计算机可读介质。存储器204是计算机可读介质的示例。

计算机可读介质可以包括易失性或非易失性类型、可移除或不可移除介质,其可以使用任何方法或技术来实现信息的存储。信息可以包括计算机可读指令、数据结构、程序模块或其他数据。计算机可读介质的示例包括但不限于相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电子可擦除可编程只读存储器(EEPROM)、快速闪存或其他内部存储技术、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其他光学存储器、盒式磁带、磁盘存储或其他磁存储设备、或任何其他非传输介质,可用于存储可由计算设备访问的信息。如本文所定义,计算机可读介质不包括任何瞬态介质,例如调制数据信号和载波。

尽管在此示例中,在周期性检测系统102中仅描述了硬件组件,但是在其他情况下,周期性检测系统102可以进一步包括其他硬件组件和/或其他软件组件,例如程序单元,以执行存储在存储器204中的用于执行各种操作的指令。例如,周期性检测系统102可以进一步包括存储时间序列数据的时间序列数据库212。

图3示出了描绘周期性检测的示例方法的示意图。图3的方法可以但不必在图1的环境中实现并且使用图2的系统。为了便于说明,参考图1和图2描述方法300。然而,方法300可以替代地在其他环境中和/或使用其他系统来实现。

在计算机可执行指令的一般上下文中描述方法300。通常,计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、过程、模块、函数等。此外,每个示例方法被示为逻辑流程图中的框的集合,其表示可以以硬件、软件、固件或其组合来实现的操作序列。描述方法的顺序不旨在被理解为限制,并且可以以任何顺序组合任意数量的所描述的方法框以实现该方法或替代方法。附加地,在不脱离本文描述的主题的精神和范围的情况下,可以从方法中省略各个框。在软件的上下文中,框代表计算机指令,当由一个或多个处理器执行时,计算机指令执行所列举的操作。在硬件的上下文中,一些或所有框可以表示执行所列举的操作的专用集成电路(ASIC)或其他物理组件。

返回参考图3,在框302处,周期性检测系统102可以接收特定时间长度的输入时间序列数据。

在实现中,周期性检测系统102可以接收输入时间序列数据(即,与输入时间序列相关联的数据)。

输入时间序列数据可以包括或对应于针对特定应用获得或收集的观察数据。输入时间序列数据的示例可以包括但不限于每小时或每天访问某个网站的用户数量,每秒钟、每十秒钟或每分钟消耗的计算资源的百分比或数量等。

在实现中,输入时间序列数据可以包括多个不同的分量。作为示例而非限制,输入时间序列数据可以包括但不限于一个或多个季节性/周期分量(以下称为周期分量)、趋势分量、噪声分量和异常值分量。例如,输入时间序列数据可以按如下方式建模:

其中y

在框304处,周期性检测系统102可以对输入时间序列数据执行数据预处理以获得处理后的时间序列数据。

在实现中,周期性检测系统102可以在确定或估计输入时间序列中的周期分量的数量和各自的周期长度之前预处理输入时间序列数据。在实现中,周期性检测系统102可以对输入时间序列数据执行数据处理(可以包括但不限于数据标准化、去趋势(de-trending)、异常值去除等)以产生处理后的时间序列数据。在实现中,周期性检测系统102可以应用噪声/异常值去除滤波器以从输入时间序列数据中去除噪声和异常值。噪声/异常值滤波器的示例可以包括但不限于双边滤波器、卡尔曼滤波器、高斯滤波器等。此外,在从输入时间序列数据中去除趋势分量、噪声分量和异常值分量之后,周期性检测系统102然后可以标准化输入时间序列数据。

在实现中,周期性检测系统102可以进一步估计输入时间序列数据中的趋势分量,然后对输入时间序列数据执行去趋势。作为示例而非限制,周期性检测系统102可以选择H-P(Hodrick-Prescott)趋势滤波器并将其应用于输入时间序列数据以获得估计趋势分量

在获得估计趋势分量

尽管在此示例中,H-P(Hodrick-Prescott)趋势滤波器被说成用作去趋势滤波器并应用于输入时间序列数据,但在其他情况下,其他去趋势滤波器可以用于估计趋势分量并从输入时间序列数据中去除趋势分量。例如,周期性检测系统102可以对输入时间序列数据应用线性回归滤波器(或线性回归)以估计趋势分量,并从输入时间序列数据中去除趋势分量。

在框306处,周期性检测系统102可以将第一域中的处理后的时间序列数据分解为不同于第一域的第二域中的多个不同级别的特定时间长度的多条时间序列数据。

在实现中,在对输入时间序列数据进行预处理以获得处理后的时间序列数据之后,周期性检测系统102可以根据特定分解方法将处理后的时间序列数据分解为不同级别的特定时间长度的多条时间序列数据。在实现中,特定分解方法可以包括变换方法,该变换方法将处理后的时间序列数据从时域(即,第一域)变换为时频域(即,第二域),并将处理后的时间序列数据分解为时频域中的多条时间序列数据(或称为多个时间序列分量)。作为示例而非限制,特定分解方法可以包括但不限于最大重叠离散小波变换(MODWT)、小波变换、Gabor变换、傅立叶变换等。

作为示例而非限制,本文以最大重叠离散小波变换为例来说明周期性检测系统102如何将处理后的时间序列数据分解为不同级别的特定时间长度的多条时间序列数据以有助于周期性检测。在实现中,最大重叠离散小波变换可以隔离彼此交织的多个周期分量。在实现中,本文所述的最大重叠离散小波变换具有以下优点:能够处理任何样本大小(即,输入时间序列数据的大小或时间长度),具有在粗尺度(scale)上增加的分辨率,并且具有比其他变换(例如离散小波变换)更渐近有效的小波方差估计量。

在此示例中,采用了基于MODWT的多贝西(Daubechies)小波。在实现中,当将MODWT应用于处理后的时间序列数据y

其中

在现实世界场景中,时间序列(例如,输入时间序列)通常是非平稳的,并且其中的噪声通常不是高斯的。因此,周期性检测系统102所使用的分解方法需要克服这些缺点或至少在一定程度上克服这些缺点。在使用MODWT的此示例中,如果y

在实现中,如果小波滤波器长度L

其中,

此外,如果y′

在实现中,对于特定非高斯过程,w

因此,即使输入时间序列是具有长记忆和高相关度的非高斯过程,也可以使分解方法的变换系数(在这种情况下,来自MODWT的小波系数)近似高斯、不相关并且平稳,从而提高了输入时间序列的周期性检测性能。

在框308处,周期性检测系统102可以可选地计算第二域中多个不同级别的多条时间序列数据的各自属性,并且基于多个不同级别的多条时间序列数据的各自属性来对多个不同级别进行排序。

在实现中,周期性检测系统102可以计算或估计与第二域(例如,时频域)中每个级别的一条时间序列数据相关联的一个或多个属性。在实现中,与某个级别的一条时间序列相关联的一个或多个属性可以包括有助于评估或估计在该级别具有周期模式(或周期分量)的概率或可能性的信息。在实现中,与第二域中某个级别的一条时间序列数据相关联的一个或多个属性可以包括但不限于该级别的小波方差。在实现中,周期性检测系统102可以根据多个不同级别的多条时间序列数据的各自小波方差的顺序,将多个不同级别的特定时间长度的多条时间序列数据进行排序。

作为示例而非限制,在本文中使用MODWT的上述示例进行说明。将处理后的时间序列数据分解为多个不同级别的多条时间序列数据之后,基于MODWT的能量保存,对于J

在实现中,由于其耐抗和有效的性质,在该示例中,双权重中方差(biweightmidvariance)可用作小波方差的鲁棒估计。此外,出于无偏方差估计的目的,可以排除或忽略前L

其中I(x)是指示函数,u

在实现中,小波方差估计有助于在频域中定位时间序列的周期分量,因为小波方差估计可以被认为是PSD的粗略估计。在实现中,第j级别小波方差估计近似等于标称倍频程通带1/2

此外,在此示例中等式(3)中的小波滤波器h

表1:不同MODWT级别下周期分量的可能周期长度

在实现中,在获得多个不同级别的各自小波方差(或双权重中方差)之后,周期性检测系统102可以根据各自小波方差(或双权重中方差)的大小的降序对多个不同级别进行排序或排顺序。在实现中,周期性检测系统102可以基于所估计的对应小波方差(或双权重中方差)的排名,从多个不同级别中选择预定数量的不同级别。

作为示例而非限制,周期性检测系统102可以选择预定数量(例如,两个、五个、十个、二十个等)的不同级别,其中相应的小波方差(或双权重中方差)按照各自小波方差(或双权重中方差)的值的降序在前几个(例如,两个、五个、十个、二十个等)排名位置(即,对应的前两个位置、对应的前五个位置、对应的前十个位置、对应的前二十个位置等)排列。

可替代地,周期性检测系统102可以不执行选择,并且可以允许全部多个不同级别的多条时间序列数据被检查以寻找周期分量候选,如在下一个框中所描述的。

在框310处,周期性检测系统102可以检测或确定特定级别的一条时间序列数据是否包括第二域中的周期分量候选。

在实现中,周期性检测系统102可以检查第二域中多个不同级别(或者如果在框308处执行排序和选择,则预定数量的级别)中的每个级别的相应一条时间序列数据,并确定该相应一条时间序列数据是否包括周期分量候选。在实现中,周期性检测系统102可以对与该相应一条时间序列数据相关联的参数执行统计检验,以确定该相应一条时间序列数据是否包括周期分量候选。在实现中,统计检验可以包括例如费希尔(Fisher)检验,并且参数可以包括但不限于周期图、Huber周期图等。

为了说明而非限制,周期性检测系统102对与特定级别的一条时间序列数据相关联的Huber周期图执行Fisher检验以确定该条时间序列数据或特定级别是否包括周期分量候选的示例描述如下。

在实现中,每个级别的小波系数w

在实现中,为了检测隐藏的周期分量(或周期性),可以使用Fisher检验并如下定义g统计量:

其中P

其中

在实现中,等式(6)中的Fisher检验设置了零假设H

由于在现实世界时间序列数据中噪声是高斯有可能不是真的,因此在实现中,此处引入Huber周期图以使周期图更鲁棒。在实现中,周期图可以被公式化为等效地求解最小二乘问题,并且更鲁棒的Huber损失可以被用作用于求解最小二乘问题的损失函数。在实现中,Huber损失是平方和损失和最小绝对偏差(LAD)损失的组合,它在小误差值上是平方的(quadratic),并且对于大误差值线性增长。因此,Huber损失是鲁棒的,并且适于不同类型的数据。具体地,可以通过求解以下问题来等效地计算等式(7)的周期图:

其中

在实现中,基于等式(8),平方和损失函数可以替换为M估计器中使用的一族函数,从而导致鲁棒的M周期图,即:

由于不同类型数据上的Huber损失的鲁棒和自适应性,因此开发的Huber周期图可以导致检测到的周期性(或周期分量候选)的后续验证的鲁棒指标,这对于验证找到的任何周期分量候选非常有帮助。在实现中,Huber周期图的γ(x)可以定义如下:

等式(9)和(10)中的Huber周期图可以通过ADMM(交替方向乘子法)有效地求解,具有

s.t. φβ-x=z (12)

在实现中,增广拉格朗日可以获得为

β

u

其中u=(1/ρ)v是缩放后的对偶变量,用于使公式更方便。可以通过以下有效地计算软阈值运算S

对于Huber周期图中ADMM的复杂度,可以基于等式(13)-(15)(φ为N×2矩阵)获得每次迭代的

在实现中,来自Huber周期图的

在框312处,周期性检测系统102可以验证检测到的每个周期分量候选是否为与输入时间序列数据相关联的真正周期分量。

在实现中,在对于每个级别(或每个级别的小波系数)使用统计检验(例如,费雪检验)获得或检测到多个不同级别(或者如果在框308处执行排序和选择,则预定数量的级别)中的一个或多个级别的一个或多个周期分量候选之后,周期性检测系统102可以验证在一个或多个级别检测到的一个或多个周期分量候选中的每个周期分量候选,以提高周期性检测的准确性,并且避免或减少周期性检测的误报。

在实现中,周期性检测系统102可以基于与第二域(例如,时频域)中特定级别的一条时间序列数据相关联的预定指标,验证所述特定级别的该条时间序列数据中包括的周期分量候选是否为输入时间序列的真正周期分量。在实现中,与特定级别的该条时间序列数据相关联的预定指标可以包括但不限于在第一域(例如时域)中计算的该特定级别的该条时间序列的ACF(自相关函数)等。

在实现中,周期性检测系统102可以获得时域中的所述特定级别的该条时间序列数据的指标(例如,自相关)。周期性检测系统102然后可以计算指标(即,自相关)中各自的高度大于预定阈值的多个峰的中位数距离,并且响应于确定中位数距离位于与该条时间序列数据的特定级别相关联的预定范围内,验证周期分量是周期长度为多个峰的中位数距离的真正周期分量。替代地,如果中位数距离位于与该条时间序列数据的特定级别相关联的预定范围之外,则周期性检测系统102可以确定周期分量不是输入时间序列数据的真正周期分量。

作为示例而非限制,ACF用作本文中的预定指标的示例,以说明验证在第一域(例如,时域)中在框310处检测到的周期分量候选的过程。在实现中,对于来自第j级别的小波系数w

其中

在实现中,在计算特定级别的一条时间序列数据的ACF时,周期性检测系统102可以将ACF与预定阈值进行比较,并且验证该条时间序列数据或特定级别中包括的周期分量候选是否是输入时间序列数据的真正周期分量。例如,如果ACF大于或等于预定阈值,则周期性检测系统102可以验证或确认该条时间序列数据或特定级别中包括的周期分量候选是输入时间序列数据的真正周期分量。

在实现中,由于上述ACF对于异常值不是鲁棒的并且具有

在实现中,可以根据维纳-辛钦定理(Wiener-Khinchin theorem)获得基于周期图的新型ACF(或称为鲁棒ACF),并且可以将其定义为:

其中p

在实现中,为了检测多个不同级别(或者如果在框308处执行排序和选择,则预定数量的级别)的每个级别中的周期分量,周期性检测系统102可以通过峰检测方法总结或定位鲁棒ACF的峰。峰检测方法的示例可以包括但不限于基于多尺度的峰值检测(AMPD),其基于鲁棒ACF的局部最大尺度图的计算和分析,使用平滑然后拟合已知函数(例如,多项式)到鲁棒ACF,或者将已知峰形匹配到鲁棒ACF等。

在实现中,在定位鲁棒ACF的峰之后,周期性检测系统102然后可以计算高度大于或等于预定高度阈值的定位峰中每两个之间的中位数距离。在实现中,基于(每个级别的)周期图的分辨率,在索引k处的周期图的峰值

在实现中,周期性检测系统102可以为多个不同级别(或者如果在框308处执行排序和选择,则为预定数量的级别)中的每个级别计算鲁棒ACF,并且使用上述用于周期性检测的验证确定并验证在每个级别检测到的相应的周期分量候选是否是真正周期分量。因此,周期性检测系统102可以从输入时间序列数据中检测或估计一个或多个周期分量。

在框314处,周期性检测系统可以可选地或进一步对输入时间序列数据或与输入时间序列数据相关联的新数据点执行时间序列任务。

在实现中,在检测或估计输入时间序列数据中的一个或多个周期分量之后,周期性检测系统102可以执行时间序列任务,例如分类、预测、异常检测、聚类和压缩等。

作为示例而非限制,周期性检测系统102可以基于一个或多个检测到的周期分量来重新估计趋势分量和/或其余分量(包括噪声分量和异常值分量)。例如,周期性检测系统102可以从输入时间序列数据中减去一个或多个检测到的周期分量,并且重新运行如前面的描述中所描述的趋势提取,以获得趋势分量的新的或更佳的估计。周期性检测系统102可以通过从输时间序列数据中减去一个或多个周期分量和趋势分量来获得其余分量。

在实现中,周期性检测系统102可以迭代地执行确定趋势分量、一个或多个周期分量和其余分量的这个过程,直到达到预定次数的迭代或直到收敛度落入预定阈值或百分比内为止等。

在实现中,周期性检测系统102可以对输入时间序列数据或用于输入时间序列数据的新数据点执行异常检测。取决于要确定哪种类型的异常,周期性检测系统102可以对趋势分量、一个或多个周期分量和/或其余分量执行一个或多个统计检验。

尽管上述方法框被描述为以特定顺序执行,但是在一些实现中,一些或所有方法框可以以其他顺序或并行地执行。

为了进一步说明本发明中提出的周期性检测方法的改进,下面描述与不同周期性检测方法的比较。下表2显示了用于比较的五种不同的周期性检测方法。

表2:用于比较的周期性检测方法

为了评估不同周期性检测方法的性能,生成长度为1024的复模式的检验数据集,其包括三个周期分量、多个异常值、变化的趋势分量和噪声。具体地,生成三个正弦波,振幅为一个单位,周期长度为20、50和100。振幅为十个单位的三角信号和具有不同方差(

表3:具有不同程度的噪声和异常值的不同周期性检测方法之间的比较

如可以从上表3看出的,本发明中提出的周期性检测方法准确地检测和估计三个周期分量的存在和各自的周期长度,而其他周期性检测方法不能检测到真正周期分量,或者检测到错误的周期分量(即,误报)。此外,这些周期性检测方法不能准确地估计周期分量的周期长度。

为了进一步说明本发明中提出的周期性检测方法如何准确地检测和估计测试数据集中的周期分量,图4示出了提出的周期性检测方法的中间结果400。在图4中,第一列、第二列和第三列分别对应于针对多个不同级别的子集而获得的小波系数、Huber周期图和鲁棒ACF,其中每一行对应于该子集的特定级别。如从图4可以看出的,本发明中提出的分解方法有效地解耦了彼此交织的多个周期分量,并且Huber周期图和鲁棒ACF成功地检测和估计了相应级别(即,如图4所示的级别4、5和6)的多个周期分量各自的周期长度(即,在此示例中为20、50和100)。

尽管已经以特定于结构特征和/或方法动作的语言描述了实现方式,但是应当理解,权利要求书不一定限于所描述的特定特征或动作。而是,将特定特征和动作公开为实现所要求保护的主题的示例性形式。附加地或替代地,一些或所有操作可以由一个或多个ASICS、FPGA或其他硬件来实现。

使用以下条款可以进一步理解本发明。

第1条:一种由一个或多个计算设备实现的方法,所述方法包括:接收特定时间长度的输入时间序列数据;对所述输入时间序列数据进行预处理以获得处理后的时间序列数据,所述预处理包括至少去除所述输入时间序列数据中的趋势;将所述处理后的时间序列数据分解为不同级别的所述特定时间长度的多条时间序列数据;检测特定级别的一条时间序列数据是否包括频域中的周期分量候选;以及响应于检测到所述特定级别的该条时间序列数据包括频域中的周期分量候选,验证所述特定级别的该条时间序列数据中的周期分量候选是否为时域中的所述输入时间序列数据的真正周期分量。

第2条:根据第1条所述的方法,其中,对所述时间序列数据进行预处理包括:对所述时间序列数据应用霍德里克-普里斯科特(H-P)滤波器,以去除所述时间序列数据中的任何趋势。

第3条:根据第1条所述的方法,其中,分解所述处理后的时间序列数据包括:使用最大重叠离散小波变换来分解所述处理后的时间序列数据。

第4条:根据第1条所述的方法,其中,对所述时间序列数据进行预处理还包括:对所述时间序列数据执行标准化;以及从所述时间序列数据中去除异常值。

第5条:根据第1条所述的方法,其中,检测所述特定级别的该条时间序列数据是否包括频域中的周期分量候选包括:获得所述特定级别的该条时间序列数据的周期图或Huber周期图;以及确定所述周期图或Huber周期图是否满足预定的假设检验。

第6条:根据第1条所述的方法,还包括:根据不同级别的所述特定时间长度的多条时间序列数据的各自方差的顺序,将所述多条时间序列数据进行排序。

第7条:根据第1条所述的方法,其中,验证所述特定级别的该条时间序列数据中的周期分量候选是否为时域中的所述输入时间序列数据的真正周期分量包括:获得时域中的所述特定级别的该条时间序列数据的ACF(自相关函数)或鲁棒ACF;计算所述ACF或鲁棒ACF中各自的高度大于预定阈值的多个峰的中位数距离;以及响应于确定所述中位数距离位于与该条时间序列数据的特定级别相关联的预定范围内,验证所述周期分量是真正周期分量候选,其周期长度为所述多个峰的中位数距离。

第8条:一种或多种计算机可读介质,其存储可执行指令,当所述可执行指令由一个或多个处理器执行时,使所述一个或多个处理器执行包括以下的动作:接收特定时间长度的输入时间序列数据;对所述输入时间序列数据进行预处理以获得处理后的时间序列数据,所述预处理包括至少去除所述输入时间序列数据中的趋势;将所述处理后的时间序列数据分解为不同级别的所述特定时间长度的多条时间序列数据;检测特定级别的一条时间序列数据是否包括频域中的周期分量候选;以及响应于检测到所述特定级别的该条时间序列数据包括频域中的周期分量候选,验证所述特定级别的该条时间序列数据中的周期分量候选是否为时域中的所述输入时间序列数据的真正周期分量。

第9条:根据第8条所述的一种或多种计算机可读介质,其中,对所述时间序列数据进行预处理包括:对所述时间序列数据应用霍德里克-普里斯科特(H-P)滤波器,以去除所述时间序列数据中的任何趋势。

第10条:根据第8条所述的一种或多种计算机可读介质,其中,分解所述处理后的时间序列数据包括:使用最大重叠离散小波变换来分解所述处理后的时间序列数据。

第11条:根据第8条所述的一种或多种计算机可读介质,其中,对所述时间序列数据进行预处理还包括:对所述时间序列数据执行标准化;以及从所述时间序列数据中去除异常值。

第12条:根据第8条所述的一种或多种计算机可读介质,其中,检测所述特定级别的该条时间序列数据是否包括频域中的周期分量候选包括:获得所述特定级别的该条时间序列数据的周期图或Huber周期图;以及确定所述周期图或Huber周期图是否满足预定的假设检验。

第13条:根据第8条所述的一种或多种计算机可读介质,所述动作还包括:根据不同级别的所述特定时间长度的多条时间序列数据的各自方差的顺序,将所述多条时间序列数据进行排序。

第14条:根据第8条所述的一种或多种计算机可读介质,其中,验证所述特定级别的该条时间序列数据中的周期分量候选是否为时域中的所述输入时间序列数据的真正周期分量包括:获得时域中的所述特定级别的该条时间序列数据的ACF或鲁棒ACF;计算所述ACF或鲁棒ACF中各自的高度大于预定阈值的多个峰的中位数距离;以及响应于确定所述中位数距离位于与该条时间序列数据的特定级别相关联的预定范围内,验证所述周期分量是真正周期分量候选,其周期长度为所述多个峰的中位数距离。

第15条:一种系统,包括:一个或多个处理器;以及存储器,存储可执行指令,当所述可执行指令由所述一个或多个处理器执行时,使所述一个或多个处理器执行包括以下的动作:接收特定时间长度的输入时间序列数据;对所述输入时间序列数据进行预处理以获得处理后的时间序列数据,所述预处理包括至少去除所述输入时间序列数据中的趋势;将所述处理后的时间序列数据分解为不同级别的所述特定时间长度的多条时间序列数据;检测特定级别的一条时间序列数据是否包括频域中的周期分量候选;以及响应于检测到所述特定级别的该条时间序列数据包括频域中的周期分量候选,验证所述特定级别的该条时间序列数据中的周期分量候选是否为时域中的所述输入时间序列数据的真正周期分量。

第16条:根据第15条所述的系统,其中,对所述时间序列数据进行预处理包括:对所述时间序列数据应用霍德里克-普里斯科特(H-P)滤波器,以去除所述时间序列数据中的任何趋势。

第17条:根据第15条所述的系统,其中,分解所述处理后的时间序列数据包括:使用最大重叠离散小波变换来分解所述处理后的时间序列数据,并且对所述时间序列数据进行预处理还包括:对所述时间序列数据执行标准化;以及从所述时间序列数据中去除异常值。

第18条:根据第15条所述的系统,其中,检测所述特定级别的该条时间序列数据是否包括频域中的周期分量候选包括:获得所述特定级别的该条时间序列数据的周期图或Huber周期图;以及确定所述周期图或Huber周期图是否满足预定的假设检验。

第19条:根据第15条所述的系统,所述动作还包括:根据不同级别的所述特定时间长度的多条时间序列数据的各自方差的顺序,将所述多条时间序列数据进行排序。

第20条:根据第15条所述的系统,其中,验证所述特定级别的该条时间序列数据中的周期分量候选是否为时域中的所述输入时间序列数据的真正周期分量包括:获得时域中的所述特定级别的该条时间序列数据的ACF或鲁棒ACF;计算所述ACF或鲁棒ACF中各自的高度大于预定阈值的多个峰的中位数距离;以及响应于确定所述中位数距离位于与该条时间序列数据的特定级别相关联的预定范围内,验证所述周期分量是真正周期分量候选,其周期长度为所述多个峰的中位数距离。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号