CN111708739B - 时序数据的异常检测方法、装置、电子设备及存储介质 - Google Patents
时序数据的异常检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111708739B CN111708739B CN202010438332.3A CN202010438332A CN111708739B CN 111708739 B CN111708739 B CN 111708739B CN 202010438332 A CN202010438332 A CN 202010438332A CN 111708739 B CN111708739 B CN 111708739B
- Authority
- CN
- China
- Prior art keywords
- data
- time sequence
- sequence data
- time
- data segment
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 79
- 230000005856 abnormality Effects 0.000 title claims description 34
- 230000002159 abnormal effect Effects 0.000 claims abstract description 45
- 238000012549 training Methods 0.000 claims description 73
- 230000000737 periodic effect Effects 0.000 claims description 51
- 238000000034 method Methods 0.000 claims description 47
- 238000004891 communication Methods 0.000 claims description 18
- 230000007774 longterm Effects 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 10
- 230000001788 irregular Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 238000000354 decomposition reaction Methods 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 5
- 230000002123 temporal effect Effects 0.000 claims description 5
- 230000002547 anomalous effect Effects 0.000 claims description 4
- 230000008030 elimination Effects 0.000 claims 1
- 238000003379 elimination reaction Methods 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 14
- 239000013598 vector Substances 0.000 description 14
- 238000012545 processing Methods 0.000 description 7
- 230000001932 seasonal effect Effects 0.000 description 6
- RVRCFVVLDHTFFA-UHFFFAOYSA-N heptasodium;tungsten;nonatriacontahydrate Chemical compound O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[W].[W].[W].[W].[W].[W].[W].[W].[W].[W].[W] RVRCFVVLDHTFFA-UHFFFAOYSA-N 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- YBJHBAHKTGYVGT-ZKWXMUAHSA-N (+)-Biotin Chemical compound N1C(=O)N[C@@H]2[C@H](CCCCC(=O)O)SC[C@@H]21 YBJHBAHKTGYVGT-ZKWXMUAHSA-N 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- BTCSSZJGUNDROE-UHFFFAOYSA-N gamma-aminobutyric acid Chemical compound NCCCC(O)=O BTCSSZJGUNDROE-UHFFFAOYSA-N 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- FEPMHVLSLDOMQC-UHFFFAOYSA-N virginiamycin-S1 Natural products CC1OC(=O)C(C=2C=CC=CC=2)NC(=O)C2CC(=O)CCN2C(=O)C(CC=2C=CC=CC=2)N(C)C(=O)C2CCCN2C(=O)C(CC)NC(=O)C1NC(=O)C1=NC=CC=C1O FEPMHVLSLDOMQC-UHFFFAOYSA-N 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例提供一种时序数据的异常检测方法、装置、电子设备及存储介质,旨在提高异常检测效率和/或检测准度。其中,时序数据的异常检测方法包括:根据预设周期,对待检测的时序数据进行分割,得到时间长度为所述预设周期长度的时序数据分段;对所述时序数据分段进行编码操作,获得编码结果,并对所述编码结果进行解码操作,获得解码数据分段,其中,所述编码操作和所述解码操作的作用是:基于周期性的时序数据,生成与该时序数据相一致的解码数据;对所述时序数据分段和所述解码数据分段进行比较,以确定所述时序数据分段是否异常。
Description
技术领域
本发明涉及信息技术领域,特别是涉及一种时序数据的异常检测方法、装置、电子设备及存储介质。
背景技术
在各类业务场景中,出于各种各样的原因,例如为了保障业务的稳定运行,或者为了对业务进行优化,通常需要对业务运行期间实时观测的指标或日志记录的指标进行异常检测。其中,业务中的指标通常为时序数据,例如服务用户数量、流量数据、交易量等等。并且,正常的指标数据通常为周期性的时序数据,而异常的指标数据通常为非周期性的时序数据,异常的指标数据中通常存在多个非正常的数值,或者存在非正常的数据变化趋势。
相关技术中,为了实现对业务指标等时序数据的异常检测,通常是通过对历史一段时间内的时序数据进行观察学习,辅以人工标注,设定检测基线,从而根据设定的检测基线对新的时序数据进行异常检测并发出告警。以服务用户数量这一时序数据为例,可以通过对历史时间内记录的服务用户数量的观察学习和人工标注,设定检测基线。例如,该检测基线可能包括:服务用户数量上限20000、服务用户数量的增长率区间[-20%,30%]。其中,如果服务用户数量超过上限20000,或者服务用户数量的增长率超出区间[-20%,30%],则认为服务用户数量异常。
可见,利用相关技术进行时序数据的异常检测时,需要从多个检测角度,人工设定多种检测基线,导致需要花费大量人力与时间。并且人工设定的检测基线存在不准确性,容易导致异常情况的漏检或误检。
发明内容
本发明实施例的目的在于提供一种时序数据的异常检测方法、装置、电子设备及存储介质,旨在克服上述问题或者至少部分地解决上述问题。具体技术方案如下:
在本发明实施例的第一方面,提供了一种时序数据的异常检测方法,所述方法包括:
根据预设周期,对待检测的时序数据进行分割,得到时间长度为所述预设周期长度的时序数据分段;
对所述时序数据分段进行编码操作,获得编码结果,并对所述编码结果进行解码操作,获得解码数据分段,其中,所述编码操作和所述解码操作用于基于周期性的时序数据,生成与该时序数据相一致的解码数据;
对所述时序数据分段和所述解码数据分段进行比较,以确定所述时序数据分段是否异常。
在本发明实施例的第二方面,提供了一种时序数据的异常检测装置,所述装置包括:
分割模块,用于根据预设周期,对待检测的时序数据进行分割,得到时间长度为所述预设周期长度的时序数据分段;
编解码模块,用于对所述时序数据分段进行编码操作,获得编码结果,并对所述编码结果进行解码操作,获得解码数据分段,其中,所述编码操作和所述解码操作用于基于周期性的时序数据,生成与该时序数据相一致的解码数据;
异常确定模块,用于对所述时序数据分段和所述解码数据分段进行比较,以确定所述时序数据分段是否异常。
在本发明实施例的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现本发明实施例的第一方面所述的方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的时序数据的异常检测方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的时序数据的异常检测方法。
通过执行本发明提供的时序数据的异常检测方法,在对待检测的时序数据进行分割,得到时间长度为预设周期长度的时序数据分段后,对该时序数据分段进行编码操作,获得编码结果,然后对该编码结果进行解码操作,获得解码数据分段。由于该编码操作和解码操作用于基于周期性的时序数据,生成与该时序数据相一致的解码数据。因此,如果该时序数据分段是周期性的时序数据,则在经过编码操作和解码操作后得到的解码数据分段应该与所述时序数据分段一致。如果该时序数据分段是非周期性的时序数据(即异常的时序数据),则在经过编码操作和解码操作后得到的解码数据分段应该与所述时序数据分段不一致。基于上述特性,可以通过比较所述时序数据分段和所述解码数据分段,从而确定所述时序数据分段是否异常。如此,本发明可以实现对待检测的时序数据的各个时序数据分段的异常检测。
在本发明提供的时序数据的异常检测方法中,可以在不通过人工设定多种检测基线的情况下,实现对时序数据的异常检测,因此能有效提高异常检测效率,并能有效避免因检测基线的不准确性而带来的漏检和误检,从而提高异常检测的准度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明一实施例提出的时序数据的异常检测方法的流程图;
图2是本发明另一实施例提出的时序数据的异常检测方法的流程图;
图3是本发明一实施例提出的样本时序数据的散点图的示意图;
图4(a)是本发明一实施例提出的时序数据的异常检测装置的示意图;
图4(b)是本发明另一实施例提出的时序数据的异常检测装置的示意图;
图5是本发明一实施例提出的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
在各类业务场景中,出于各种各样的原因,通常需要对业务运行期间实时观测的指标或日志记录的指标进行异常检测。其中,业务中的指标通常为时序数据,例如随时间统计的服务用户数量、流量数据、交易量等等。并且,正常的指标数据通常为周期性的时序数据,而异常的指标数据通常为非周期性的时序数据,异常的指标数据中通常存在多个非正常的数值,或者存在非正常的数据变化趋势。相关技术中,为了实现对业务指标等时序数据的异常检测,通常是通过对历史一段时间内的时序数据进行观察学习,辅以人工标注,从多个检测角度(例如指标上限、指标下限、指标增长率上限、指标增长率下限)人工设定多种检测基线,从而根据设定的多个检测基线对新的时序数据进行异常检测并发出告警。
可见,利用相关技术进行时序数据的异常检测时,需要从多个检测角度,人工设定多种检测基线,导致需要花费大量人力与时间。并且人工设定的检测基线存在不准确性,容易导致异常情况的漏检或误检。为此,本发明通过以下多个实施例提出时序数据的异常检测方法、装置、设备及可读存储介质,从而克服上述问题或者至少部分地解决上述问题。
参考图1,图1是本发明一实施例提出的时序数据的异常检测方法的流程图。如图1所示,该异常检测方法包括以下步骤:
步骤S11:根据预设周期,对待检测的时序数据进行分割,得到时间长度为所述预设周期长度的时序数据分段。
其中,待检测的时序数据可以是业务指标数据,例如服务用户数量、流量数据、交易量或库存量等各类业务指标数据。或者,待检测的时序数据也可以是硬件性能指标数据,例如中央处理器(CPU)利用率、内存利用率等。需要说明的是,本发明对业务指标数据和硬件性能指标数据的具体类型不做限定。以下,本发明着重以待检测的时序数据是业务指标数据为例,进行技术方案的介绍。
在本发明的一些实施例中,待检测的时序数据可以是业务运行期间实时观测的指标数据。在这些实施例中,可以一边观测和记录该时序数据,一边对该时序数据进行异常检测。
以预设周期具体是24小时为例,可以每隔24小时,将最近24小时记录的时序数据截取出,得到时间长度为24小时的时序数据分段。例如在每天中午的12点00分,将昨天中午12点00分到今天中午12点00分记录的时序数据截取出,得到时间长度为24小时的时序数据分段,然后可以针对该时序数据分段执行后述步骤S12和步骤S13。该示例中,针对时序数据的异常检测频率是:每24小时检测一次。
仍然以预设周期具体是24小时为例,也可以每隔1小时,将最近24小时记录的时序数据截取出,得到时间长度为24小时的时序数据分段。例如在中午的12点00分时,将昨天中午12点00分到今天中午12点00分记录的时序数据截取出,得到时间长度为24小时的时序数据分段,然后可以针对该时序数据分段执行后述步骤S12和步骤S13。然后在下午的13点00分时,将昨天下午13点00分到今天中午13点00分记录的时序数据截取出,得到时间长度为24小时的时序数据分段,然后可以针对该时序数据分段执行后述步骤S12和步骤S13。依次类推,本发明不做赘述。该示例中,针对时序数据的异常检测频率是:每1小时检测一次。
在本发明的另一些实施例中,待检测的时序数据可以是业务的日志记录中所记载的指标数据。在这些实施例中,可以在记载很长一段时间的时序数据后,将这段时序数据分割成多个时序数据分段,并针对每个时序数据分段,分别执行后述步骤S12和步骤S13。
以预设周期具体是24小时为例,假设日志记录中所记载的时序数据为最近半个月(360小时)的时序数据,则可以将该段时序数据分割成15个时序数据分段,每个时序数据分段的时间长度均为24小时。其中,15个时序数据分段各自对应的时间段分别是:第1小时-第24小时、第25小时-第48小时…第337小时-第360小时。
仍然以预设周期具体是24小时为例,假设日志记录中所记载的时序数据为最近半个月(360小时)的时序数据,也可以将该段时序数据分割成337个时序数据分段,每个时序数据分段的时间长度均为24小时。其中,337个时序数据分段各自对应的时间段分别是:第1小时-第24小时、第2小时-第25小时、第3小时-第26小时…第337小时-第360小时。
步骤S12:对所述时序数据分段进行编码操作,获得编码结果,并对所述编码结果进行解码操作,获得解码数据分段,其中,所述编码操作和所述解码操作用于基于周期性的时序数据,生成与该时序数据相一致的解码数据。
其中,周期性的时序数据是指:符合业务特征和规律的数据。换言之,周期性的时序数据是指:正常的时序数据。为便于理解,以服务用户数量这种时序数据为例,假设该种时序数据的业务特征和规律是:服务用户数量低于上限值20000、每天的服务用户数量的增长率在区间[-20%,30%]之内、每天的19:00至23:00点是服务用户数量的高峰期。如果一段长度为24小时的服务用户数量数据满足上述业务特征和规律,则该段服务用户数量数据是正常的时序数据,也可称该段服务用户数量数据是周期性的时序数据。
为了对上述编码操作和解码操作的作用进行解释,示例地,参考表1,表1是一段周期性的时序数据的示意表。如表1所示,该段时序数据包括10个原始数据,每个原始数据对应一个采集该数据时的时刻信息。
表1一段周期性的时序数据的示意表
时刻 | 00:00 | 00:15 | 00:30 | 00:45 | 01:00 | 01:15 | 01:30 | 01:45 | 02:00 | 02:15 |
原始数据 | 32 | 31 | 29 | 31 | 28 | 27 | 28 | 26 | 29 | 27 |
在对表1所示的这段时序数据执行上述编码操作,获得编码结果后,再对该编码结果执行上述解码操作,获得解码数据。参考表2,表2是一段解码数据的示意表。如表2所示,该段解码数据包括10个生成数据,每个生成数据对应一个时刻信息。表2中的各个时刻信息与表1中的各个时刻信息一一对应。
表2解码数据的示意表
时刻 | 00:00 | 00:15 | 00:30 | 00:45 | 01:00 | 01:15 | 01:30 | 01:45 | 02:00 | 02:15 |
生成数值 | 31 | 31 | 28 | 31 | 29 | 29 | 28 | 27 | 28 | 28 |
上述示例中,表2所示的解码数据与表1所示的周期性的时序数据之间是相一致的。需要说明的是,所述“相一致”在本发明中可以解释成:针对解码数据中的多个生成数值和周期性的时序数据中的多个原始数据,相同时刻所对应的生成数据与原始数据之间的差距值的绝对值不超过预设阈值。以预设阈值等于2为例,表1和表2中10对生成数值和原始数据之间的差距值分别是:-1、0、-1、0、1、2、0、1、-1、1。这10个差距值各自的绝对值均未超过预设阈值2。可见,表2所示的解码数据与表1所示的周期性的时序数据之间是相一致的。
或者所述“相一致”在本发明中也可以解释成:针对解码数据中的多个生成数值和周期性的时序数据中的多个原始数据,相同时刻所对应的生成数据与原始数据之间的差距值的绝对值可以超过预设阈值,但是所有绝对值中超过该预设阈值的绝对值的总数量,不超过数量上限。以预设阈值等于1,数量上限等于2为例,表1和表2中10对生成数值和原始数据之间的差距值分别是:-1、0、-1、0、1、2、0、1、-1、1。这10个差距值各自的绝对值中,仅第6个差距值的绝对值超过了预设阈值1,因此超过预设阈值1的绝对值的总数量等于1,该总数量未超过数量上限2。可见,表2所示的解码数据与表1所示的周期性的时序数据之间是相一致的。
简言之,本发明中所述的“相一致”并不是限定生成数据必须与原始数据相等,而是限定生成数据与原始数据之间的相似性较高。也即,生成数据与原始数据之间的相似性达到预设条件。例如,预设条件可以是上述示例中的两种预设条件之一。
需要说明的是,上述表1和表2仅作为示例,不应解释成对本发明的限定。此外,本发明中的时序数据中的各个数据并不一定是一个数值,也可以是一个向量。以服务用户数量这种时序数据为例,该时序数据中每个时刻对应的数据可以是一个向量,该向量中包括:男性用户数量分量、女性用户数量分量、男女比例分量。
在本发明的一些实施例中,为了实现对时序数据分段的编码操作和解码操作(即上述步骤S12),可以将时序数据分段输入编解码器,以通过编解码器自动实现编码操作和解码操作。
其中,编解码器的类型优选为变分自编码器(variational auto-encoder,VAE),变分自编码器中包括编码模块和解码模块。在执行上述步骤S12时,具体可以将时序数据分段输入变分自编码器,以通过该变分自编码器的编码模块对该时序数据分段进行编码操作,获得编码结果,并通过该变分自编码器的解码模块对该编码结果进行解码操作,以获得解码数据分段。
其中,变分自编码器用于基于周期性的时序数据,生成与该时序数据相一致的解码数据。为了使变分自编码器具有上述作用,可以提前利用周期性的时序数据对该变分自编码器进行训练,使得该变分自编码器在经过训练学习后,具有上述作用。本发明的后述实施例中提供了对变分自编码器的训练方法,本发明在此对训练方法暂不赘述。
需要说明的是,本发明选择通过变分自编码器自动执行编码操作和解码操作的原因是:发明人发现,在利用周期性的时序数据对变分自编码器进行训练时,变分自编码器中的模型参数逐渐被更新,从而训练出作用于周期性时序数据的编解码逻辑。当把周期性时序数据输入训练完成的变分自编码器后,变分自编码器可以基于训练出的编解码逻辑,生成与该周期性时序数据相一致的解码数据。而如果将异常时序数据输入训练完成的变分自编码器,由于变分自编码器的编解码逻辑仅作用于周期性时序数据,因此变分自编码器基于该编解码逻辑,不能生成与异常时序数据相一致的解码数据。本发明在后述实施例中将更详细地介绍变分自编码器的运行原理,在此暂不赘述。
可见,变分自编码器能更好得学习到以下特性:基于周期性的时序数据,能生成与该时序数据相一致的解码数据;而基于非周期性的时序数据(即异常的时序数据),不能生成与该时序数据相一致的解码数据。因此,本发明在具体实现时采用变分自编码器自动执行编码操作和解码操作,更有利于将周期性的时序数据分段和非周期性的时序数据分段区分开,也即更有利于将正常的时序数据分段和异常的时序数据分段区分开,从而提高异常检测的准确性。
由于上述编码操作和解码操作具有上述作用,或者说在具体实现时,变分自编码器具有上述作用,因此如果该时序数据分段是周期性的时序数据,则在经过编码操作和解码操作后得到的解码数据分段应该与所述时序数据分段一致。如果该时序数据分段是非周期性的时序数据(即异常的时序数据),则在经过编码操作和解码操作后得到的解码数据分段应该与所述时序数据分段不一致。基于该特性,可以通过比较该时序数据分段和该解码数据分段(即下述步骤S13),从而确定该时序数据分段是否异常。
步骤S13:对所述时序数据分段和所述解码数据分段进行比较,以确定所述时序数据分段是否异常。
其中,如果解码数据分段与时序数据分段相一致,则确定该时序数据分段是一段周期性的时序数据。如果解码数据分段与时序数据分段不一致,则确定该时序数据分段是一段异常的时序数据。对于“相一致”的解释,请参见上文,为避免重复,本发明在此不做赘述。
在具体实现时,上述步骤S13可具体包括以下子步骤:
子步骤S13-1:针对所述时序数据分段中的各个原始数据和所述解码数据分段中的各个生成数据,将相同时间点处的原始数据和生成数据进行比较,获得比较结果。
其中,相同时间点处的原始数据和生成数据可以解释成:在各自所属的分段中处于相同位置处的原始数据和生成数据。例如时序数据分段是一串包括10个原始数据的序列,相应地,生成的解码数据分段是一串包括10个生成数据的序列。时序数据分段中排在第一位置处的原始数据和解码数据分段中排在第一位置处的生成数据,即是一对位于相同时间点处的原始数据和生成数据。同样地,时序数据分段中排在第二位置处的原始数据和解码数据分段中排在第二位置处的生成数据,即是另一对位于相同时间点处的原始数据和生成数据。以此类推,共包括10对位于相同时间点处的原始数据和生成数据。
在本发明的一些实施例中,在对相同时间点处的原始数据和生成数据进行比较时,具体地,如果原始数据和生成数据均为数值,则可以计算两个数值之差的绝对值,并将该绝对值作为两个数值之间的比较结果。
在本发明的另一些实施例中,在对相同时间点处的原始数据和生成数据进行比较时,具体地,如果原始数据和生成数据均为向量,则可以计算两个向量之间的距离,例如向量之间的范数、欧式距离、夹角余弦等等,并将该距离作为两个向量之间的比较结果。
需要说明的是,上述实施例仅作为示例,本发明不限定原始数据和生成数据之间的比较方式。
子步骤S13-2:根据所获得的多个比较结果,确定所述时序数据分段是否异常。
其中,比较结果的个数等于时序数据分段中包括的原始数据的数量。沿用上述示例,例如时序数据分段是一串包括10个原始数据的序列,相应地,生成的解码数据分段是一串包括10个生成数据的序列,则共有10对位于相同时间点处的原始数据和生成数据。每对原始数据和生成数据比较后得到一个比较结果,总共得到10个比较结果。在子步骤S13-2中,根据这10个比较结果,确定时序数据分段是否异常。
其中,每个比较结果用于表征原始数据和生成数据之间的差距值。如前述实施例所提到的,如果原始数据和生成数据均为数值,则原始数据和生成数据之间的比较结果可以是两个数值之差的绝对值。如果原始数据和生成数据均为向量,则原始数据和生成数据之间的比较结果可以是两个向量之间的距离。
在根据多个比较结果,确定时序数据分段是否异常时,具体地,可以将多个比较结果各自表征的差距值分别与预设阈值ε进行比较,以确定大于该预设阈值ε的差距值的总数量;然后根据该总数量,确定该时序数据分段是否异常。
在一些实施例中,如果该总数量超过预设数量N,则可以认定该时序数据分段异常。示例地,假设10个差距值中有2个差距值大于预设阈值ε,则判断总数量2是否超过预设数量N。如果总数量2超过预设数量N,则认定该时序数据分段异常,否则认定该时序数据分段正常。其中,预设阈值ε和预设数量N的具体数值可人为设定。例如可根据待检测的时序数据的安全等级,确定预设阈值ε和预设数量N。其中,待检测的时序数据的安全等级越高,预设阈值ε和预设数量N越小。
在另一些实施例中,可以预先设置多个不同的异常程度判定区间,然后根据大于预设阈值ε的差距值的总数量具体所在的异常程度判定区间,确定时序数据分段的异常程度。例如预先设置了(0,N1]、(N1,N2]、(N2,+∞)等三个不同的异常程度判定区间,其中0<N1<N2。如果大于预设阈值ε的差距值的总数量等于0,则认定时序数据分段正常;如果所述总数量位于(0,N1]区间内,则认定时序数据分段存在轻微异常;如果所述总数量位于(N1,N2]区间内,则认定时序数据分段存在中度异常;如果所述总数量位于(N2,+∞)区间内,则认定时序数据分段存在严重异常。通过设计不同的异常程度判定区间,可以在时序数据分段存在异常的情况下,进一步确定异常程度。不同的异常程度可对应不同的告警频次,或者不同的异常程度对应不同的异常处理手段。
本发明通过以子步骤S13-1和子步骤S13-2的方式,对时序数据分段和解码数据分段进行比较。其有益效果在于:由于具体是将时序数据分段和解码数据分段中相同时间点处的原始数据和生成数据进行比较,因此相当于是将时序数据分段对应的散点图,与解码数据分段对应的散点图进行点对点地对比,该对比方式所获得的多个比较结果可以从多个角度体现出时序数据分段和解码数据分段之间的相似性和差异性。例如能体现出时序数据分段和解码数据分段是否具有相同的趋势(上升或下降),也能体现出时序数据分段的峰值时刻与解码数据分段的峰值时刻是否接近,还能体现出时序数据分段的峰值与解码数据分段的峰值是否接近,时序数据分段的谷值与解码数据分段的谷值是否接近等等。可见,通过以子步骤S13-1和子步骤S13-2的方式,可以对时序数据分段和解码数据分段进行更全面的比较,从而更准确地确定时序数据分段是否异常,提高异常检测的准确性。
本发明通过执行上述包括步骤S11至步骤S13的异常检测方法,可以在不通过人工设定多种检测基线的情况下,实现对时序数据的异常检测,因此能有效提高异常检测效率,并能有效避免因检测基线的不准确性而带来的漏检和误检,从而提高异常检测的准度。
此外,本发明提供的异常检测方法不限定时序数据的类型,各种业务指标类型或硬件性能指标类型的时序数据均可利用该方法实现异常检测,该方法具有广泛的适用性。
参考图2,图2是本发明另一实施例提出的时序数据的异常检测方法。如图2所示,该异常检测方法在步骤S11之前,还包括以下步骤:
步骤S01:获得与所述时序数据同属于相同指标类型的样本时序数据,并对所述样本时序数据进行预处理。
示例地,假设待检测的时序数据的指标类型是:服务用户数量。换言之,待检测的时序数据是服务用户数量。则在步骤S01中,获得历史一段时间内的服务用户数量数据,并将其作为样本时序数据。
在对样本时序数据进行预处理时,具体地,可以首先对所述样本时序数据进行分解,获得变动因素,其中,所获得的变动因素包括以下四者中的至少一者:长期趋势因素、季节变动因素、周期变动因素、不规则变动因素;利用所获得的变动因素,重构样本时序数据;通过移动平均法,消除重构后的样本时序数据中的离群点。
其中,可以基于乘法模型Y=Tt×St×Ct×It对样本时序数据进行分解。其中,Y表示样本时序数据,Tt表示长期趋势因素,St表示季节变动因素,Ct表示周期变动因素,It表示不规则变动因素。考虑到基于乘法模型从样本时序数据中分解出各个变动因素的技术为现有技术,本发明对具体的分解过程仅做简要说明。
为了分解出长期趋势因素Tt,可以首先通过移动平均法对样本时序数据进行处理,得到时序数据Tt×Ct。然后对该时序数据的散点图进行直线拟合,将拟合得到的线性回归方程作为分解出的长期趋势因素Tt。
为了分解出周期变动因素Ct,可以将上述时序数据Tt×Ct除以长期趋势因素Tt,从而得到分解出的周期变动因素Ct。
为了分解出季节变动因素St,可以首先利用样本时序数据Y除以时序数据Tt×Ct,得到时序数据St×It。然后针对时序数据St×It中的四个季节,确定每个季节的平均值。最后根据实际业务对各个季节的平均值进行调整,得到季节变动因素St。
为了分解出不规则变动因素It,可以利用样本时序数据Y除以已经确定出的长期趋势因素Tt、周期变动因素Ct以及季节变动因素St,得到不规则变动因素It。
在分解出上述四种变动因素后,同样可以根据乘法模型Y′=Tt×St×Ct×It,重构出样本时序数据。或者考虑到不规则变动因素It的不稳定性,也可以根据乘法模型Y′=Tt×St×Ct,重构出样本时序数据。其中Y′表示重构形成的样本时序数据,Tt表示分解出的长期趋势因素,St表示分解出的季节变动因素,Ct表示分解出的周期变动因素,It表示分解出的不规则变动因素。
在获得重构形成的样本时序数据Y′之后,考虑到重构形成的样本时序数据Y′中可能包括多个离群点,即时序数据中远离序列的一般水平的极端大值和极端小值。为了消除这些离群点,避免这些离群点对后续处理(即步骤S02)的准确度造成影响,可以通过移动平均法消除样本时序数据Y′中的离群点。其中,移动平均法的公式如下:
其中,n是预先设定的大于1的整数,具体实现时,根据业务指标的类型,通常可以设置为10、50、100或200等。Y′t-i表示样本时序数据Y′中第t-i时刻处的数据。Y″表示通过移动平均法处理后得到的样本时序数据,Y″t表示样本时序数据中第t时刻出的数据。以n等于100为例,可以用文字将上述公式进行解释:针对样本时序数据Y′中第t时刻处的数据Y′t,计算该数据的前100个数据的平均值,并将计算出的平均值作为样本时序数据Y″中第t时刻处的数据Y″t。通过上述公式依次计算出样本时序数据Y″中各个时刻处的数值后,各个计算出的数值便形成了该样本时序数据Y″。
在一些实施例中,可以在获得样本时序数据Y″之后,将该样本时序数据Y″作为预处理后的样本时序数据。从而在下述步骤S02中,针对该预处理后的样本时序数据做进一步处理,以确定在上述步骤S11中提到的预设周期。
或者在另一些实施例中,在获得样本时序数据Y″之后,还可以进一步利用基于移动平均法的分解方式(即现有技术中的X11分解方式)对样本时序数据Y″做进一步地分解,得到样本时序数据Y″中的季节周期分量,并将该季节周期分量作为预处理后的样本时序数据,从而在下述步骤S02中,针对该预处理后的样本时序数据做进一步处理,以确定在上述步骤S11中提到的预设周期。其中,所述季节周期分量也是时序数据。
步骤S02:根据预处理后的样本时序数据中极大值点的个数和各个极大值点之间的时间段长度,确定各个时间段长度的平均值,并将所述平均值确定为所述预设周期。
其中,样本时序数据中的极大值点是指:样本时序数据对应的散点图中的峰值点。参考图3,图3是本发明中一实施例提出的样本时序数据的散点图的示意图。如图3所示,该散点图中包括6个极大值点(峰值点),分别为M1、M2、M3、M4、M5以及M6,每相邻两个极大值点之间的时间段长度分别为:L1、L2、L3、L4以及L5。各个时间段长度的平均值等于(L1+L2+L3+L4+L5)/5,将计算出的平均值确定为预设周期。
步骤S03:获得与所述时序数据同属于相同指标类型的训练时序数据,并根据所述预设周期,对所述训练时序数据进行分割,得到时间长度为所述预设周期长度的训练时序数据分段。
示例地,假设待检测的时序数据的指标类型是:服务用户数量。换言之,待检测的时序数据是服务用户数量。则在步骤S03中,获得历史一段时间内的服务用户数量数据,并将其作为训练时序数据。
由于后续在对变分自编码器进行训练时,输入至变分自编码器中的数据应当是固定长度的向量,因此在步骤S03中,需要根据预设周期,将训练时序数据分割成多个时间长度为预设周期长度的训练时序数据分段。每个训练时序数据分段中包括的数据量相同。例如训练时序数据是每小时记录一个数据的时序数据,训练时序数据的总长度为300天,总共有7200个数据。假设通过上述步骤S01和步骤S02确定出的预设周期为30天,则将该训练时序数据平均分为10个训练时序数据分段,每个分段中包括720个数据。
步骤S04:对所述训练时序数据分段进行校验,以修正所述训练时序数据分段中的异常数据点。
由于本发明训练变分自编码器的目标是:使得变分自编码器在训练结束后,可以基于周期性的时序数据,生成与该时序数据相一致的解码数据。因此需要以周期性的时序数据为训练数据,利用周期性的时序数据训练变分自编码器,使得变分自编码器能学习到周期性时序数据的分布规律,从而还原(即解码)出与周期性时序数据相一致的数据。
为此,在步骤S04中,需要对训练时序数据分段进行校验,以修正所述训练时序数据分段中的异常数据点,从而避免变分自编码器学习作用于异常数据点编解码逻辑,导致训练失败。具体实现时,可以根据经验,人工地对训练时序数据分段进行检验。并根据经验,手动地将异常数据点修正至周期性范围内,或者将异常数据点修改为数值0。其中,异常数据点可以包括但不限于以下几种:离群点、某一时刻重复记录的数据点、数据趋势不符合业务特性的数据点。
此外,考虑到采集和记录时序数据的系统可能因系统误差或意外,导致时序数据中漏记或丢失一些数据,为了提高变分自编码器的泛化性能,可以在训练时序数据分段中存在丢失数据点的情况下,将丢失数据点补充为数值0。
步骤S05:利用校验后的训练时序数据分段,对变分自编码器进行训练,使得训练成功后的变分自编码器用于基于周期性的时序数据,生成与该时序数据相一致的解码数据。
其中,在针对时序数据进行异常检测期间,所述训练成功后的变分自编码器用于在下述步骤S12中,对时序数据分段进行编码操作,获得编码结果,并对所述编码结果进行解码操作,获得解码数据分段。
训练期间,将训练时序数据分段x输入至变分自编码器,变分自编码器的编码模块对训练时序数据分段x进行编码,获得编码数据code,变分自编码器的解码模块基于编码数据P解码出目标数据X。然后通过预设损失函数,计算本次训练的损失值,再利用该损失值对变分自编码器中的编码模块和解码模块进行更新。通过多轮次的训练,最终得到训练成功的变分自编码器。本发明中,预设损失函数主要包括两方面的损失函数。
其中一个损失函数的构思在于:促使编码数据P的分布接近于标准正太分布,使得变分自编码器的解码模块可以基于编码数据P重构(即解码)出输入数据,即训练时序数据分段x。具体地,可以计算编码数据P的分布与标准正太分布Q之间的散度DKL(P||Q),并将该散度DKL(P||Q)作为第一损失值。其中,散度DKL(P||Q)越接近于0,编码数据P的分布与标准正太分布Q之间越接近。示例地,计算散度DKL(P||Q)的公式如下,其中x为训练时序数据分段中的各个数值,p(x)为编码数据P的分布的概率密度函数,q(x)为标准正太分布的概率密度函数。
其中另一个损失函数的构思在于:考虑到如果单纯按照上一损失函数的构思,促使编码数据P的分布接近于标准正太分布,会使得编码过程损失一些信息,导致重构的数据与输入数据之间的相似度受到损失。为了确保重构的数据与输入数据之间足够相似,可以计算重构的数据(即上述目标数据X)与输入数据(即上述训练时序数据分段x)之间的差异度,并将该差异度作为第二损失值。其中,差异度越接近于0,输出数据与输入数据之间的差异越小。示例地,在计算输出数据与输入数据的差异度时,可以将输出数据作为一个向量,将输入数据作为另一个向量,然后计算两个向量之间的向量距离,将该向量距离作为输出数据与输入数据的差异度。
在计算出第一损失值和第二损失值之后,可以根据第一损失值和第二损失值各自对应的预设权重,计算加权平均值。最后将该加权平均值作为最终的损失值,并利用其对变分自编码器中的编码模块和解码模块进行更新。本发明中,通过计算上述第一损失值和第二损失值,并最终根据第一损失值和第二损失值的加权平均值,更新变分自编码器,兼顾了编码数据P的分布和重构准确率。
此外,由于本发明在训练变分自编码器时,采用的训练数据是经过校验和修正后的时序数据分段,属于正常的时序数据,也即周期性的时序数据。因此在基于这些周期性的训练数据对变分自编码器进行训练后,变分自编码器学习到了这些周期性的训练数据的数据特点。又由于变分自编码器在上述两种损失函数的修正下,逐渐形成了如下功能:基于周期性的时序数据,能生成与该周期性的时序数据相一致的解码数据;而基于非周期性的时序数据,不能生成与该非周期性的时序数据相一致的解码数据。换言之,将周期性的时序数据输入变分自编码器后,该变分自编码器能输出与输入数据(即周期性的时序数据)相一致的输出数据。而将非周期性的时序数据输入变分自编码器后,该变分自编码器不能输出与输入数据(即非周期性的时序数据)相一致的输出数据。
步骤S11:根据上述步骤S02所确定的预设周期,对待检测的时序数据进行分割,得到时间长度为所述预设周期长度的时序数据分段。
步骤S12:将所述时序数据分段输入上述步骤S05所训练的变分自编码器,以通过所述变分自编码器的编码模块对所述时序数据分段进行编码操作,获得编码结果,并通过所述变分自编码器的解码模块对所述编码结果进行解码操作,以获得解码数据分段。
步骤S13:对所述时序数据分段和所述解码数据分段进行比较,以确定所述时序数据分段是否异常。
基于同一发明构思,本发明一实施例提供一种时序数据的异常检测装置。参考图4(a),图4(a)是本发明一实施例提出的时序数据的异常检测装置的示意图。如图4(a)所示,该装置包括:
分割模块41,用于根据预设周期,对待检测的时序数据进行分割,得到时间长度为所述预设周期长度的时序数据分段;
编解码模块42,用于对所述时序数据分段进行编码操作,获得编码结果,并对所述编码结果进行解码操作,获得解码数据分段,其中,所述编码操作和所述解码操作用于基于周期性的时序数据,生成与该时序数据相一致的解码数据;
异常确定模块43,用于对所述时序数据分段和所述解码数据分段进行比较,以确定所述时序数据分段是否异常。
可选地,所述编解码模42块具体用于:将所述时序数据分段输入变分自编码器,以通过所述变分自编码器的编码模块对所述时序数据分段进行编码操作,获得编码结果,并通过所述变分自编码器的解码模块对所述编码结果进行解码操作,以获得解码数据分段;
其中,所述变分自编码器用于基于周期性的时序数据,生成与该时序数据相一致的解码数据。
参考图4(b),图4(b)是本发明另一实施例提出的时序数据的异常检测装置的示意图。如图4(b)所示,异常确定模块43包括:
数据比较单元43-1,用于针对所述时序数据分段中的各个原始数据和所述解码数据分段中的各个生成数据,将相同时间点处的原始数据和生成数据进行比较,获得比较结果;
异常确定单元43-2,用于根据所获得的多个比较结果,确定所述时序数据分段是否异常。
可选地,如图4(b)所示,所述异常确定单元43-2具体用于:将所述多个比较结果各自表征的差距值分别与预设阈值进行比较,以确定大于所述预设阈值的差距值的总数量;根据所述总数量,确定所述时序数据分段是否异常。
可选地,如图4(b)所示,所述装置还包括:
数据预处理模块401,用于在针对时序数据进行异常检测之前,获得与所述时序数据同属于相同指标类型的样本时序数据,并对所述样本时序数据进行预处理;
预设周期确定模块402,用于根据预处理后的样本时序数据中极大值点的个数和各个极大值点之间的时间段长度,确定各个时间段长度的平均值,并将所述平均值确定为所述预设周期。
可选地,如图4(b)所示,所述数据预处理模块401包括:
数据分解单元401-1,用于对所述样本时序数据进行分解,获得变动因素,其中,所获得的变动因素包括以下四者中的至少一者:长期趋势因素、季节变动因素、周期变动因素、不规则变动因素;
数据重构单元401-2,用于利用所获得的变动因素,重构样本时序数据;
离群点消除单元401-3,用于通过移动平均法,消除重构形成的样本时序数据中的离群点。
可选地,如图4(b)所示,所述装置还包括:
训练数据分割模块403,用于在确定所述预设周期之后,以及在针对时序数据进行异常检测之前,获得与所述时序数据同属于相同指标类型的训练时序数据,并根据所述预设周期,对所述训练时序数据进行分割,得到时间长度为所述预设周期长度的训练时序数据分段;
训练数据校验模块404,用于对所述训练时序数据分段进行校验,以修正所述训练时序数据分段中的异常数据点;
变分自编码器训练模块405,用于利用校验后的训练时序数据分段,对变分自编码器进行训练,使得训练成功后的变分自编码器用于基于周期性的时序数据,生成与该时序数据相一致的解码数据;
其中,在针对时序数据进行异常检测期间,所述训练成功后的变分自编码器用于对时序数据分段进行编码操作,获得编码结果,并对所述编码结果进行解码操作,获得解码数据分段。
可选地,所述装置还包括:
数据点补充模块406,用于在利用校验后的训练时序数据分段,对变分自编码器进行训练之前,在所述训练时序数据分段中存在丢失数据点的情况下,将所述丢失数据点补充为数值0。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
根据预设周期,对待检测的时序数据进行分割,得到时间长度为所述预设周期长度的时序数据分段;
对所述时序数据分段进行编码操作,获得编码结果,并对所述编码结果进行解码操作,获得解码数据分段,其中,所述编码操作和所述解码操作用于基于周期性的时序数据,生成与该时序数据相一致的解码数据;
对所述时序数据分段和所述解码数据分段进行比较,以确定所述时序数据分段是否异常
或者,处理器501在执行存储器503上所存放的程序时,实现上述其他方法实施例中的步骤。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的时序数据的异常检测方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的时序数据的异常检测方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种时序数据的异常检测方法,其特征在于,所述方法包括:
根据预设周期,对待检测的时序数据进行分割,得到时间长度为所述预设周期长度的时序数据分段;所述时序数据为业务的日志记录中所记载的指标数据;
变分自编码器对所述时序数据分段进行编码操作,获得编码结果,并对所述编码结果进行解码操作,获得解码数据分段,其中,所述编码操作和所述解码操作用于基于周期性的时序数据,生成与该时序数据相一致的解码数据;其中,所述变分自编码器的训练过程为:获得与所述时序数据同属于相同指标类型的训练时序数据,并根据所述预设周期,对所述训练时序数据进行分割,得到时间长度为所述预设周期长度的训练时序数据分段;对所述训练时序数据分段进行校验,以修正所述训练时序数据分段中的异常数据点;利用校验后的训练时序数据分段,对变分自编码器进行训练;
对所述时序数据分段和所述解码数据分段进行比较,以确定所述时序数据分段是否异常;
在针对时序数据进行异常检测之前,获得与所述时序数据同属于相同指标类型的样本时序数据,并对所述样本时序数据进行预处理;所述预处理包括:对所述样本时序数据进行分解,获得变动因素,其中,所获得的变动因素包括以下四者中的至少一者:长期趋势因素、季节变动因素、周期变动因素、不规则变动因素;利用所获得的变动因素,重构样本时序数据;通过移动平均法,消除重构后的样本时序数据中的离群点;
根据预处理后的样本时序数据中极大值点的个数和各个极大值点之间的时间段长度,确定各个时间段长度的平均值,并将所述平均值确定为所述预设周期。
2.根据权利要求1所述的方法,其特征在于,所述对所述时序数据分段进行编码操作,获得编码结果,并对所述编码结果进行解码操作,获得解码数据分段的步骤,包括:
将所述时序数据分段输入变分自编码器,以通过所述变分自编码器的编码模块对所述时序数据分段进行编码操作,获得编码结果,并通过所述变分自编码器的解码模块对所述编码结果进行解码操作,以获得解码数据分段;
其中,所述变分自编码器用于基于周期性的时序数据,生成与该时序数据相一致的解码数据。
3.根据权利要求1所述的方法,其特征在于,所述对所述时序数据分段和所述解码数据分段进行比较,以确定所述时序数据分段是否异常的步骤,包括:
针对所述时序数据分段中的各个原始数据和所述解码数据分段中的各个生成数据,将相同时间点处的原始数据和生成数据进行比较,获得比较结果;
根据所获得的多个比较结果,确定所述时序数据分段是否异常。
4.根据权利要求3所述的方法,其特征在于,所述比较结果用于表征原始数据和生成数据之间的差距值;所述根据所获得的多个比较结果,确定所述时序数据分段是否异常的步骤,包括:
将所述多个比较结果各自表征的差距值分别与预设阈值进行比较,以确定大于所述预设阈值的差距值的总数量;
根据所述总数量,确定所述时序数据分段是否异常。
5.根据权利要求1所述的方法,其特征在于,在利用校验后的训练时序数据分段,对变分自编码器进行训练之前,所述方法还包括:
在所述训练时序数据分段中存在丢失数据点的情况下,将所述丢失数据点补充为数值0。
6.一种时序数据的异常检测装置,其特征在于,所述装置包括:
分割模块,用于根据预设周期,对待检测的时序数据进行分割,得到时间长度为所述预设周期长度的时序数据分段;所述时序数据为业务的日志记录中所记载的指标数据;
编解码模块,用于变分自编码器对所述时序数据分段进行编码操作,获得编码结果,并对所述编码结果进行解码操作,获得解码数据分段,其中,所述编码操作和所述解码操作用于基于周期性的时序数据,生成与该时序数据相一致的解码数据;
异常确定模块,用于对所述时序数据分段和所述解码数据分段进行比较,以确定所述时序数据分段是否异常;
数据预处理模块,用于在针对时序数据进行异常检测之前,获得与所述时序数据同属于相同指标类型的样本时序数据,并对所述样本时序数据进行预处理;
数据分解单元,用于对所述样本时序数据进行分解,获得变动因素,其中,所获得的变动因素包括以下四者中的至少一者:长期趋势因素、季节变动因素、周期变动因素、不规则变动因素;
数据重构单元,用于利用所获得的变动因素,重构样本时序数据;
离群点消除单元,用于通过移动平均法,消除重构形成的样本时序数据中的离群点;
预设周期确定模块,用于根据预处理后的样本时序数据中极大值点的个数和各个极大值点之间的时间段长度,确定各个时间段长度的平均值,并将所述平均值确定为所述预设周期;
其中,所述变分自编码器的训练过程为:获得与所述时序数据同属于相同指标类型的训练时序数据,并根据所述预设周期,对所述训练时序数据进行分割,得到时间长度为所述预设周期长度的训练时序数据分段;对所述训练时序数据分段进行校验,以修正所述训练时序数据分段中的异常数据点;利用校验后的训练时序数据分段,对变分自编码器进行训练。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010438332.3A CN111708739B (zh) | 2020-05-21 | 2020-05-21 | 时序数据的异常检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010438332.3A CN111708739B (zh) | 2020-05-21 | 2020-05-21 | 时序数据的异常检测方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111708739A CN111708739A (zh) | 2020-09-25 |
CN111708739B true CN111708739B (zh) | 2024-02-27 |
Family
ID=72537236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010438332.3A Active CN111708739B (zh) | 2020-05-21 | 2020-05-21 | 时序数据的异常检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708739B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112036513B (zh) * | 2020-11-04 | 2021-03-09 | 成都考拉悠然科技有限公司 | 基于内存增强潜在空间自回归的图像异常检测方法 |
CN112101554B (zh) * | 2020-11-10 | 2024-01-23 | 北京瑞莱智慧科技有限公司 | 异常检测方法及装置、设备、计算机可读存储介质 |
CN112506754A (zh) * | 2020-12-13 | 2021-03-16 | 国网河北省电力有限公司雄安新区供电公司 | 一种系统性能监测方法及平台 |
CN112988186B (zh) * | 2021-02-19 | 2022-07-19 | 支付宝(杭州)信息技术有限公司 | 异常检测系统的更新方法及装置 |
CN112988512A (zh) * | 2021-03-12 | 2021-06-18 | 北京奇艺世纪科技有限公司 | 一种时序数据异常检测方法、装置、设备及存储介质 |
CN113111096B (zh) * | 2021-04-08 | 2023-09-05 | 东方电气集团科学技术研究院有限公司 | 一种面向发电设备高维时序工况数据的异常检测方法 |
CN113971513A (zh) * | 2021-10-22 | 2022-01-25 | 河南鑫安利安全科技股份有限公司 | 一种企业安全风险管理平台的数据存储与优化方法 |
CN115063588A (zh) * | 2022-06-29 | 2022-09-16 | 深圳前海微众银行股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN116226231B (zh) * | 2023-02-23 | 2023-10-27 | 北京思维实创科技有限公司 | 数据分割方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000276478A (ja) * | 1999-03-24 | 2000-10-06 | Nippon Telegr & Teleph Corp <Ntt> | 時系列データの検出方法、その装置およびそのプログラムを記録した記録媒体 |
CN108628281A (zh) * | 2017-03-23 | 2018-10-09 | 株式会社日立制作所 | 异常检测系统及异常检测方法 |
CN109978379A (zh) * | 2019-03-28 | 2019-07-05 | 北京百度网讯科技有限公司 | 时序数据异常检测方法、装置、计算机设备和存储介质 |
CN110909046A (zh) * | 2019-12-02 | 2020-03-24 | 上海舵敏智能科技有限公司 | 时间序列的异常检测方法及装置、电子设备、存储介质 |
-
2020
- 2020-05-21 CN CN202010438332.3A patent/CN111708739B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000276478A (ja) * | 1999-03-24 | 2000-10-06 | Nippon Telegr & Teleph Corp <Ntt> | 時系列データの検出方法、その装置およびそのプログラムを記録した記録媒体 |
CN108628281A (zh) * | 2017-03-23 | 2018-10-09 | 株式会社日立制作所 | 异常检测系统及异常检测方法 |
CN109978379A (zh) * | 2019-03-28 | 2019-07-05 | 北京百度网讯科技有限公司 | 时序数据异常检测方法、装置、计算机设备和存储介质 |
CN110909046A (zh) * | 2019-12-02 | 2020-03-24 | 上海舵敏智能科技有限公司 | 时间序列的异常检测方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111708739A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708739B (zh) | 时序数据的异常检测方法、装置、电子设备及存储介质 | |
CN111459778B (zh) | 运维系统异常指标检测模型优化方法、装置及存储介质 | |
CN112149757B (zh) | 一种异常检测方法、装置、电子设备及存储介质 | |
TWI769754B (zh) | 基於隱私保護確定目標業務模型的方法及裝置 | |
CN108733508B (zh) | 用于控制数据备份的方法和系统 | |
CN109727446B (zh) | 一种用电数据异常值的识别与处理方法 | |
CN113568819B (zh) | 异常数据检测方法、装置、计算机可读介质及电子设备 | |
CN112306787B (zh) | 报错日志处理方法、装置、电子设备和智能音箱 | |
CN115801901B (zh) | 一种企业生产排放数据压缩处理方法 | |
CN111428201B (zh) | 基于经验模态分解和前馈神经网络对时序数据的预测方法 | |
CN111711608A (zh) | 一种电力数据网流量异常检测方法、系统及电子设备 | |
Lee | Anomaly detection in multivariate non-stationary time series for automatic DBMS diagnosis | |
CN108683658B (zh) | 基于多rbm网络构建基准模型的工控网络流量异常识别方法 | |
CN116776270A (zh) | 一种基于Transformer的微服务性能异常检测方法和系统 | |
CN116993537A (zh) | 一种基于串行gru自编码器的电力负荷异常检测方法及系统 | |
CN112131274A (zh) | 时间序列异常点的检测方法、装置、设备及可读存储介质 | |
CN116108991A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN115934484A (zh) | 基于扩散模型数据增强的异常检测方法、存储介质及设备 | |
CN113660147B (zh) | 一种基于模糊熵的ip会话序列周期性评估方法 | |
CN115758273A (zh) | 一种时序数据异常检测方法、装置、设备及介质 | |
CN113011476B (zh) | 基于自适应滑动窗口gan的用户行为安全检测方法 | |
CN111353860A (zh) | 产品信息推送方法及系统 | |
Scheffel et al. | Data confidence applied to wind turbine power curves | |
CN111652662B (zh) | 一种信息处理方法和装置 | |
CN117591983B (zh) | 一种多指标异常检测方法、装置、电子设备和存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |