CN112800116A - 一种业务数据的异常检测方法及装置 - Google Patents
一种业务数据的异常检测方法及装置 Download PDFInfo
- Publication number
- CN112800116A CN112800116A CN202110376237.XA CN202110376237A CN112800116A CN 112800116 A CN112800116 A CN 112800116A CN 202110376237 A CN202110376237 A CN 202110376237A CN 112800116 A CN112800116 A CN 112800116A
- Authority
- CN
- China
- Prior art keywords
- data
- time
- service
- sequence
- abnormal
- 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.)
- Granted
Links
Images
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种业务数据的异常检测方法及装置;涉及大数据处理技术以及区块链技术,方法包括:接收业务的时间序列数据,提取所述时间序列数据的时序特征;基于所述时序特征,对所述时间序列数据进行回归预测处理,得到所述时间序列数据的下一个时间节点的业务数据;基于所述下一个时间节点的业务数据和所述时间序列数据确定残差序列;基于所述残差序列进行异常检测处理,确定所述时间序列数据的异常概率;基于所述异常概率与异常阈值的比较结果,确定表征所述时间序列数据是否异常的检测结果。通过本申请,能够保证对业务数据进行快速和准确地异常检测。
Description
技术领域
本申请涉及大数据处理技术及区块链技术,尤其涉及一种业务数据的异常检测方法及装置。
背景技术
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。大数据处理是人工智能技术的重要应用领域,例如,通过对业务系统的运行过程中不断产生的业务数据进行监控,可以及时发现异常并处理,保证业务系统运行的稳定性。
相关技术中的异常检测方法,通常分为三种:有监督方法、半监督方法和无监督方法。其中,有监督方法和半监督方法均需要人工标注数据,在复杂的业务场景下获取人工标注的成本比较高。而有监督方法由于规则是根据经验决定的,存在很大的主观性,由此,判断出的检测结果准确率较低。
因此,相关技术中缺乏保证业务数据的异常检测结果的准确性的有效方案。
发明内容
本申请实施例提供一种业务数据的异常检测方法、装置、电子设备及计算机可读存储介质,能够保证对业务数据进行准确快速地异常检测。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种业务数据的异常检测方法,包括:
接收业务的时间序列数据,提取所述时间序列数据的时序特征;
基于所述时序特征,对所述时间序列数据进行回归预测处理,得到所述时间序列数据的下一个时间节点的业务数据;
基于所述下一个时间节点的业务数据和所述时间序列数据确定残差序列;
基于所述残差序列进行异常检测处理,确定所述时间序列数据的异常概率;
基于所述异常概率与异常阈值的比较结果,确定表征所述时间序列数据是否异常的检测结果。
本申请实施例提供一种业务数据的异常检测装置,包括:
提取模块,用于接收业务的时间序列数据,提取所述时间序列数据的时序特征;
回归模块,用于基于所述时序特征,对所述时间序列数据进行回归预测处理,得到所述时间序列数据的下一个时间节点的业务数据;
检测模块,用于基于所述下一个时间节点的业务数据和所述时间序列数据确定残差序列;基于所述残差序列进行异常检测处理,确定所述时间序列数据的异常概率;
确定模块,用于基于所述异常概率与异常阈值的比较结果,确定表征所述时间序列数据是否异常的检测结果。
在上述方案中,所述回归预测处理是通过集成树模型实现的,所述集成树模型包括多个决策树模型;所述回归模块,还用于通过每个决策树模型对所述时间序列数据进行预测处理,得到多个所述时间序列数据的下一个时间节点的预测数据;将所述多个决策树模型的预测数据的均值,作为所述时间序列数据的下一个时间节点的业务数据。
在上述方案中,所述回归模块,还用于通过以下方式获取所述集成树模型:将所述业务数据的历史时间序列数据作为训练样本;对所述训练样本进行多次采样,得到多个训练集;其中,所述训练集与决策树模型一一对应;按照以下方式生成与每个所述训练集对应的决策树模型:将所述训练集中的训练样本的候选属性作为决策树模型的根节点;将信息增益最大的候选属性作为所述根节点的下一个层次的分裂节点,基于所述分裂节点继续进行分裂,当分裂完成时,将所述根节点以及得到的所述分裂节点组合为决策树模型;将根据每个所述训练集分别生成的决策树模型组合为所述集成树模型。
在上述方案中,所述检测模块,还用于将所述下一个时间节点的业务数据和所述时间序列数据中对应的业务数据的差值确定为残差;将所述残差和所述下一个时间节点的业务数据的比值确定为相对残差;将所述时间序列数据中的业务数据、所述残差、所述相对残差的三维向量组合为所述残差序列。
在上述方案中,所述检测模块,还用于确定所述残差序列中的业务数据到中心超平面的距离;将所述距离映射为所述时间序列数据的异常概率。
在上述方案中,所述检测模块,还用于通过以下方式确定所述中心超平面:将所述业务数据映射到特征空间,其中,所述特征空间包括原点和所述业务数据;确定使所述业务数据与所述原点之间的距离最大的所述中心超平面。
在上述方案中,所述确定模块,还用于当所述异常概率大于所述异常阈值时,确定所述时间序列数据是正常值;当所述异常概率小于或等于所述异常阈值时,确定所述时间序列数据是异常值。
在上述方案中,所述提取模块,还用于将所述业务数据的前N个周期的同一时间节点的数据值,作为所述业务数据的同比值;其中,所述N为正整数;将所述业务数据的前N个时间节点的数据值,作为所述业务数据的环比值;将所述业务数据在统计周期内的连续时间节点的余弦函数,作为所述业务数据的傅里叶级数特征;将所述同比值、所述环比值、所述傅里叶级数特征中的至少之一作为所述时序特征。
在上述方案中,当所述时间序列数据是异常值时,所述确定模块,还用于将所述时间序列数据的异常检测结果写入日志数据,所述异常检测结果用于表征所述时间序列数据是异常值;当所述日志数据满足告警条件时,对所述异常检测结果对应的时间序列数据进行告警,并执行对应的故障排除操作。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的业务数据的异常检测方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的业务数据的异常检测方法。
本申请实施例具有以下有益效果:
通过时间序列数据预测后续的时间节点的业务数据,并基于两者的残差序列来进行异常检测,充分利用了残差序列能够反映业务的异常程度的特性,结合与异常阈值比较的方式,能够消除局部异常导致的误检测,从而具有良好的抗干扰能力;此外,由于不依赖于时间序列需要服从任何数据分布的假设来进行检测,从而能够广泛移植到各种大规模运维业务数据的监控场景。
附图说明
图1是本申请实施例提供的业务数据的异常检测系统100的一个架构示意图;
图2是本申请实施例提供的服务器200的结构示意图;
图3A是本申请实施例提供的业务数据的异常检测方法的一个流程示意图;
图3B是本申请实施例提供的业务数据的异常检测方法的一个流程示意图;
图3C是本申请实施例提供的业务数据的异常检测方法的一个流程示意图;
图4是本申请实施例提供的业务数据的异常检测方法的一个流程示意图;
图5是本申请实施例提供的生成随机森林模型的流程示意图;
图6是本申请实施例提供的服务器中的异常检测模型的架构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)随机森林,指的是利用多棵树对样本进行训练并预测的一种分类器。
2)异常检测,是对不匹配预期模式或数据集中其他项目的项目、事件或观测值的识别。异常检测技术用于各种领域,如入侵检测、欺诈检测、故障检测、系统健康监测、传感器网络事件检测和生态系统干扰检测等。它通常用于在预处理中删除从数据集的异常数据。
相关技术中的异常检测方法通常分为三类,即,监督方法、无监督方法和半监督的方法。其中,有监督的方法和半监督的方法需要人工标注数据,在复杂的业务场景下获取人工标注的成本比较高。以下详细介绍无监督的异常检测方法:
对于无监督的异常检测方法,最简单的是基于阈值(规则)的异常检测方法,根据人工经验的方法给出一个异常阈值,然后根据周同比或者日同比的数据跟这个异常阈值比较的结果确定数据是否是异常。无监督的异常检测方法还包括基于统计的异常检测方法、基于预测的异常检测方法、基于生成的异常检测方法。其中,基于统计的异常检测方法,是结合同比(环比)样本平均值或者同比(环比)样本均值设置阈值进行检测,因此,不同的指标设置的阈值大小相差较大,且依赖人工设置;也可采取统计学方法进行检测,假设预测值基于某个分布(二项、泊松、正态、高斯),求出参数,结合概率阈值进行判断。基于预测的异常检测方法,是将时间序列输入模型,学习规律输出预测点值,再结合阈值判断实际值和预测值的残差推断是否异常。基于生成的异常检测方法,属于无监督深度模型范畴,主要思想是通过模型学习时间序列的正常模式,当输入异常模式时,发现异常;又或者是生成模型学习生成正常模式的数据,输出预测值,再结合阈值判断真实值是否异常。
本申请实施例中发现相关技术的上述方法在实际应用过程中,会出现以下技术问题:1)基于阈值(规则)的异常检测方法给定的样本标签存在两个问题:一是存在很大的主观性,不同的人有不同的异常阈值设置标准,并且这种方法投入的时间和人力成本比较高;二是数据波动随时间变化较大,判断的异常阈值并不能完全在所有的时刻都是固定的,因此,根据靠人工判断取得的异常阈值可能不是最优解。因此,不能适应时间序列波动比较大的业务场景,容易受到异常极端值的影响,并且无法冷启动。2)基于统计的异常检测方法,必须要求时序数据服从某个分布,而绝大部分的待检测数据的分布是未知的,难以适应实际的业务场景。3)基于预测的异常检测方法,会在基于近期趋势计算方差的算法遇到前面几个点的震动很大时,致使方差变大,后面的故障就容易掩盖,曲线业务可能自身有规律性的陡增和陡降,这种趋势也比较难拟合。4)基于生成的异常检测方法,容易受到异常值的影响,导致对业务数据进行异常检测的准确率低。
针对上述技术问题,本申请实施例提供一种业务数据的异常检测方法、装置、电子设备和计算机可读存储介质,能够保证对业务数据进行快速和准确地异常检测,下面说明本申请实施例提供的业务数据的异常检测方法的示例性应用,本申请实施例提供的业务数据的异常检测方法可以由各种电子设备实施,例如可以实施为智能手机、平板电脑、智能车载终端、智能穿戴设备等各种类型的终端,也可以实施为服务器。下面,将说明电子设备实施为服务器时示例性应用。
参见图1,图1是本申请实施例提供的业务数据的异常检测系统100的一个架构示意图,其中,业务数据的异常检测系统100包括:终端(示例性地示出了终端400-1和终端400-2)、服务器200和网络300,终端通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
在一些实施例中,服务器200接收终端400-1发送的业务的时间序列数据,提取时间序列数据的时序特征;基于时序特征,对时间序列数据进行回归预测处理,得到时间序列数据的下一个时间节点的业务数据;基于下一个时间节点的业务数据和时间序列数据确定残差序列;基于残差序列进行异常检测处理,确定时间序列数据的异常概率;基于异常概率与异常阈值的比较结果,确定表征时间序列数据是否异常的检测结果,将所述检测结果返回至终端400-1,以使终端400-1根据检测结果对业务数据的异常值进行相应的排除故障的操作。
在一些实施例中,本申请实施例提供的业务数据的异常检测方法可以由终端单独实施。终端400-1实时获取业务的时间序列数据,提取时间序列数据的时序特征;基于时序特征,对时间序列数据进行回归预测处理,得到时间序列数据的下一个时间节点的业务数据;基于下一个时间节点的业务数据和时间序列数据确定残差序列;基于残差序列进行异常检测处理,确定时间序列数据的异常概率;基于异常概率与异常阈值的比较结果,确定表征时间序列数据是否异常的检测结果,终端400-1根据检测结果对业务数据的异常值进行相应的排除故障的操作。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
本申请实施例可以广泛应用于对业务数据进行异常检测处理的场景中,例如,针对游戏业务的点击量数据的监控,终端将游戏业务的点击量组成的时间序列数据发送至服务器,服务器提取时间序列数据的时序特征;基于时序特征,对时间序列数据进行回归预测处理,得到时间序列数据的下一个时间节点的业务数据;基于下一个时间节点的业务数据和时间序列数据确定残差序列;基于残差序列进行异常检测处理,确定时间序列数据的异常概率;基于异常概率与异常阈值的比较结果,确定表征时间序列数据是否异常的检测结果,自动确定游戏的点击量数据中的异常值,能够实时监控游戏业务的点击量是否出现异常,且提高了检测的准确性;该业务数据的异常检测系统100还可以应用于推荐系统中,将得到的检测结果输入推荐系统中,以使推荐系统将真实点击量(总点击量排除虚假点击量后的点击量)较高的游戏推荐给用户,避免劣质游戏通过恶意刷点击量而提高点击量,能够提升推荐系统的推荐游戏的质量,该得到的检测结果也可以存储在服务器中,后续供推荐系统离线使用。除此以外,与业务数据的异常检测处理相关的场景都属于本申请实施例的潜在应用场景。
接下来,说明本申请实施例提供的用于实施业务数据的异常检测方法的电子设备的结构,如前所述,本申请实施例提供的电子设备可以是图1中的服务器200。参见图2,图2是本申请实施例提供的服务器200的结构示意图,图2所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(RON,Read Only Memory),易失性存储器可以是随机存取存储器(RAN,Random Access Memory)。本申请实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的业务数据的异常检测装置可以采用软件方式实现,图2示出了存储在存储器250中的业务数据的异常检测装置255,其可以是程序和插件等形式的软件,包括以下软件模块:提取模块2551、回归模块2552、检测模块2553和确定模块2554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在一些实施例中,将业务的时间序列数据上传至区块链网络的状态数据库中进行存储;调用区块链网络中的智能合约,以使智能合约执行以下处理:从区块链网络的节点维护的区块链中获取业务的时间序列数据;将业务的时间序列数据进行共识处理,当共识通过时,将业务的时间序列数据作为调用结果返回。在本申请实施例中,区块链网络包括服务器,通过节点之间的共识机制,可以保证业务的时间序列数据的可靠性以及得到的对业务的时间序列数据的检测结果的可信性;当然对业务的时间序列数据的检测结果也可以上链存储。
下面,以由图1中的服务器200单独执行本申请实施例提供的业务数据的异常检测方法为例说明。如前实施例,本申请实施例提供的业务数据的异常检测方法可以由图1中的服务器200执行。参见图3A,图3A是本申请实施例提供的业务数据的异常检测方法的一个流程示意图,将结合图3A示出的步骤进行说明。
在步骤101中,接收业务的时间序列数据,提取时间序列数据的时序特征。
在一些实施例中,业务的时间序列数据可以通过以下至少一种方式实现:实时接收终端上待检测的业务应用发送的业务的时间序列数据;终端上设有客户端,接收用户在客户端导入的业务的时间序列数据。以便后续对业务的时间序列数据进行异常检测分析,得到检测结果。其中,时间序列数据,指按时间顺序记录的业务数据的序列,该数据序列中的业务数据点反映了特定现象、指标、事物等随时间变化的状态或程度。
在一些实施例中,提取时间序列数据的时序特征,可以通过以下方式实现:将业务数据的前N个周期的同一时间节点的数据值,作为业务数据的同比值;其中,N为正整数;将业务数据的前N个时间节点的数据值,作为业务数据的环比值;将业务数据在统计周期内的连续时间节点的余弦函数,作为业务数据的傅里叶级数特征;将同比值、环比值、傅里叶级数特征中的至少之一作为时序特征。
举例来说,业务的时间序列数据X={X1,X2,X3,…,Xn},其中,n是时间序列数据的个数、且n为正整数,业务的时间序列数据也就是真实值。N阶同比值为当前值的前N个周期的同一时间节点的真实值,即{Xn-T,Xn-2T,…,Xn-NT},其中,T是单个周期内真实值的个数、且T为正整数。N阶环比值为当前值的前N个真实值,即{Xn-1,Xn-2,…,Xn-N}。傅立叶级数特征是关于时间t的余弦函数,时间t是当前时间节点所处的某一时段,取当前值的前N个连续点的时间t的余弦函数作为N阶傅立叶级数特征{Fn-1,Fn-2,…,Fn-N},其中,t为正整数。由此,可以得到由N阶同比值、N阶环比值、N阶傅里叶级数特征组成的时序特征为{Xn-T,Xn-2T,…,Xn-NT,Xn-1,Xn-2,…,Xn-N,Fn-1,Fn-2,…,Fn-N}。
在本申请实施例中,提取业务的时间序列数据的同比值、环比值、傅立叶级数特征、真实值作为业务的时间序列数据的时序特征,保证后续基于提取的时序特征进行回归预测的准确性。
在步骤102中,基于时序特征,对时间序列数据进行回归预测处理,得到时间序列数据的下一个时间节点的业务数据。
在一些实施例中,回归预测处理是通过集成树模型实现的,集成树模型包括多个决策树模型。参见图3B,图3B是本申请实施例提供的业务数据的异常检测方法的一个流程示意图,示出了图3A中的步骤102,还可以通过执行步骤1021和步骤1022来实现。下面将结合各步骤进行详细说明。
在步骤1021中,通过集成树模型中的每个决策树模型对时间序列数据进行预测处理,得到多个时间序列数据的下一个时间节点的预测数据。
在一些示例中,通过以下方式获取集成树模型:将业务数据的历史时间序列数据作为训练样本;对训练样本进行多次采样,得到多个训练集;其中,训练集与决策树模型一一对应;按照以下方式生成与每个训练集对应的决策树模型:将训练集中的训练样本的候选属性作为决策树模型的根节点;将信息增益最大的候选属性作为根节点的下一个层次的分裂节点,基于分裂节点继续进行分裂,当分裂完成时,将根节点以及得到的分裂节点组合为决策树模型;将根据每个训练集分别生成的决策树模型组合为集成树模型。
举例来说,对业务数据的历史时间序列数据Zm进行随机抽样,生成个训练集Zm,m=1,2,…,M,其中,m为正整数。利用一个训练集训练一个决策树模型。针对一个训练集训练一个决策树模型的训练方式为:从训练集Zm中的训练样本的多个时序特征中随机抽取a个时序特征(a为正整数),作为候选属性,将各候选属性作为决策树模型的根节点;计算各候选属性的信息增益;在每个节点上从候选属性中依据信息增益的降序排序的顺序选取最优时序特征,作为根节点的下一个层次的分裂节点。由此,依据时序特征不断分裂直到决策树模型不能再分裂,将根节点以及得到的分裂节点组合为决策树模型。最后,将根据多个训练集分别生成的多个决策树模型组合为集成树模型。集成树模型包括多个决策树模型,例如随机森林模型,随机森林模型是由多个决策树模型构成,随机森林模型中的每一个决策树模型之间是没有关联的。利用随机森林模型对时间序列数据进行预测处理,可以通过以下方式实现:多个决策树模型分别对时间序列数据进行预测处理,得到多个预测数据,即多个时间序列数据的下一个时间节点的预测数据,决策树模型与时间序列数据的下一个时间节点的预测数据是一一对应。
需要说明的是,在训练集成树模型前,集成树模型的估量参数(n_estimators,表示的是决策树模型的个数,估量参数越大,预测结果越准确,预测效率越低)、最大特征数量参数(max_features,表示的是构建决策树模型时,随机抽取的候选属性的数量,最大特征数量参数越大,预测结果越准确,预测效率越低),最大深度参数(max_depth,表示的是决策树模型的最大深度)使用的是默认值。当然,在另一些实施例中,可以先使用初始的默认值,再使用交叉验证的方式对各参数进行调优,以生成最优的集成树模型。另外,将信息增益最大的候选属性作为根节点的下一个层次的分裂节点,本申请实施例选择分裂节点的依据是信息增益,在另一些实施例中,选择分裂节点的依据可以是基尼指数、误差率等。
在步骤1022中,将多个决策树模型的预测数据的均值,作为时间序列数据的下一个时间节点的业务数据。
需要说明的是,对集成树模型中每个决策树模型的预测数据取平均值,得到时间序列数据的下一个时间节点的业务数据,即,预测得到的下一个时间节点的业务数据,由集成树模型中的每一个决策树模型共同决定。
在本申请实施例中,基于集成树模型中的多个决策树模型共同得到时间序列数据的下一个时间节点的业务数据,多个决策树模型并行实现,预测效率较高;使用交叉验证的方式调整集成树模型的参数,平衡了预测效率与预测准确率,保证了集成树模型的预测准确率。
在步骤103中,基于下一个时间节点的业务数据和时间序列数据确定残差序列。
在一些实施例中,参见图3C,图3C是本申请实施例提供的业务数据的异常检测方法的一个流程示意图,示出了图3A中的基于下一个时间节点的业务数据和时间序列数据确定残差序列,还可以通过执行步骤1031至步骤1033来实现。将结合各步骤进行说明。
在步骤1031中,将下一个时间节点的业务数据和时间序列数据中对应的业务数据的差值确定为残差。
在一些示例中,计算真实值与预测值的绝对误差,即真实值(业务的时间序列数据)与预测值(时间序列数据的下一个时间节点的业务数据)之间的残差ei,ei=Y(预测值)-Xi(业务的时间序列数据),其中,Y指预测值,即,时间序列数据Xi的下一个时间节点的业务数据,i为正整数。
在步骤1032中,将残差和下一个时间节点的业务数据的比值确定为相对残差。
在步骤1033中,将时间序列数据中的业务数据、残差、相对残差的三维向量组合为残差序列。
举例来说,如果仅根据真实值和预测值的残差预测真实值是否为异常值,这种方式没有考虑流量本身大小的因素,例如,当残差为-100时,如果此时流量的预测值为200,可以确定真实值是异常值;当流量预测值为1000时,实际情况可能是真实值并非异常值。即,在仅根据残差进行预测的场景下,业务数据本身的大小会导致预测精度的降低。还例如,大部分系统服务白天流量大,相对波动小,相对残差为下跌10%则意味着比较严重的问题,而深夜流量小,相对波动大,相对残差为下跌30%才意味着系统存在故障,即,仅根据固定的相对残差的阈值进行异常检测的准确率也不够高。
在本申请实施例中,将真实值、残差、相对残差的三维向量组合为残差序列,后续对残差序列进行异常检测得到的时间序列数据的异常概率,能有效应对由于干扰波动较大的业务数据的异常检测的应用场景,对非技术性的曲线波动有较强的抗干扰的能力,并且不需要任何数据分布的假设,可移植性强,能用于大规模运维业务数据的监控。由于残差序列包括真实值、残差和相对残差的维度特征,反映业务的异常程度的特性,能够避免仅根据残差或相对残差进行异常检测时对局部异常值的过于敏感的问题。
在步骤104中,基于残差序列进行异常检测处理,确定时间序列数据的异常概率。
在一些实施例中,基于残差序列进行异常检测处理,确定时间序列数据的异常概率,可以通过以下方式实现:确定残差序列中的业务数据到中心超平面的距离;将距离映射为时间序列数据的异常概率。
在一些示例中,通过以下方式确定中心超平面:将业务数据映射到特征空间。其中,特征空间包括原点和业务数据;确定使业务数据与原点之间的距离最大的中心超平面。然后基于确定的中心超平面计算残差序列中的业务数据点到中心超平面的距离。
举例来说,确定残差序列中的业务数据到中心超平面的距离,可以通过单类支持向量机(OCSVM,One Class Support Vector Machine)来实现。将业务数据映射到多维特征空间中。其中,多维特征空间包括原点和业务数据点集。原点作为正样本,业务数据点集作为负样本,支持向量是样本离中心超平面最近的点集,通过OCSVM找到样本点到中心超平面的距离最远,也即确定出中心超平面。
在一些示例中,利用激活函数(Logistic函数,即Sigmoid函数)拟合训练过的支持向量机的异常概率。具体来说,需要求解的条件概率被假设具有下面的形式:,其中,Ei是残差序列,d(Ei)是残差序列中的点到支持向量的距离,参数A和B的值通过最小化交叉熵误差函数的方式确定。交叉熵误差函数是根据d(Ei)和时间t组成的训练数据集确定的,用于拟合Sigmoid函数的数据需要独立于训练原始支持向量机的数据。由此,将支持向量得到的距离d(Ei)转换成异常概率p(t=1|x),p(t=1|x)表示属于类别t=1的x的对数概率。
在步骤105中,基于异常概率与异常阈值的比较结果,确定表征时间序列数据是否异常的检测结果。
在一些实施例中,基于异常概率与异常阈值的比较结果,确定表征时间序列数据是否异常的检测结果,可以通过以下方式来实现:当异常概率大于异常阈值时,确定时间序列数据是正常值;当异常概率小于或等于异常阈值时,确定时间序列数据是异常值。
在一些示例中,根据历史经验,异常阈值可以使用人工设定的阈值。
在另一些示例中,异常阈值可以通过神经网络模型进行实时更新。当达到更新时间时,对神经网络模型进行训练:获取历史业务数据作为训练样本,异常阈值作为标签,将历史业务数据作为样本在神经网络模型中的各个层以及预测层中进行正向传播,以得到业务数据的特征向量;预测出业务数据的特征向量是否异常的预测异常阈值;初始化包括每个样本以及对应样本的预测异常阈值的损失函数;确定每个样本的预测异常阈值和真实异常阈值之间的误差,并根据损失函数在神经网络模型中反向传播误差,以确定损失函数取得最小值时神经网络模型的变化值,并根据变化值更新神经网络模型的参数。其中,预测层可以通过逻辑回归函数softmax来实现。然后,调用训练好的神经网络模型执行以下处理:对业务数据进行卷积处理,以提取业务数据的特征向量;对业务数据的特征向量进行预测处理,将业务数据的特征向量映射为多个候选的异常阈值的概率,将最大概率的异常阈值作为更新后的异常阈值。从而,基于时间序列数据的异常概率与更新后的异常阈值的比较结果,确定表征时间序列数据是否异常的检测结果。
例如,神经网络模型可以包括卷积层和归一化层,卷积处理通过神经网络的卷积层来实现,归一化处理通过神经网络模型的归一化层中的逻辑回归函数softmax来实现。
需要说明的是,设置更新时间的规则可以根据业务数据来确定,例如,当业务数据是游戏应用的点击量时,由于节假日休息,游戏应用的用户会急剧增加,对于更新时间的规则可以设置为以法定节假日的第一天为更新时间。
在本申请实施例中,在更新时间达到时,对异常阈值进行更新,适应业务数据在不同应用场景时的变化,提升了对业务数据进行异常检测的准确率。
在一些实施例中,当时间序列数据是异常值时,将时间序列数据的异常检测结果写入日志数据,异常检测结果用于表征时间序列数据是异常值;当日志数据满足告警条件时,对异常检测结果对应的时间序列数据进行告警,并执行对应的故障排除操作。
在一些示例中,当日志数据满足告警条件时,对异常检测结果对应的时间序列数据进行告警,并执行对应的故障排除操作,可以通过以下方式实现:告警条件可以是异常值的累计次数、累计时长等,从日志数据中确定异常值对应的执行对象;对执行对象对应的异常值的次数进行累加;当同一执行对象对应的异常值的累加次数超过异常次数时,对该执行对象进行禁止访问操作。在另一些示例中,可以仅进行告警,以提示用户进行人工排查。
在本申请实施例中,对检测出的异常值进行警告,提示用户业务数据的风险,且可以进行智能故障排除操作,保障业务的安全性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。以服务器监控终端的游戏业务的点击量为例,服务器上集成有实现本申请实施例提供的业务数据的异常检测方法的异常检测模型(包括提取模块、回归模块、检测模块、确定模块),接收终端上报的游戏业务的点击量组成的时间序列数据,利用异常检测模型的提取模块提取时间序列数据的时序特征;利用异常检测模型的回归模块基于时序特征,对时间序列数据进行回归预测处理,得到时间序列数据的下一个时间节点的点击量;利用异常检测模型的检测模块基于下一个时间节点的点击量和时间序列数据确定残差序列;基于残差序列进行异常检测处理,确定时间序列数据的异常概率;利用异常检测模型的确定模块基于异常概率与异常阈值的比较结果,确定表征时间序列数据是否异常的检测结果。终端根据检测结果对游戏业务的点击量的异常值进行相应的排除故障的操作。
参见图4,图4是本申请实施例提供的业务数据的异常检测方法的一个流程示意图。下面将结合图4说明本申请实施例提供的业务数据的异常检测方法。
在步骤401中,服务器提取待检测的时间序列数据的时序特征。
在一些实施例中,待检测的时间序列数据(游戏业务的点击量组成的时间序列数据)是X={X1,X2,X3,…,Xn},其中,n是时间序列数据的个数、且n为正整数,业务的时间序列数据也就是真实值序列,N阶同比值是当前值的前N个周期的同一时间节点的真实值,即{Xn-T,Xn-2T,…,Xn-NT},T是单个周期内真值的个数、且T为正整数。N阶环比值是当前值的前N个真实值,即{Xn-1,Xn-2,…,Xn-N}。傅立叶级数特征是关于时间t的余弦函数,时间t是当前时间节点所处的某一时段,取当前值的前N个连续点的时间t的余弦函数作为N阶傅立叶级数特征{Fn-1,Fn-2,…,Fn-N},其中,t为正整数。由此,待检测的时间序列数据的时序特征包括N阶同比值、N阶环比值、N阶傅里叶级数特征,即为{Xn-T,Xn-2T,…,Xn-NT,Xn-1,Xn-2,…,Xn-N,Fn-1,Fn-2,…,Fn-N}。
在步骤402中,服务器基于时序特征,对待检测的时间序列数据进行回归预测处理,得到时间序列数据的下一个时间节点的点击量。
在一些实施例中,回归预测处理通过随机森林模型来实现。随机森林是由多个决策树模型构成,随机森林模型是由多个决策树模型构成,随机森林模型中的每一个决策树模型之间是没有关联的。在进行回归预测处理的时候,以每个决策树模型输出的均值作为最终的预测结果。
在一些示例中,参见图5,图5是本申请实施例提供的生成随机森林模型的流程示意图。下面进行详细说明。
在步骤501中,服务器的回归模块选取待预测点前一定数量个点样本作为训练集,从训练集中随机抽取一定数量的样本,作为每个决策树模型的根节点样本。
这里的待预测点指的是待检测的业务的时间序列数据。选取待预测点前一定数量个点样本作为训练集,即选取待检测的业务的时间序列数据之前的一定数量个时间序列数据作为训练集。
在步骤502中,服务器的回归模块在建立决策树模型时,随机抽取一定数量的候选属性,从中选择最合适属性作为分裂节点。
在一些示例中,选择分裂节点的依据可以是信息增益、基尼指数、误差率等。
在步骤503中,服务器的回归模块建立好随机森林模型以后,通过随机森林模型对时间序列数据进行预测处理,将每个决策树模型输出的均值作为最终结果。
需要说明的是,随机森林模型的参数主要是两类,一类是估量参数(n_estimators,表示的是决策树模型的个数),根据需要可以选择100,如果计算资源足够,可以取更大的值。另一类参数是随机森林模型的决策树模型的参数,比如最大特征数量参数(max_features,表示的是构建决策树模型时随机抽取的候选属性的数量),最大深度参数(mmax_depth表示的是决策树模型最大深度),可以取默认值;也可以使用交叉验证的方式对各参数进行调优,以生成最优的随机森林模型。
在步骤403中,服务器基于下一个时间节点的点击量和时间序列数据确定残差序列。
在一些实施例中,根据预测结果计算真实值与预测值的绝对误差,即真实值(业务的时间序列数据)与预测值(时间序列数据的下一个时间节点的业务数据)之间的残差ei,ei=Y(预测值)-Xi(业务的时间序列数据)。对残差进行归一化计算相对残差,当时间序列数据中的业务数据为Xi,下一个时间节点的业务数据为Y,可以确定残差为ei=Y-Xi,则相对残差为。当时间序列数据中的业务数据为Xi,残差为ei,相对残差为eri时,则残差序列Ei={(X1,e1,er1),(X2,e2,er2),…,(Xi,ei,eri)}。
在本申请实施例中,将真实值、残差、相对残差的三维向量组合为残差序列,后续对残差序列进行异常检测得到的时间序列数据的异常概率,能有效应对由于干扰波动较大的业务数据的异常检测的应用场景。
在步骤404中,服务器基于残差序列进行异常检测处理,确定处理结果。
在一些实施例中,这里的处理结果即为残差序列中的数据点到中心超平面的距离。异常检测处理通过终端的预测模块中的单类支持向量机实现。单类支持向量机将数据样本通过核函数映射到高维特征空间,使其具有更良好的聚集性,在特征空间中求解一个最优超平面实现目标数据与坐标原点的最大分离。然后,根据求解得到的最优超平面,确定残差序列中的各样本到中心超平面的距离。
在步骤405中,服务器将处理结果进行概率化表示,得到异常概率。
在一些实施例中,单类支持向量机不提供概率输出,而是对新的输入进行分类决策。因此需要对单类支持向量机的处理结果(距离)进行修改,使其能控制假阳性和假阴性之间的折中。使用Sigmoid函数拟合训练过的单类支持向量机输出的处理结果。具体来说,需要求解的条件概率被假设具有下面的形式:,其中,Ei是残差序列,d(Ei)是残差序列中的点到支持向量的距离(即处理结果),参数A和B的值通过最小化交叉熵误差函数的方式确定。交叉熵误差函数根据d(Ei)和时间t组成的训练数据集确定的,用于拟合Sigmoid函数的数据需要独立于训练原始支持向量机的数据。由此,将支持向量得到的距离d(Ei)转换成异常概率p(t=1|x),p(t=1|x)表示属于类别t=1的x的对数概率。
在步骤406中,服务器基于异常概率与异常阈值的比较结果,确定表征时间序列数据是否异常的检测结果。
在一些实施例中,将异常概率与人工设定的异常阈值进行比较,当异常概率大于异常阈值时,确定当前点击量是正常值;当异常概率小于或等于异常阈值时,确定当前点击量是异常值。
在步骤407中,服务器根据检测结果对游戏业务的点击量的异常值进行相应的故障排除的操作。
在一些实施例中,当检测结果满足告警条件(超出异常值的累计次数阈值、累计时长阈值等)时,进行相应的故障排除操作。当点击量异常高时,可能出现恶意刷点击量时,可以禁止刷点击量的用户的访问操作。当点击量异常低时,可能是业务出现了问题,可以提示用户进行人工排查,以修复业务的障碍。
参见图6,图6是本申请实施例提供的服务器中的异常检测模型的架构示意图。其中,异常检测模型包括提取模块、回归模块、检测模块和确定模块。这里的异常检测模型可以采用实现本申请实施例提供的业务数据的异常检测方法的软件方式实现,即图2中的业务数据的异常检测装置。
在本申请实施例中,将回归模块(随机森林)和检测模块(单类支持向量机)结合起来进行异常检测,有效解决了大规模时序数据异常检测结果不准确的问题,对非技术性的曲线波动有较强的抗干扰的能力,对局部异常值也不敏感,并且不需要任何数据分布的假设,可移植性强,能用于大规模运维业务数据的监控,异常检测模型具有高准确率和高召回率能满足业务要求。
本申请实施例提供的业务数据的异常检测方法,除了适用于游戏业务外,适用于各种大盘业务的数据监控场景,例如,信息流内容服务、咨询平台业务、应用商店、即时通信客户端业务。且本申请实施例提供的异常检测模型不需要人工标注的信息,能够在无人值守的场景下,监控业务大盘,异常检测模型的准确率和召回率能够满足业务的要求。
下面继续说明本申请实施例提供的业务数据的异常检测装置255的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器250的业务数据的异常检测装置255中的软件模块可以包括:
提取模块2551,用于接收业务的时间序列数据,提取所述时间序列数据的时序特征;回归模块2552,用于基于所述时序特征,对所述时间序列数据进行回归预测处理,得到所述时间序列数据的下一个时间节点的业务数据;检测模块2553,用于基于所述下一个时间节点的业务数据和所述时间序列数据确定残差序列;基于所述残差序列进行异常检测处理,确定所述时间序列数据的异常概率;确定模块2554,用于基于所述异常概率与异常阈值的比较结果,确定表征所述时间序列数据是否异常的检测结果。
在一些实施例中,所述回归预测处理是通过集成树模型实现的,所述集成树模型包括多个决策树模型;所述回归模块2552,还用于通过每个决策树模型对所述时间序列数据进行预测处理,得到多个所述时间序列数据的下一个时间节点的预测数据;将所述多个决策树模型的预测数据的均值,作为所述时间序列数据的下一个时间节点的业务数据。
在一些实施例中,所述回归模块2552,还用于通过以下方式获取所述集成树模型:将所述业务数据的历史时间序列数据作为训练样本;对所述训练样本进行多次采样,得到多个训练集;其中,所述训练集与决策树模型一一对应;按照以下方式生成与每个所述训练集对应的决策树模型:将所述训练集中的训练样本的候选属性作为决策树模型的根节点;将信息增益最大的候选属性作为所述根节点的下一个层次的分裂节点,基于所述分裂节点继续进行分裂,当分裂完成时,将所述根节点以及得到的所述分裂节点组合为决策树模型;将根据每个所述训练集分别生成的决策树模型组合为所述集成树模型。
在一些实施例中,所述检测模块2553,还用于将所述下一个时间节点的业务数据和所述时间序列数据中对应的业务数据的差值确定为残差;将所述残差和所述下一个时间节点的业务数据的比值确定为相对残差;将所述时间序列数据中的业务数据、所述残差、所述相对残差的三维向量组合为所述残差序列。
在一些实施例中,所述检测模块2553,还用于确定所述残差序列中的业务数据到中心超平面的距离;将所述距离映射为所述时间序列数据的异常概率。
在一些实施例中,所述检测模块2553,还用于通过以下方式确定所述中心超平面:将所述业务数据映射到特征空间,其中,所述特征空间包括原点和所述业务数据;确定使所述业务数据与所述原点之间的距离最大的所述中心超平面。
在一些实施例中,所述确定模块2554,还用于当所述异常概率大于所述异常阈值时,确定所述时间序列数据是正常值;当所述异常概率小于或等于所述异常阈值时,确定所述时间序列数据是异常值。
在一些实施例中,所述提取模块2551,还用于将所述业务数据的前N个周期的同一时间节点的数据值,作为所述业务数据的同比值;其中,所述N为正整数;将所述业务数据的前N个时间节点的数据值,作为所述业务数据的环比值;将所述业务数据在统计周期内的连续时间节点的余弦函数,作为所述业务数据的傅里叶级数特征;将所述同比值、所述环比值、所述傅里叶级数特征中的至少之一作为所述时序特征。
在一些实施例中,当所述时间序列数据是异常值时,所述确定模块2554,还用于将所述时间序列数据的异常检测结果写入日志数据,所述异常检测结果用于表征所述时间序列数据是异常值;当所述日志数据满足告警条件时,对所述异常检测结果对应的时间序列数据进行告警,并执行对应的故障排除操作。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的业务数据的异常检测方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的业务数据的异常检测方法,例如,如图3A、3B、3C示出的业务数据的异常检测方法。
在一些实施例中,计算机可读存储介质可以是FRAN、RON、PRON、EPRON、EEPRON、闪存、磁表面存储器、光盘、或CD-RON等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTNL,Hyper TextNarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例接收业务的时间序列数据,提取时间序列数据的时序特征,基于时序特征,对时间序列数据进行回归预测处理,得到时间序列数据的下一个时间节点的业务数据;基于提取的时序特征回归预测出时间序列数据的下一个时间节点的业务数据,提升了预测的准确性。基于下一个时间节点的业务数据和时间序列数据确定残差序列;基于残差序列进行异常检测处理,确定时间序列数据的异常概率,基于异常概率与异常阈值的比较结果,确定表征时间序列数据是否异常的检测结果;基于预测的业务数据和时间序列数据的差异进行异常检测,保证了对波动较大的业务数据进行异常检测的准确性,提高了业务数据的召回率。提取业务的时间序列数据的同比值、环比值、傅立叶级数特征、真实值作为业务的时间序列数据的时序特征,保证后续基于提取的时序特征进行回归预测的准确性。基于集成树模型中的多个决策树模型共同得到时间序列数据的下一个时间节点的业务数据,多个决策树模型并行实现,预测效率较高;使用交叉验证的方式调整集成树模型的参数,平衡了预测效率与预测准确率,保证了集成树模型的预测准确率。将真实值、残差、相对残差的三维向量组合为残差序列,后续对残差序列进行异常检测得到的时间序列数据的异常概率,能有效应对由于干扰波动较大的业务数据的异常检测的应用场景。在更新时间达到时,对异常阈值进行更新,适应业务数据在不同应用场景时的变化,提升了对业务数据进行异常检测的准确率。将回归预测模型和异常检测模型结合起来进行异常检测,有效解决了大规模时序数据异常检测结果不准确的问题,对非技术性的曲线波动有较强的抗干扰的能力,对局部异常值也不敏感,并且不需要任何数据分布的假设,可移植性强,能用于大规模运维业务数据的监控,其高准确率和高召回率能满足业务要求。对检测出的异常值进行警告,提示用户业务数据的风险,且可以进行智能故障排除操作,保障业务的安全性。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (10)
1.一种业务数据的异常检测方法,其特征在于,所述方法包括:
接收业务的时间序列数据,提取所述时间序列数据的时序特征;
基于所述时序特征,对所述时间序列数据进行回归预测处理,得到所述时间序列数据的下一个时间节点的业务数据;
基于所述下一个时间节点的业务数据和所述时间序列数据确定残差序列;
基于所述残差序列进行异常检测处理,确定所述时间序列数据的异常概率;
基于所述异常概率与异常阈值的比较结果,确定表征所述时间序列数据是否异常的检测结果。
2.根据权利要求1所述的方法,其特征在于,所述回归预测处理是通过集成树模型实现的,所述集成树模型包括多个决策树模型;
所述基于所述时序特征,对所述时间序列数据进行回归预测处理,得到所述时间序列数据的下一个时间节点的业务数据,包括:
通过每个决策树模型对所述时间序列数据进行预测处理,得到多个所述时间序列数据的下一个时间节点的预测数据;
将所述多个决策树模型的预测数据的均值,作为所述时间序列数据的下一个时间节点的业务数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
通过以下方式获取所述集成树模型:
将所述业务数据的历史时间序列数据作为训练样本;
对所述训练样本进行多次采样,得到多个训练集;其中,所述训练集与决策树模型一一对应;
按照以下方式生成与每个所述训练集对应的决策树模型:
将所述训练集中的训练样本的候选属性作为决策树模型的根节点;
将信息增益最大的候选属性作为所述根节点的下一个层次的分裂节点,基于所述分裂节点继续进行分裂,当分裂完成时,将所述根节点以及得到的所述分裂节点组合为决策树模型;
将根据每个所述训练集分别生成的决策树模型组合为所述集成树模型。
4.根据权利要求1所述的方法,其特征在于,所述基于所述下一个时间节点的业务数据和所述时间序列数据确定残差序列,包括:
将所述下一个时间节点的业务数据和所述时间序列数据中对应的业务数据的差值确定为残差;
将所述残差和所述下一个时间节点的业务数据的比值确定为相对残差;
将所述时间序列数据中的业务数据、所述残差、所述相对残差的三维向量组合为所述残差序列。
5.根据权利要求1所述的方法,其特征在于,所述基于所述残差序列进行异常检测处理,确定所述时间序列数据的异常概率,包括:
确定所述残差序列中的业务数据到中心超平面的距离;
将所述距离映射为所述时间序列数据的异常概率。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
通过以下方式确定所述中心超平面:
将所述业务数据映射到特征空间,其中,所述特征空间包括原点和所述业务数据;
确定使所述业务数据与所述原点之间的距离最大的所述中心超平面。
7.根据权利要求1所述的方法,其特征在于,所述基于所述异常概率与异常阈值的比较结果,确定表征所述时间序列数据是否异常的检测结果,包括:
当所述异常概率大于所述异常阈值时,确定所述时间序列数据是正常值;
当所述异常概率小于或等于所述异常阈值时,确定所述时间序列数据是异常值。
8.根据权利要求1所述的方法,其特征在于,所述提取所述时间序列数据的时序特征,包括:
将所述业务数据的前N个周期的同一时间节点的数据值,作为所述业务数据的同比值;其中,所述N为正整数;
将所述业务数据的前N个时间节点的数据值,作为所述业务数据的环比值;
将所述业务数据在统计周期内的连续时间节点的余弦函数,作为所述业务数据的傅里叶级数特征;
将所述同比值、所述环比值、所述傅里叶级数特征中的至少之一作为所述时序特征。
9.根据权利要求1所述的方法,其特征在于,当所述时间序列数据是异常值时,所述方法还包括:
将所述时间序列数据的异常检测结果写入日志数据,所述异常检测结果用于表征所述时间序列数据是异常值;
当所述日志数据满足告警条件时,对所述异常检测结果对应的时间序列数据进行告警,并执行对应的故障排除操作。
10.一种业务数据的异常检测装置,其特征在于,所述装置包括:
提取模块,用于接收业务的时间序列数据,提取所述时间序列数据的时序特征;
回归模块,用于基于所述时序特征,对所述时间序列数据进行回归预测处理,得到所述时间序列数据的下一个时间节点的业务数据;
检测模块,用于基于所述下一个时间节点的业务数据和所述时间序列数据确定残差序列;基于所述残差序列进行异常检测处理,确定所述时间序列数据的异常概率;
确定模块,用于基于所述异常概率与异常阈值的比较结果,确定表征所述时间序列数据是否异常的检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110376237.XA CN112800116B (zh) | 2021-04-08 | 2021-04-08 | 一种业务数据的异常检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110376237.XA CN112800116B (zh) | 2021-04-08 | 2021-04-08 | 一种业务数据的异常检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112800116A true CN112800116A (zh) | 2021-05-14 |
CN112800116B CN112800116B (zh) | 2021-07-09 |
Family
ID=75816522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110376237.XA Active CN112800116B (zh) | 2021-04-08 | 2021-04-08 | 一种业务数据的异常检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112800116B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113393149A (zh) * | 2021-06-29 | 2021-09-14 | 华南理工大学 | 城市民宿选址优化方法、系统、计算机设备及存储介质 |
CN113420654A (zh) * | 2021-06-22 | 2021-09-21 | 国网北京市电力公司 | 变电站状态的处理方法、装置以及计算机可读存储介质 |
CN113805191A (zh) * | 2021-09-16 | 2021-12-17 | 梁平 | 一种激光雷达防多机串扰方法、装置及存储介质 |
CN114580982A (zh) * | 2022-05-07 | 2022-06-03 | 昆仑智汇数据科技(北京)有限公司 | 一种工业设备的数据质量的评估方法、装置及设备 |
CN114666127A (zh) * | 2022-03-22 | 2022-06-24 | 国网河南省电力公司信息通信公司 | 一种基于区块链的异常流量检测方法 |
CN114726749A (zh) * | 2022-03-02 | 2022-07-08 | 阿里巴巴(中国)有限公司 | 数据异常检测模型获取方法、装置、设备、介质及产品 |
CN115168159A (zh) * | 2022-09-06 | 2022-10-11 | 北京达佳互联信息技术有限公司 | 异常检测方法、装置、电子设备及存储介质 |
CN116306958A (zh) * | 2022-09-13 | 2023-06-23 | 中债金科信息技术有限公司 | 违约风险预测模型训练方法、违约风险预测方法及设备 |
CN117056663A (zh) * | 2023-10-13 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013003929A (ja) * | 2011-06-19 | 2013-01-07 | Masafumi Hagiwara | 異常事象検知ルール自動抽出方法、異常事象検知ルール自動抽出装置 |
CN106953766A (zh) * | 2017-03-31 | 2017-07-14 | 北京奇艺世纪科技有限公司 | 一种报警方法及装置 |
CN108776694A (zh) * | 2018-06-05 | 2018-11-09 | 哈尔滨工业大学 | 一种时间序列异常点检测方法及装置 |
CN110245047A (zh) * | 2019-05-29 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 时间序列异常检测方法、装置及设备 |
CN110909046A (zh) * | 2019-12-02 | 2020-03-24 | 上海舵敏智能科技有限公司 | 时间序列的异常检测方法及装置、电子设备、存储介质 |
CN111625516A (zh) * | 2020-01-10 | 2020-09-04 | 京东数字科技控股有限公司 | 检测数据状态的方法、装置、计算机设备和存储介质 |
-
2021
- 2021-04-08 CN CN202110376237.XA patent/CN112800116B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013003929A (ja) * | 2011-06-19 | 2013-01-07 | Masafumi Hagiwara | 異常事象検知ルール自動抽出方法、異常事象検知ルール自動抽出装置 |
CN106953766A (zh) * | 2017-03-31 | 2017-07-14 | 北京奇艺世纪科技有限公司 | 一种报警方法及装置 |
CN108776694A (zh) * | 2018-06-05 | 2018-11-09 | 哈尔滨工业大学 | 一种时间序列异常点检测方法及装置 |
CN110245047A (zh) * | 2019-05-29 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 时间序列异常检测方法、装置及设备 |
CN110909046A (zh) * | 2019-12-02 | 2020-03-24 | 上海舵敏智能科技有限公司 | 时间序列的异常检测方法及装置、电子设备、存储介质 |
CN111625516A (zh) * | 2020-01-10 | 2020-09-04 | 京东数字科技控股有限公司 | 检测数据状态的方法、装置、计算机设备和存储介质 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113420654A (zh) * | 2021-06-22 | 2021-09-21 | 国网北京市电力公司 | 变电站状态的处理方法、装置以及计算机可读存储介质 |
CN113393149A (zh) * | 2021-06-29 | 2021-09-14 | 华南理工大学 | 城市民宿选址优化方法、系统、计算机设备及存储介质 |
CN113805191A (zh) * | 2021-09-16 | 2021-12-17 | 梁平 | 一种激光雷达防多机串扰方法、装置及存储介质 |
CN114726749A (zh) * | 2022-03-02 | 2022-07-08 | 阿里巴巴(中国)有限公司 | 数据异常检测模型获取方法、装置、设备、介质及产品 |
CN114726749B (zh) * | 2022-03-02 | 2023-10-31 | 阿里巴巴(中国)有限公司 | 数据异常检测模型获取方法、装置、设备及介质 |
CN114666127A (zh) * | 2022-03-22 | 2022-06-24 | 国网河南省电力公司信息通信公司 | 一种基于区块链的异常流量检测方法 |
CN114666127B (zh) * | 2022-03-22 | 2023-05-23 | 国网河南省电力公司信息通信公司 | 一种基于区块链的异常流量检测方法 |
CN114580982A (zh) * | 2022-05-07 | 2022-06-03 | 昆仑智汇数据科技(北京)有限公司 | 一种工业设备的数据质量的评估方法、装置及设备 |
CN115168159A (zh) * | 2022-09-06 | 2022-10-11 | 北京达佳互联信息技术有限公司 | 异常检测方法、装置、电子设备及存储介质 |
CN116306958A (zh) * | 2022-09-13 | 2023-06-23 | 中债金科信息技术有限公司 | 违约风险预测模型训练方法、违约风险预测方法及设备 |
CN117056663A (zh) * | 2023-10-13 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN117056663B (zh) * | 2023-10-13 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112800116B (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112800116B (zh) | 一种业务数据的异常检测方法及装置 | |
US10552727B2 (en) | Methods and systems for data traffic analysis | |
CN111177714B (zh) | 异常行为检测方法、装置、计算机设备和存储介质 | |
CN112148768A (zh) | 一种指标时间序列异常检测方法、系统及存储介质 | |
US11606393B2 (en) | Node classification in dynamic networks using graph factorization | |
CN113822421A (zh) | 基于神经网络的异常定位方法、系统、设备及存储介质 | |
KR20190143758A (ko) | 심층 신경망을 이용한 사이버 위협 탐지 방법 및 장치 | |
CN111310139A (zh) | 行为数据识别方法、装置及存储介质 | |
Yassin et al. | Signature-Based Anomaly intrusion detection using Integrated data mining classifiers | |
CN117094184B (zh) | 基于内网平台的风险预测模型的建模方法、系统及介质 | |
CN113282920A (zh) | 日志异常检测方法、装置、计算机设备和存储介质 | |
Thi et al. | One-class collective anomaly detection based on long short-term memory recurrent neural networks | |
CN116187423A (zh) | 一种基于无监督算法的行为序列异常检测方法及系统 | |
EP3454259A1 (en) | Autonomous agent system | |
US20210133080A1 (en) | Interpretable prediction using extracted temporal and transition rules | |
US11288155B2 (en) | Identifying anomalies in data during data outage | |
CN115309510A (zh) | 虚拟机运行状态的检测方法及装置、设备、存储介质 | |
CN113657536A (zh) | 基于人工智能的对象分类方法、装置 | |
CN115858606A (zh) | 时序数据的异常检测方法、装置、设备及存储介质 | |
CN109978038B (zh) | 一种集群异常判定方法及装置 | |
CN114397842A (zh) | 电力监控网络安全智能巡检加固方法 | |
CN114039837A (zh) | 告警数据处理方法、装置、系统、设备和存储介质 | |
US20210089652A1 (en) | Unsupervised graph similarity learning based on stochastic subgraph sampling | |
CN111309706A (zh) | 模型训练方法、装置、可读存储介质及电子设备 | |
Shekar et al. | Hidden Decision Tree Based Pattern Evaluation Using Regression Models for Health Diagnosis |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40043917 Country of ref document: HK |