一种时序数据的异常值处理方法及系统与流程

文档序号:32306810发布日期:2022-11-23 10:16阅读:101来源:国知局
一种时序数据的异常值处理方法及系统与流程

1.本发明涉及数据预处理技术领域,具体而言,涉及一种时序数据的异常值处理方法、系统、电子设备及计算机存储介质。


背景技术:

2.数据的异常值处理一直以来都是业界较为看重但也十分困难的一个环节,尤其是时序数据不同于其他横截面数据、带有序列和时间特征,因此其部分异常数据可能是有某些时间或者统计口径不一致导致的,而这类异常数据通常是具有一定的研究价值;如果只是将其采用与普通的异常点一样的处理方法一同剔除,最终研究分析的结果与事实可能产生较大的偏离。
3.目前的数据异常值处理的方法大致有以下三种:1)将数据默认为一个分布(如正态分布、均匀分布),对其尾部划分阈值(如三倍标准差、分位数),超过阈值则为异常值,并用某个值代替。这种方法的前期假设是数据服从某类分布,并对异常值出现的概率有所假设,而在现实世界中,例如时序的经济数据往往并不严格符合特定的分布;2)对大量数据的逐个判断,这种方法往往需要研究人员对此类数据有所了解,并仔细分析,但对大量数据的逐个判断效率非常低下;3)使用dbscan聚类、孤立森林等无监督学习模型,这类算法相较于传统的方法有较好适用范围,可以处理任意形状的数据集,处理时序数据的效果比方法1)有所提升,无需假设数据分布,但任忽略了数据本身的特点,更适合相互之间有联系的多维数据。
4.综上,现有的数据异常值处理方法存在上述的多种缺陷,难以满足时序数据的异常值处理需要,亟需改进。


技术实现要素:

5.为了至少解决上述背景技术中存在的技术问题,本发明提供了一种时序数据的异常值处理方法、系统、电子设备及计算机存储介质。
6.本发明的第一方面提供了一种时序数据的异常值处理方法,包括如下步骤:根据时序数据获得训练集数据,对所述训练集数据进行预处理;根据经过预处理的所述训练集数据建立时间序列模型;根据所述时间序列模型对所述时序数据进行极值识别处理。
7.可选地,所述根据时序数据获得训练集数据,包括:根据业务需求设定所述时序数据的前k%作为训练集数据,后(1-k%)作为测试集数据。
8.可选地,所述对所述训练集数据进行预处理,包括:对所述训练集数据进行平稳性分析、白噪声检验、标准化处理。
9.可选地,所述根据经过预处理的所述训练集数据建立时间序列模型,包括:
对所述训练集数据中的每组数据进行定阶处理,根据定阶处理后的所述训练集数据对所述时间序列模型进行训练。
10.可选地,所述根据所述时间序列模型对所述时序数据进行极值识别处理,包括:将所述时序数据输入所述时间序列模型;根据所述时间序列模型对所述时序数据进行非动态预测,并输出与所述时序数据对应的若干预测值和置信区间;若所述时序数据中对应的原始数据超出所述置信区间,则识别为极值,并使用“预测值+调节值”对该原始数据进行替换。
11.可选地,所述调节值通过下述方式确定:根据所述原始数据从所述时序数据中确定出第一数据,根据所述第一数据确定基础调节值;确定所述时序数据的第二数据,根据所述第二数据确定第一修正系数;根据所述基础调节值和所述第一修正系数确定所述调节值。
12.可选地,所述根据所述原始数据从所述时序数据中确定出第一数据,包括:根据所述第二数据确定截取范围,根据所述截取范围和所述原始数据从所述时序数据中确定出所述第一数据。
13.本发明的第二方面提供了一种时序数据的异常值处理系统,处理模块、存储模块、获取模块,所述处理模块与所述存储模块和所述获取模块连接;其中,所述存储模块,用于存储可执行的计算机程序代码;所述获取模块,用于获取时序数据并传输给所述处理模块;所述处理模块,用于通过调用所述存储模块中的所述可执行的计算机程序代码,执行如前任一项所述的方法。
14.本发明的第三方面提供了一种电子设备,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,执行如前任一项所述的方法。
15.本发明的第四方面提供了一种计算机存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上任一项所述的方法。
16.本发明的方案,相比于背景技术中所述的常规异常值处理方法,本发明先基于时序数据确定训练集数据,并对其进行平稳性分析,之后再根据训练集数据建立时间序列模型,利用该时间序列模型即可快速准确的识别出时序数据中的极值并对应处理。于是,本发明的数据预处理方法,通过对时序数据进行分析、建模,提高了数据极值判断的准确性并兼顾效率,能够可靠地对极值进行识别、处理。
附图说明
17.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
18.图1是本发明实施例公开的一种时序数据的异常值处理方法的流程示意图。
19.图2是本发明实施例公开的一种时序数据的异常值处理系统的结构示意图。
20.图3是本发明实施例公开一种电子设备的结构示意图。
具体实施方式
21.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.请参阅图1,图1是本发明实施例公开的一种时序数据的异常值处理方法的流程示意图。如图1所示,本发明实施例的一种时序数据的异常值处理方法,包括如下步骤:根据时序数据获得训练集数据,对所述训练集数据进行预处理;根据经过预处理的所述训练集数据建立时间序列模型;根据所述时间序列模型对所述时序数据进行极值识别处理。
23.在本发明实施例中,相比于背景技术中所述的常规异常值处理方法,本发明先基于时序数据确定训练集数据,并对其进行平稳性分析,之后再根据训练集数据建立时间序列模型,利用该时间序列模型即可快速准确的识别出时序数据中的极值并对应处理。于是,本发明的数据预处理方法,通过对时序数据进行分析、建模,提高了数据极值判断的准确性并兼顾效率,能够可靠地对极值进行识别、处理。
24.本发明的上述及后续方案既可以由处理设备实施,也可以由远程端的服务器实施。其中,处理设备可以是配置了cpu、dsp、单片机等处理器的装置,例如计算机、电脑、移动终端、可穿戴设备等;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。处理设备与服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
25.可选地,所述根据时序数据获得训练集数据,包括:根据业务需求设定所述时序数据的前k%作为训练集数据,后(1-k%)作为测试集数据。
26.在本发明实施例中,本发明在确定训练集、测试集数据时可根据业务需求进行,具体是将时序数据的前k%作为训练集数据,其它数据作为测试集数据。其中,k值可以为100,即无业务需求时将全部时序数据作为训练集数据。
27.可选地,所述对所述训练集数据进行预处理,包括:对所述训练集数据进行平稳性分析、白噪声检验、标准化处理。
28.在本发明实施例中,预处理包括平稳性分析、白噪声检验、标准化处理三项。其中,可通过adf检验对训练集数据进行平稳性检查,若p-value 大于0.05,则平稳性检验未通过,数据为非平稳序列,则对其进行差分处理,并再次进行平稳性分析,若p-value小于0.05,则通过平稳性检验,进入后续白噪声检验流程。对数据进行白噪声检验,若检测通过,这该数据为白噪声,该数据理论上无更多信息无法建模;若未通过,则该数据为非白噪声,进入下一步标准化处理。对数据进行标准化处理,标准化处理可以基于具体的业务形式来
自由设置,例如归一化等处理,本发明具体不作限定。
29.可选地,所述根据经过预处理的所述训练集数据建立时间序列模型,包括:对所述训练集数据中的每组数据进行定阶处理,根据定阶处理后的所述训练集数据对所述时间序列模型进行训练。
30.在本发明实施例中,在时间序列模型建立后还需要使用训练集数据对其进行训练,以获得最优的模型参数。具体来说,本发明先对训练集中的数据进行定阶处理,进而使用经过定阶处理的训练集数据来训练时间序列模型。
31.举例来说,可以根据bic(bayesian information criterion,贝叶斯信息量准则)或aic(akaike information criterion,赤池信息量准则)对模型进行定阶,如果[p=0,q≠0],建立am(q)模型;如果[p≠0,q≠0],建立arma(p,q)模型;如果[p≠0,q=0],建立ar(p)模型。其中的p、q均为阶数。
[0032]
可选地,所述根据所述时间序列模型对所述时序数据进行极值识别处理,包括:将所述时序数据输入所述时间序列模型;根据所述时间序列模型对所述时序数据进行非动态预测,并输出与所述时序数据对应的若干预测值和置信区间;若所述时序数据中对应的原始数据超出所述置信区间,则识别为极值,并使用“预测值+调节值”对该原始数据进行替换。
[0033]
在本发明实施例中,在进行异常数据即极值识别时,将时序数据输入到时间序列模型,模型即可输出若干预测值和置信区间,进而可以判断每个原始数据是否为极值。对于时序数据中的极值,可以使用“预测值+调节值”对该原始数据进行替换,即实现了对数据的清洗。于是,经过替换处理之后的时序数据就基本不再存在异常的极值,或者异常情况得到很好的缓解,而且还能尽可能地降低对原始数据序列真实性的影响。
[0034]
可选地,所述调节值通过下述方式确定:根据所述原始数据从所述时序数据中确定出第一数据,根据所述第一数据确定基础调节值;确定所述时序数据的第二数据,根据所述第二数据确定第一修正系数;根据所述基础调节值和所述第一修正系数确定所述调节值。
[0035]
在本发明实施例中,对于每个存在异常的原始数据即极值,可以将其在时序数据中的周围某段数据截取以获得第一数据,再据此确定出基础的调节值,该调节值是与该异常的原始数据对应的。接着,再根据全项时序数据的第二数据确定基础调节值的第一修正系数,利用其对基础调节值进行进一步修正,以使其更具针对性,替换处理后的数据更能反映真实情况。
[0036]
其中,第二数据可以是全项时序数据的属性数据,用以描述其数据类型,例如,无明显时序规律的数据(股票/期货价格数据等经济数据),有明显时序规律的其它数据(生产数据、交通数据等)。根据时序数据的属性数据即第二数据可以确定出合适的修正系数,例如,上述无明显时序规律的数据对应的第一修正系数可以为第一值,上述有明显时序规律的其它数据对应的第一修正系数可以为第二值,第一值大于第二值(例如可以均为大于1的值)。具体来说,对于无明显时序规律的数据,其单一原始数据的异常具有更高的“合理性”,所以设置修正系数更大,相应地替换值“预测值+调节值”也就越大,使其更接近异常的原始
数据即极值,提高了对该类数据的异常容忍度,使得清理后的数据更接近真实情况;对于有明显时序规律的其它数据,则单一原始数据的异常具有明显更低的“合理性”,所以设置修正系数更小,相应地替换值“预测值+调节值”也就越小,增强了对明显异常的处理强度,使得清理后的数据更接近真实情况。
[0037]
另外,极值有正负之分,所以,在基于上述调节原理的基础上,还需要针对正极值和负极值而对应调节基础调节值、修正系数的数学计算方式,本发明不再赘述。
[0038]
需要进行说明的是,时序数据的属性数据即第二数据可以从时序数据的附加数据中直接调取或者通过对附加数据进行语义分析得出,该附加数据一般是在数据生成之时人工或系统自动添加;也可以通过分析时序数据的峰值/谷值分布情况来确定,例如,在峰值/谷值不满足时序规律(随机分布特征明显,例如分布不均匀)时可判定第二数据为无明显时序规律的数据,而在峰值/谷值满足时序规律时则可判定第二数据为有明显时序规律的数据。
[0039]
作为该实施方案的一种改进方案,本发明还可以对修正系数的确定作进一步改进,具体如下:计算所述原始数据超出所述置信区间的幅度值,根据所述幅度值确定第二修正系数;则所述根据所述基础调节值和所述第一修正系数确定所述调节值,包括:根据所述第一修正系数、所述第二修正系数确定第三修正系数,根据所述基础调节值和所述第三修正系数确定所述调节值。
[0040]
该改进方案中,进一步考虑了原始数据异常的程度,且所述第二修正系数(例如可以为小于1的数值)与所述幅度值负相关。也即,异常程度越高,则其属于真异常的概率越高,此时设置第二修正系数越小,利用第二修正系数来将第一修正系数调低,进而使“预测值+调节值”与极值的周围数据更接近;反之,则说明该原始数据属于真异常的概率越低,利用更小的第二修正系数来将第一修正系数调高,进而使“预测值+调节值”与极值本身更接近。于是,该改进方案通过第二修正系数使得替换值更符合真实情况,进一步提升了清理后的时序数据的真实性。
[0041]
可选地,所述根据所述原始数据从所述时序数据中确定出第一数据,包括:根据所述第二数据确定截取范围,根据所述截取范围和所述原始数据从所述时序数据中确定出所述第一数据。
[0042]
在本发明实施例中,本发明将异常的原始数据所处位置来将其周围的第一数据截取,进而可以基于对这些数据进行数据计算来确定基础调节值,例如可以通过计算这些数据的均值、数据趋势等确定,具体不赘述。
[0043]
而对于第一数据的截取范围大小,则是基于时序数据的属性数据即第二数据来确定。具体而言,若所述时序数据为无明显时序规律的数据,则所述第一数据的截取范围大小为第三值,若所述时序数据为有明显时序规律的其它数据,则所述第一数据的截取范围大小为第四值,第三值大于第四值。其中,对于有明显时序规律的数据来说,仅需要根据极值数据周围较小范围的数据即可轻易分析出其与周围数据的差异,进而可以基于该较小范围内的数据来确定替换数据;而对于无明显时序规律的数据来说,则周围的数据也存在异常或潜在异常的可能,所以需要基于更大范围的数据来确定替换数据。如此设置,可以进一步
确保调节值的准确性。
[0044]
请参阅图2,图2是本发明实施例公开的一种时序数据的异常值处理系统的结构示意图。如图2所示,本发明实施例的一种时序数据的异常值处理系统,包括处理模块101、存储模块102、获取模块103,所述处理模块101与所述存储模块102和所述获取模块103连接;其中,所述存储模块102,用于存储可执行的计算机程序代码;所述获取模块103,用于获取时序数据并传输给所述处理模块101;所述处理模块101,用于通过调用所述存储模块102中的所述可执行的计算机程序代码,以执行如上述实施例所述的方法。
[0045]
该实施例中的一种时序数据的异常值处理系统的具体功能参照上述实施例,由于本实施例中的系统采用了上述实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
[0046]
请参阅图3,图3是本发明实施例公开的一种电子设备,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,执行如上述实施例所述的方法。
[0047]
本发明实施例还公开了一种计算机存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述实施例所述的方法。
[0048]
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机 软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
[0049]
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本技术中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本技术中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本技术中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更 多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
[0050]
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及
算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0051]
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0052]
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用硬件与计算机指令的组合来实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1