首页> 中国专利> 一种单变量时间序列变化点检测方法

一种单变量时间序列变化点检测方法

摘要

本发明公开了一种单变量时间序列变化点检测方法,包括:选择目标序列和相关输入序列,并输入时间序列预测模块,预测目标序列,并评估预测性能;将目标序列预测值、目标序列实际值输入变化点检测模块,计算每个点对应的异常分数;根据高斯分布,确定阈值范围,并选择最佳阈值L;基于异常分数、最佳阈值L,根据变化点选择策略识别变化点,输出检测出的变化点位置集合;根据集合和实际目标序列中变化点的标签,输出变化点检测结果并可视化,基于评估指标评估检测性能,实现单变量时间序列变化点检测。本发明可以在长时间序列检测中减少误差累积,同时有效处理多个相关序列,实现输入特征的提取及融合,提高检测准确性和模型性能。

著录项

  • 公开/公告号CN113177659A

    专利类型发明专利

  • 公开/公告日2021-07-27

    原文格式PDF

  • 申请/专利权人 上海电力大学;

    申请/专利号CN202110461210.0

  • 发明设计人 杜海舟;段子怡;

    申请日2021-04-27

  • 分类号G06Q10/04(20120101);G06Q10/06(20120101);G06Q50/06(20120101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构32272 南京禹为知识产权代理事务所(特殊普通合伙);

  • 代理人王晓东

  • 地址 200090 上海市杨浦区平凉路2103号

  • 入库时间 2023-06-19 12:00:51

说明书

技术领域

本发明涉及计算机时间序列分析的技术领域,尤其涉及一种单变量时间序列变化点检测方法。

背景技术

时间序列变化点检测是时间序列分析领域的重要子课题,也是典型时间序列异常检测问题,变化点是时间序列的状态或属性发生突变的时刻,提高变化点检测的精度和效率对提高社会多方面的运行效率具有重要的现实意义。例如:在电力故障分析中,可以挖掘电力负荷随时间的变化规律和趋势,以便发现潜在的突变或故障、及早采取相应的预防措施,从而减少时间和经济方面的损失。

综合考虑变化点检测的准确性、稳定性和效率等方面的指标,当前对于单变量时间序列变化点检测问题,采用基于深度学习的预测方法是最合适的选择。通过深度学习模型预测目标序列,根据目标序列预测值和实际值之差进行判断、检测变化点,但是,由于时间序列数据时间跨度长、数据量大,直接应用传统方法会导致误差累积,性能表现不佳,若根据周期性对时间序列进行划分,不仅一定程度上可以缩短输入序列的长度、减小误差累积的影响,而且使得输入序列的规律性更强、更有利于模型的学习和特征提取,但是也带来了多个相关子序列的问题,现有方法无法有效地并行处理多个输入序列,会对最终结果的准确性造成影响。

发明内容

本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

鉴于上述现有存在的问题,提出了本发明。

因此,本发明解决的技术问题是:传统方法会导致误差累积,性能表现不佳,现有方法无法有效地并行处理多个输入序列,会对最终结果的准确性造成影响。

为解决上述技术问题,本发明提供如下技术方案:根据周期性,将原始数据集划分为N个子序列,根据检测对象选择目标序列,将其余N-1个子序列作为相关输入序列;将所述相关输入序列及所述目标序列输入时间序列预测模块,预测目标序列,输出目标序列预测值并评估预测性能;将所述目标序列预测值、人工进行异常标记后的目标序列实际值输入变化点检测模块,计算每个点对应的异常分数;根据高斯分布,通过均值μ和标准差σ确定阈值范围,以变化点检测策略的性能评估指标为依据,选择最佳阈值L;基于所述异常分数、所述最佳阈值L,根据变化点选择算法识别变化点,输出检测出的变化点位置集合;根据检测出的变化点位置集合和实际目标序列中变化点的标签,输出变化点检测结果并可视化及评估检测性能,实现单变量时间序列变化点检测。

作为本发明所述的单变量时间序列变化点检测方法的一种优选方案,其中:基于深度学习的预测方法包括所述时间序列预测模块、所述变化点检测模块。

作为本发明所述的单变量时间序列变化点检测方法的一种优选方案,其中:所述时间序列预测模块采用多级注意力网络结合多序列融合机制策略预测所述目标序列。

作为本发明所述的单变量时间序列变化点检测方法的一种优选方案,其中:所述多级注意力网络结合多序列融合机制策略包括,编码阶段:以LSTM为编码器,给定第k个输入序列:

其中,

作为本发明所述的单变量时间序列变化点检测方法的一种优选方案,其中:所述多级注意力网络结合多序列融合机制策略还包括,所述多序列融合:基于所述注意力权重,在每个未来时间步长通过所述注意力权重学习每个输入序列的相对重要性并进行融合,得到在时间t处新的输入:

作为本发明所述的单变量时间序列变化点检测方法的一种优选方案,其中:还包括,解码阶段:采用时间注意力机制;基于解码器隐藏状态d

对所述注意力权重和所述编码器隐藏状态计算加权和,得到上下文向量c

其中,

作为本发明所述的单变量时间序列变化点检测方法的一种优选方案,其中:所述解码器隐藏状态的更新包括,

作为本发明所述的单变量时间序列变化点检测方法的一种优选方案,其中:所述目标序列预测值包括,

其中,

作为本发明所述的单变量时间序列变化点检测方法的一种优选方案,其中:所述异常分数的计算包括,计算目标序列实际值与预测值之差:

其中,y

作为本发明所述的单变量时间序列变化点检测方法的一种优选方案,其中:所述预测性能评估指标包括均方根误差、平均绝对误差、平均绝对百分比误差;所述检测性能评估指标包括精确率、召回率、F1分数。

本发明的有益效果:在长时间序列检测中减少误差累积,同时有效处理多个相关序列,实现输入特征的提取及融合,提高检测准确性和模型性能。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:

图1为本发明一个实施例提供的一种单变量时间序列变化点检测方法的基本流程示意图;

图2为本发明一个实施例提供的一种单变量时间序列变化点检测方法的时间序列预测模块的结构示意图;

图3为本发明一个实施例提供的一种单变量时间序列变化点检测方法的在负荷预测数据集上的预测结果曲线示意图;

图4为本发明一个实施例提供的一种单变量时间序列变化点检测方法的在负荷预测数据集上Precision、Recall、F1分数与不同阈值的关系示意图;

图5为本发明一个实施例提供的一种单变量时间序列变化点检测方法的在负荷预测数据集上的变化点检测结果示意图;

图6为本发明一个实施例提供的一种单变量时间序列变化点检测方法的在空气质量数据集上的预测结果曲线示意图;

图7为本发明一个实施例提供的一种单变量时间序列变化点检测方法的在空气质量数据集上Precision、Recall、F1分数与不同阈值的关系示意图;

图8为本发明一个实施例提供的一种单变量时间序列变化点检测方法的在空气质量数据集上的变化点检测结果示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。

其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。

本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。

同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

实施例1

参照图1~2,为本发明的一个实施例,提供了一种单变量时间序列变化点检测方法,包括:

S1:根据周期性,将原始数据集划分为N个子序列,根据检测对象选择目标序列,将其余N-1个子序列作为相关输入序列;需要说明的是,以单变量时间序列的目标序列数据作为本方法的输入。

S2:将相关输入序列及目标序列输入时间序列预测模块,预测目标序列,输出目标序列预测值并评估预测性能;需要说明的是,

基于深度学习的预测方法包括时间序列预测模块、变化点检测模块。如图2所示,时间序列预测模块采用多级注意力网络结合多序列融合机制策略预测目标序列。

多级注意力网络结合多序列融合机制策略包括,

输入注意力:编码阶段以LSTM为编码器,给定第k个输入序列:

通过编码器的先前隐藏状态h

其中,

多级注意力网络结合多序列融合机制策略还包括,

多序列融合:基于注意力权重,在每个未来时间步长通过注意力权重学习每个输入序列的相对重要性并进行融合,得到在时间t处新的输入:

时间注意力:在解码阶段采用时间注意力机制;基于解码器隐藏状态d

对注意力权重和编码器隐藏状态计算加权和,得到上下文向量c

其中,

解码器:使用Bi-LSTM(解码器)在每个时间步都观察到后向(过去)和前向(未来)动态特征,防止误差累积并提高准确性。解码器隐藏状态的更新包括,

之后,模型产生最终的预测结果,即目标序列预测值包括:

其中,

S3:将目标序列预测值、人工进行异常标记后的目标序列实际值输入变化点检测模块,计算每个点对应的异常分数;需要说明的是,

异常分数的计算包括,

计算目标序列实际值与预测值之差:

其中,y

具体的,异常分数越大,表明在当前时刻存在异常的可能性越大,因此,需要基于异常分数设置阈值以进行异常点分类。

S4:根据高斯分布,通过均值μ和标准差σ确定阈值范围,以变化点检测策略的性能评估指标为依据,选择最佳阈值L;需要说明的是,

由于异常分数符合高斯分布,由拉依达准则(Pauta Criterion,即“3σ”准则),根据数据集中正常点所占比例确定阈值的范围,然后通过实验,将性能最佳时的l

S5:基于异常分数、最佳阈值L,根据变化点选择算法识别变化点,输出检测出的变化点位置集合;需要说明的是,

确定阈值之后,检测异常点,再通过变化点选择算法从异常点中选择变化点,根据序列中连续异常点的数量及每个点对应的偏差平方和进行判断,以识别变化点和离群点。其中算法伪代码如下所示:

S6:根据检测出的变化点位置集合和实际目标序列中变化点的标签,输出变化点检测结果并可视化,及评估检测性能,实现单变量时间序列变化点检测,需要说明的是,

以精确率(Precision)、召回率(Recall)、F1分数(F1 Score)三个指标评估检测性能,最终实现单变量时间序列变化点检测。

本发明针对具有多个相关输入序列的长、周期性序列,可以充分学习历史数据并实现特征提取,从而准确、及时地检测变化点;本发明在变化点检测问题中引入多序列融合的思想,在输入注意力阶段提出了多序列融合机制,确保模型可以自适应地从多个输入序列中提取并学习最相关的特征;本发明在时间注意力阶段通过使用Bi-LSTM解码器更好地捕获时间序列的长期时间依赖性,从而防止在长时间序列检测中的误差积累,提高准确性;本发明在变化点检测模块中采用一种高效的变化点选择算法识别变化点和离群点,该算法基于连续异常点的偏差平方和设置阈值,提高了效率和可解释性。

实施例2

参照图3~8为本发明另一个实施例,为对本方法中采用的技术效果加以验证说明,本实施例采用传统技术方案与本发明方法进行对比测试,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果。

传统技术方案无法处理长时间序列和多输入序列,造成误差累积、结果准确性较低。本发明方法相对传统方法具有较高的精度和效率,适合处理具有多个相关输入序列的长、周期性时间序列。本实施例中将本方法和其它对比方法分别基于时间序列预测性能、变化点检测性能进行对比。

测试环境:所有实验均在同一计算机上执行,实验环境及配置的详细信息如下:

硬件配置:3.1GHz Intel Core i5 CPU,16GB 2133MHz LPDDR3,Intel Iris PlusGraphics 650 1536MB;软件信息:模型基于Python 3.7.0,在框架TensorFlow 1.13.2中实现,调用深度学习库Keras 2.1.0,操作系统为macOS Catalina 10.15.3。

对于负荷预测数据集,该数据集为2004-2008年美国20个地区的公用设施的每小时负荷数据,包含33,000个实例、29个属性。选择4个负荷数量级相近的地区,将2007年的电力负荷作为目标序列,并将2004-2006年的电力负荷作为三个相关输入序列。此外,由于原始数据集包含缺失值,所以在缺失值的位置手动插入异常并进行标记。

具体实验过程如下:

将相关输入序列及目标序列的实际值输入本发明时间序列预测模块,预测目标序列,其预测结果曲线如图3所示。此外,为了衡量本发明的预测性能,将其和其它对比方法进行实验,结果如表1所示:

表1:实验结果对比表。

计算异常分数并确定最佳阈值。在负荷预测数据集中,μ=0.051,σ=2.302。首先,该数据集中正常点所占比例约为99%,由3σ准则,阈值范围为(μ+3σ,+∞);然后,对l∈{8.0,9.0,10.0,11.0,12.0,13.0}进行实验,三个指标与不同阈值的关系如图4所示,由图可得,当l=11.0时,模型性能最佳,因此将L=11.0作为阈值。

根据异常分数及阈值L,通过变化点选择算法识别变化点,输出检测出的变化点位置集合,再根据变化点位置和实际目标序列中变化点的标签,输出变化点检测结果,如图5所示。此外,为了衡量本发明的变化点检测性能,将其和其它对比方法进行实验,结果如表2所示:

表2:实验结果对比表。

上述实验结果表明,本发明在变化点检测性能方面表现良好,在负荷预测数据集上可以准确、及时地检测出变化点,并且其性能优于其它对比方法。

采用空气质量数据集为检测目标,该数据集为北京12个空气质量监测点的6种主要空气污染物和6个相关气象变量的每小时数据,时间为从2013年3月1日到2017年2月28日,包含420,768个实例,18个属性,选择温度作为预测对象,使用2016年数据作为目标序列,将2013-2015年数据作为三个输入序列,此外,异常插入和标记的方法与上述负荷预测数据集相同。

具体实验过程如下:

将相关输入序列及目标序列的实际值输入本发明时间序列预测模块,预测目标序列,其预测结果曲线如图6所示。此外,本发明和其它方法的预测性能对比实验结果如表3所示:

表3:实验结果对比表。

计算异常分数,并确定最佳阈值。本实施例确定阈值的方法同实施例1,对l∈{7.0,8.0,9.0,10.0}进行实验,由图7可得,L=8.0为阈值。

根据异常分数及阈值L,通过变化点选择算法识别变化点,输出检测出的变化点位置集合,再根据检测出的变化点位置和实际目标序列中变化点的标签,输出变化点检测结果,如图8所示。此外,本发明和其它方法的变化点检测性能对比实验结果如表4所示:

表4:变化点检测性能对比实验结果表。

上述实验结果表明,本发明在变化点检测性能方面表现良好,在空气质量数据集上可以准确、及时地检测出变化点,并且其性能优于其它对比方法。

应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号