CN115357764A - 一种异常数据检测方法及装置 - Google Patents
一种异常数据检测方法及装置 Download PDFInfo
- Publication number
- CN115357764A CN115357764A CN202210992301.1A CN202210992301A CN115357764A CN 115357764 A CN115357764 A CN 115357764A CN 202210992301 A CN202210992301 A CN 202210992301A CN 115357764 A CN115357764 A CN 115357764A
- Authority
- CN
- China
- Prior art keywords
- data
- dimension
- abnormal
- target
- sample data
- 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.)
- Pending
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Complex Calculations (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明实施例涉及一种异常数据检测方法及装置。该方法包括:将W个分布在W个维度的待检测数据输入至各目标维度对应的各目标模型中;任一目标维度对应的目标模型是通过去除了强影响点数据后的样本数据得到的;针对任一目标模型,若确定W个待检测数据不满足目标模型,则将目标模型中包含的各维度确定为异常维度;针对任一异常维度,确定异常维度在各目标模型中被确定为异常维度的异常概率;根据异常概率确定异常维度对应的待检测数据是否为异常数据。不仅实现了检测出W个待检测数据中存在异常数据,还能够准确定位到这W个待检测数据中,哪个维度的数据为异常数据。从而实现了异常数据的自动化准确定位,无需人工再行查看。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种异常数据检测方法、装置、计算设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(FiKtech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
随着互联网金融行业的发展和计算机技术的日益完善,金融系统单位时间内产生的不同维度的数据量的规模越来越大,且这些维度的数量级可达成百上千个。在这些数据中不免会存在异常数据,异常数据产生的原因有很多,例如由于人工录入的失误、计算机处理计算的错误等。异常数据的存在对后续统计处理等步骤产生的影响不可小觑,因此需要将异常数据检测出来。
目前采用的异常数据检测方法检测精度较低,在检测出异常数据后依然需要人工进行再次检查确认,花费的人力成本和时间成本较高。
综上,提供一种异常数据检测方法,用以提高异常数据检测的精度。
发明内容
本发明实施例提供一种异常数据检测方法,用以提高异常数据检测的精度。
第一方面,本发明实施例提供一种异常数据检测方法,包括:
将W个分布在W个维度的待检测数据输入至各目标维度对应的各目标模型中;所述任一目标维度对应的目标模型是通过去除了强影响点数据后的样本数据得到的;所述强影响点数据是指对所述目标模型的准确性的影响度不满足预设条件的样本数据;
针对任一目标模型,若确定W个待检测数据不满足所述目标模型,则将所述目标模型中包含的各维度确定为异常维度;
针对任一异常维度,确定所述异常维度在各目标模型中被确定为异常维度的异常概率;
根据所述异常概率确定所述异常维度对应的待检测数据是否为异常数据。
通过将W个分布在W个维度的待检测数据输入至各目标维度对应的各目标模型中,确定异常维度。进而确定异常维度在各目标模型中被确定为异常维度的异常概率,根据异常概率确定所述异常维度对应的待检测数据是否为异常数据。不仅实现了检测出W个待检测数据中存在异常数据,还能够准确定位到这W个待检测数据中,哪个维度的数据为异常数据。从而实现了异常数据的自动化准确定位,无需人工再行查看。
在一些实施例中,将所述目标模型中包含的各维度确定为异常维度之后,还包括:
针对任一异常维度,获取所述异常维度对应的各历史数据;
通过将所述异常维度对应的待检测数据和所述各历史数据进行聚类,确定所述异常维度对应的待检测数据的异常得分;
根据所述异常概率确定所述异常维度对应的待检测数据是否为异常数据,包括:
根据所述异常概率和所述异常得分确定所述异常维度对应的待检测数据是否为异常数据。
通过获取异常维度的历史数据,将异常维度对应的待检测数据和各历史数据进行聚类,得到异常维度对应的待检测数据的异常得分,结合异常概率和异常得分确定该异常维度对应的待检测数据是否为异常数据。两种判断方法结合,既考虑到了该异常维度被确定为异常维度的概率,又考虑到了该异常维度的历史上的数据的情况,增加了确定异常数据的准确性。
在一些实施例中,通过将所述异常维度对应的待检测数据和所述各历史数据进行聚类,确定所述异常维度对应的待检测数据的异常得分,包括:
对所述异常维度对应的待检测数据和所述各历史数据构造孤立二叉树;
计算在所述孤立二叉树中所述异常维度对应的待检测数据的异常得分。
通过将异常维度对应的待检测数据和各历史数据构造孤立二叉树,提高了确定异常数据的准确性。
在一些实施例中,通过如下方式确定所述任一目标维度对应的目标模型,包括:
获取分布在M个维度的初始n组样本数据;其中,每一组样本数据具有M个维度;
针对M个维度中的目标维度,根据所述初始n组样本数据的相关系数从M个维度中选取与所述目标维度存在相关关系的K个自变量维度;所述目标维度为所述M个维度中的任一维度;
根据分布在所述目标维度和所述K个自变量维度的目标n组样本数据确定所述目标模型;所述目标模型用于表征所述目标维度和所述K个自变量维度之间满足的关系。
初始n组样本数据分布在M个维度中,但这M个维度不一定全部存在相关关系。因此需要将存在相关关系的维度选择出来。针对任一目标维度,根据所述初始n组样本数据的相关系数进行选择,得到该目标维度对应的具有相关关系的K个自变量维度。如此,每个维度都可作为目标维度,每个目标维度及其自变量维度都可对应确定一个目标模型。考虑到了更加丰富的场景和情况,增加了确定的目标模型的准确性。
在一些实施例中,根据分布在所述目标维度和所述K个自变量维度的目标n组样本数据确定所述目标模型,包括:
获取分布在所述目标维度和所述K个自变量维度的目标n组样本数据;
根据所述目标n组样本数据和除候选组样本数据以外的n-1组样本数据确定所述候选组样本数据对所述目标模型的准确性的影响度;所述候选组样本数据为所述目标n组样本数据中的任一组样本数据;
根据n个候选组样本数据的影响度,从所述目标n组样本数据中去除w组强影响点数据;1≤w<n;
根据保留的样本数据确定所述目标模型。
根据所述目标n组样本数据和除候选组样本数据以外的n-1组样本数据确定所述候选组样本数据对目标模型的准确性的影响度,根据影响度从所述目标n组样本数据中去除w组强影响点数据,根据保留的样本数据确定所述目标模型。如此,将对目标模型的准确性影响较大的样本数据剔除,尽量减少这些样本数据对最终得到的目标模型的影响,提高了目标模型的准确性。基于准确性更高的目标模型对待检测数据进行异常数据检测,提高了检测异常数据的准确性。
在一些实施例中,根据所述目标n组样本数据和除候选组样本数据以外的n-1组样本数据确定所述候选组样本数据对所述目标模型的准确性的影响度,包括:
对所述目标n组样本数据进行拟合,得到第一拟合模型的第一拟合系数;
对除所述候选组样本数据以外的n-1组样本数据进行拟合,得到第二拟合模型的第二拟合系数;
根据所述第一拟合系数、所述第二拟合系数、所述目标模型中包含的自变量维度的数量和所述第一拟合模型的均方误差确定所述影响度。
根据包括候选组样本数据进行拟合得到的第一拟合系数和不包括候选组样本数据进行拟合得到的第二拟合系数,确定候选组样本数据对目标模型的准确性的影响度,提高了确定影响度的准确性。从而就可得到更加准确的目标模型。
在一些实施例中,根据n个候选组样本数据的影响度,从所述目标n组样本数据中去除w组强影响点数据,包括:
针对任一候选组样本数据,若所述候选组样本数据对所述目标模型的准确性的影响度大于(p,n-p-1)自由度的F分布的第一个四分之一位,则确定所述候选组样本数据为强影响点数据;其中,p为所述目标模型中包含的自变量维度的数量;
从所述目标n组样本数据中去除所述强影响点数据。
采用(p,n-p-1)自由度的F分布的第一个四分之一位来确定影响度的大小,更加科学合理,提高了确定强影响点数据的准确性。从而就可得到更加准确的目标模型。
在一些实施例中,根据保留的样本数据确定所述目标模型之后,还包括:
将测试数据输入所述目标模型中进行测试;得到所述目标模型的平均绝对误差率;
确定所述目标模型对保留的样本数据进行拟合的拟合度参数和所述平均绝对误差率分别满足预设阈值。
不会直接将各目标维度对应的目标模型均用于检测异常数据,而是在各目标模型中再进行一次筛选。通过测试数据输入至任一目标模型中进行测试,得到目标模型进行测试的平均绝对误差率。若目标模型的拟合度参数和所述平均绝对误差率分别满足预设阈值,则说明该目标模型拟合的准确性较高,可用于后续的异常数据检测。提高了异常数据检测的准确性。
第二方面,本发明实施例还提供一种异常数据检测装置,包括:
处理单元,用于:
将W个分布在W个维度的待检测数据输入至各目标维度对应的各目标模型中;所述任一目标维度对应的目标模型是通过去除了强影响点数据后的样本数据得到的;所述强影响点数据是指对所述目标模型的准确性的影响度不满足预设条件的样本数据;
针对任一目标模型,若确定W个待检测数据不满足所述目标模型,则将所述目标模型中包含的各维度确定为异常维度;
针对任一异常维度,确定所述异常维度在各目标模型中被确定为异常维度的异常概率;
根据所述异常概率确定所述异常维度对应的待检测数据是否为异常数据。
在一些实施例中,所述处理单元还用于:
针对任一异常维度,获取所述异常维度对应的各历史数据;
通过将所述异常维度对应的待检测数据和所述各历史数据进行聚类,确定所述异常维度对应的待检测数据的异常得分;
所述处理单元具体用于:
根据所述异常概率和所述异常得分确定所述异常维度对应的待检测数据是否为异常数据。
在一些实施例中,所述处理单元具体用于:
对所述异常维度对应的待检测数据和所述各历史数据构造孤立二叉树;
计算在所述孤立二叉树中所述异常维度对应的待检测数据的异常得分。
在一些实施例中,所述处理单元具体用于:
获取分布在M个维度的初始n组样本数据;其中,每一组样本数据具有M个维度;
针对M个维度中的目标维度,根据所述初始n组样本数据的相关系数从M个维度中选取与所述目标维度存在相关关系的K个自变量维度;所述目标维度为所述M个维度中的任一维度;
根据分布在所述目标维度和所述K个自变量维度的目标n组样本数据确定所述目标模型;所述目标模型用于表征所述目标维度和所述K个自变量维度之间满足的关系。
在一些实施例中,所述处理单元具体用于:
获取分布在所述目标维度和所述K个自变量维度的目标n组样本数据;
根据所述目标n组样本数据和除候选组样本数据以外的n-1组样本数据确定所述候选组样本数据对所述目标模型的准确性的影响度;所述候选组样本数据为所述目标n组样本数据中的任一组样本数据;
根据n个候选组样本数据的影响度,从所述目标n组样本数据中去除w组强影响点数据;1≤w<n;
根据保留的样本数据确定所述目标模型。
在一些实施例中,所述处理单元具体用于:
对所述目标n组样本数据进行拟合,得到第一拟合模型的第一拟合系数;
对除所述候选组样本数据以外的n-1组样本数据进行拟合,得到第二拟合模型的第二拟合系数;
根据所述第一拟合系数、所述第二拟合系数、所述目标模型中包含的自变量维度的数量和所述第一拟合模型的均方误差确定所述影响度。
在一些实施例中,所述处理单元具体用于:
针对任一候选组样本数据,若所述候选组样本数据对所述目标模型的准确性的影响度大于(p,n-p-1)自由度的F分布的第一个四分之一位,则确定所述候选组样本数据为强影响点数据;其中,p为所述目标模型中包含的自变量维度的数量;
从所述目标n组样本数据中去除所述强影响点数据。
在一些实施例中,所述处理单元还用于:
将测试数据输入所述目标模型中进行测试;得到所述目标模型的平均绝对误差率;
确定所述目标模型对保留的样本数据进行拟合的拟合度参数和所述平均绝对误差率分别满足预设阈值。
第三方面,本发明实施例还提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行上述任一方式所列的异常数据检测方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行上述任一方式所列的异常数据检测方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种根据n组样本数据确定目标模型的方法示意图;
图2为本发明实施例提供的一种确定目标模型方法的流程示意图;
图3为本发明实施例提供的一种采用最小二乘法进行拟合得到的拟合直线的示意图;
图4为本发明实施例提供的一种详细的确定目标模型的示意图;
图5为本发明实施例提供的一种可能的异常数据检测方法的示意图;
图6为本发明实施例提供的一种构造的孤立二叉树的示意图;
图7为本发明实施例提供的一种异常数据检测装置的结构示意图;
图8为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(UKless otherwise iKdicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
为了更好的解释本申请,先对本申请涉及的技术或名词解释如下。
1、多元线性回归:在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。因此多元线性回归比一元线性回归的实用意义更大。
2、最小二乘法(Ordinary Least Squares,OLS):是一种数学优化建模方法。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便的求得未知的数据,并使得求得的数据与实际数据之间误差的平方和为最小。
3、自由度:是指当以样本的统计量来估计总体的参数时,样本中独立或能自由变化的数据的个数,称为该统计量的自由度。一般来说,自由度等于独立变量数减掉其衍生量数;举例来说,方差的定义是样本减平均值(一个由样本决定的衍生量)的平方之和,因此对N个随机样本而言,其自由度为N-1。
4、决策树:是一种预测模型,代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表某个可能的属性值,而每个叶节点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。数据挖掘中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来做预测。
5、强影响点:指对多重线性回归模型参数估计有很强影响的数据点。由于多重线性回归采用最小二乘法进行参数估计,此时对所有的记录均一视同仁。当数据库中存在远离多维空间数据主体的记录时,它们将导致拟合的模型偏向该数据点。对于强影响点的识别是进行多重线性回归时应该注意的另一个重要问题。强影响点是对参数估计的稳定性及真实性具有很大影响的数据,对于回归模型数据集中的强影响点是指那些对统计量的取值有非常大的影响力和冲击力的点。
经过研究发现,大部分金融场景下,不同维度的数据之间存在着线性相关的关系,几乎很少存在非线性的关系。因此基于这样的特性,可以设计一种方法,通过对样本数据的分析自动化地深入挖掘不同维度的数据之间符合的模型,然后用这种模型来对待检测数据进行异常数据的检测,从而提升数据的整体质量。
为了保证异常数据检测的准确性,确定出能够反映不同维度的数据之间的符合真实规律的且具备业务解释性的模型就成为异常重要的一环。因此如何提高确定不同维度的数据之间的模型的准确性成为了我们的研究重点。
基于此,本发明实施例提供如下根据n组样本数据确定目标模型的方法,如图1所示,包括:
步骤101,获取分布在M个维度的初始n组样本数据;其中,每一组样本数据具有M个维度。
步骤102,针对M个维度中的目标维度,根据所述初始n组样本数据的相关系数从M个维度中选取与所述目标维度存在相关关系的K个自变量维度;所述目标维度为所述M个维度中的任一维度。
步骤103,根据分布在所述目标维度和所述K个自变量维度的目标n组样本数据确定所述目标模型;所述目标模型用于表征所述目标维度和所述K个自变量维度之间满足的关系。
在步骤101中,获取初始n组样本数据,每一组样本数据分布在M个维度。
本发明实施例对获取样本数据的途径和方法不作限制,可以从数据库中自动读取,或者由人工导入样本数据。例如,通过pandas库读取excel格式训练数据文本或者其他方式读取数据库。
可选地,可以对读取的样本数据进行初步的预处理,特别对于样本数据的缺失值进行默认填充,根据数据特性可以选择0值填充或者中位数填充等方式。还可以对数据进行清洗以满足算法训练要求的格式。
表1示出了可能的读取到的样本数据。
表1
在表1中,包含了日期列,和5个维度列,5个维度分别为维度A:存放同业款项;维度B:境内商业银行;维度C:境内其他银行业金融机构;维度D:境内其他金融机构;维度E:应收利息。表1包含了61组样本数据,分别为从2016年1月到2021年1月的样本数据。
各维度中存在一定的勾稽关系,本发明实施例的目标为在众多样本数据中自动挖掘出各维度间存在的等式或约等式关系,并通过后续算法尽量提升关系等式的准确性。从而针对任一目标维度,得到一个对应的目标模型,以基于目标模型实现异常数据检测的目的。
一种可能的实施方式,获得的样本数据均作为初始n组样本数据进行后续的目标模型的确定。
另一种可能的实施方式,将获得的样本数据划分为训练集和测试集。将训练集作为初始n组样本数据进行后续的目标模型的确定,将测试集用于对得到的目标模型进行测试和验证,以评估目标模型的准确性。
若将样本数据划分为训练集和测试集,则可以按照一定比例对样本数据进行划分。本发明实施例对划分比例不作限制,例如9:1、8:2等等。在划分训练集和测试集时,可以按照一定规则对样本数据进行排序后划分,也可以不对样本数据进行排序后划分,对此不作限制,因为对样本数据的排序与否均不影响确定的目标模型的准确性。
下面以一个详细的例子对获得的样本数据划分为训练集和测试集进行介绍。
将样本数据按日期进行排序,并按照训练集:测试集=9:1对样本数据进行划分,前90%的样本数据作为训练集,后10%的样本数据作为测试集。在表1的例子中,共采集61组样本数据,将前55组样本数据(即2016年1月到2020年7月)作为训练集,用于确定目标模型;最后6组样本数据(即2020年8月到2021年1月)作为测试集,用于对目标模型进行验证和测试,以评估目标模型的准确性。
一种可能的情况,若获取的样本数据的数据量较小,则可以采用K折交叉验证方式进行样本数据的切割。例如获取的样本数据仅有10组,将样本数量平均折成K份(如5份),每份有2组数据,那么在目标模型确定阶段可以随机的抽取其中4份(8组)作为训练集,其中1份(2组)作为测试集,采用训练集得到目标模型的回归系数。重复多次随机抽取动作生成多个回归系数,将多个回归系数进行加权平均得到最终的回归系数。如此,弥补了样本数据少导致训练不充分的问题。
下面以前55组样本数据(即2016年1月到2020年7月)作为训练集,来确定目标模型为例,介绍确定目标模型的方法。
前55组样本数据作为训练集,即,作为分布在M个维度的初始n组样本数据。在上述例子中,初始n组样本数据分布在5个维度。
在步骤102中,由于5个维度的样本数据之间不一定全都具有线性回归关系,可能只有其中的几个维度之间具有线性回归关系,因此需要针对M个维度中的每个目标维度,确定与该目标维度存在相关关系的自变量维度。
例如,针对表1的5个维度,令每个维度为目标维度,为该目标维度选择对应的自变量维度。之后将目标维度的各数据和自变量维度的各数据代入线性回归方程。线性回归方程为y=θ1x1+θ2x2+θ3x3+...+θnxn。其中y为目标维度对应的各数据,x1、x2……为各自变量维度对应的各数据。
以将维度A作为目标维度为例,介绍为目标维度选择自变量维度的方法。在本例中,维度A为目标维度,维度B、维度C、维度D和维度E为候选自变量维度,接下来要从这些候选自变量维度中选取出维度A对应的自变量维度。
首先构建初始n组样本数据矩阵(55×5),包含5个维度55组数据。将目标维度(维度A)的一列移动到矩阵的最后一列,根据初始n组样本数据矩阵计算出相关系数矩阵r,相关系数矩阵r通过协方差公式计算得出。
具体计算公式如下:
其中Xi为任一候选自变量维度每月的数据值,为该候选自变量维度55个月的数据的平均值;Yi为目标维度每月的数据值,为目标维度55个月的数据的平均值。将上述数据代入公式1,即可得目标维度与任一候选自变量维度的相关系数。例如,Yi为维度A在55个月中每个月的数据值,为维度A在55个月的数据的平均值;X1为维度B在55个月中每个月的数据值,为维度B在55个月的数据的平均值,将上述数据代入公式1,可得维度A和维度B的相关系数。采用同样的方式,可得,维度A和维度C的相关系数,维度A和维度D的相关系数,维度A和维度E的相关系数。此处不再一一列举。
例如,各相关系数形成了如下相关系数矩阵r。
[[1. -0.10800406 0.610583 0.4473144 0.9976391]
[-0.10800406 1. -0.11538687 -0.07851993 -0.07923952]
[0.610583 -0.11538687 1. 0.51206121 0.63029953]
[0.4473144 -0.07851993 0.51206121 1. 0.46870661]
[0.9976391 -0.07923952 0.63029953 0.46870661 1.]]
最后一列为目标维度列,即维度A,根据最后一列可知,维度A和维度B的相关系数为0.9976391;维度A和维度C的相关系数为-0.07923952,维度A和维度D的相关系数为0.63029953,维度A和维度E的相关系数为0.46870661。相关系数的绝对值越接近1表示两者越相关。
然后基于相关系数矩阵r计算每个候选自变量维度的方差贡献值。方差贡献值的公式如下。
其中,columns为矩阵r的总列数,在本例中,columns=5。r(i,i)代表相关系数矩阵中第i行第i列的数值。例如,r(1,5)2/r(1,1)=0.99763912=0.99528377。即,维度B对以维度A为目标维度得到的目标模型的方差贡献值为0.99528377。
最终得到的维度B、维度C、维度D和维度E对以维度A为目标维度得到的目标模型的方差贡献值的矩阵为[0.99528377 0.0062789 0.3972775 0.21968589],方差贡献值越大表示对以维度A为目标维度得到的目标模型越有益。
通过公式3计算最大方差贡献值对应F分布的F值。最大方差贡献值为维度B对应的方差贡献值。
其中,nos就是n,in为候选自变量维度的数量。在本例中,n=55,in=4。
代入公式计算得出维度B的F值为11184.801222455637,对照F分布表将F值转化为分布概率p值为2.449050249153728e-63。在统计学中,一般p值<0.05,表明该自变量是显著的,可以引入到回归方程中。因此首先将维度B作为目标模型的自变量维度。
然后采用如下方式对相关系数矩阵r进行矩阵变换:
i:当前第几行;j:当前第几列;k:v中方差贡献值最大的因子下标,这里值是1;变换公式如下:
当i!=k并且j!=k时:r[i,j]的新值=r[k,j]/r[k,k];
当i!=k并且j!=k时:r[i,j]的新值=r[i,j]-r[i,k]*r[k,j]/r[k,k];
当i!=k并且j=k时:r[i,j]的新值=-r[i,k]/r[k,k];
其他情况r[i,j]的新值=1/r[k,k];
变换后的矩阵r为:
[[1. -0.10800406 0.610583 0.4473144 0.9976391]
[0.10800406 0.98833512 -0.04944142 -0.03020816 0.02850955]
[-0.610583 -0.04944142 0.6271884 0.23893864 0.02115805]
[-0.4473144 -0.03020816 0.23893864 0.79990983 0.02244828]
[-0.9976391 0.02850955 0.02115805 0.02244828 0.00471623]]
然后基于变换后的相关系数矩阵r重复上述计算最大方差贡献值的步骤,不断逐步迭代挑选新的自变量维度。最终当目标维度为维度A时,得到的自变量维度为维度B、维度C和维度D。
采用同样的方式,可得当目标维度为维度B时,得到的各自变量维度;目标维度为维度C时,得到的自变量维度;目标维度为维度D时,得到的各自变量维度。在此不再一一赘述。
值得注意的是,不同的目标维度对应的自变量维度的数量可能相同也可以能不同。例如,维度A为目标维度时,对应的自变量维度为3个,分别为维度B、维度C和维度D;维度B为目标维度时,对应的自变量维度为2个,分别为维度C和维度D;维度C为目标维度时,对应的自变量维度为1个,为维度D。
在步骤103中,针对任一目标维度而言,介绍确定该目标维度对应的目标模型的过程。
例如,针对目标维度为维度A,对应的自变量维度为维度B、维度C和维度D进行举例。
确定目标模型的过程如图2所示,包括:
步骤201,获取分布在所述目标维度和所述K个自变量维度的目标n组样本数据。
步骤202,根据所述目标n组样本数据和除候选组样本数据以外的n-1组样本数据确定所述候选组样本数据对所述目标模型的准确性的影响度;所述候选组样本数据为所述目标n组样本数据中的任一组样本数据。
步骤203,根据n个候选组样本数据的影响度,从所述目标n组样本数据中去除w组强影响点数据;1≤w<n。
步骤204,根据保留的样本数据确定所述目标模型。
在步骤201中,在初始n组样本数据中确定目标n组样本数据。示例性地,当目标维度为维度A时,对应的自变量维度为维度B、维度C和维度D,K=3。因此确定的目标n组样本数据为,分布在维度A、维度B、维度C和维度D共4个维度的55组样本数据。
下面介绍若此时采用这55组样本数据进行拟合,得到的拟合结果。以采用最小二乘法进行拟合为例。
最小二乘法原理是通过计算回归系数尽量让各个数据点可以贴近拟合的直线,图3示出了一种可能的拟合情况示意图。在图3中,各点均匀地分布在拟合直线的周围,各点的实际值和在直线上对应的预测值的距离最小。
在本例中,目标方程为:y=θ1x1+θ2x2+θ3x3-。其中y为维度A,x1为维度B,x2为维度C,x3为维度D。我们要计算回归系数β,回归系数决定了直线的斜率,让直线可以尽量拟合55组样本数据,也就是要让所有点与方程直线之间的距离总和最小,距离总和可以用RSS残差平方和来定义。
β=(XTX)-1XTY 公式5
将分布在4个维度的55组样本数据代入上述公式,得到回归系数β。回归系数β也是个矩阵。根据55组样本数据拟合后得到的第一拟合模型为:A=1.0053×B+0.25×C+0.9828×D。该第一拟合模型的拟合度R2为0.999,各参数显著性水平参考值p-value较低,表示根据这55组样本数据进行拟合得到的第一拟合模型的拟合度较佳,该第一拟合模型可以较好地反映这55组样本数据之间的规则。
表面上根据拟合度和显著性水平来评估该第一拟合模型,可以得到该第一拟合模型是合理且较准确的结论。然而,根据业务经验和历史数据可知,维度A、维度B、维度C和维度D之间应该满足的关系是:A=1×B+1×C+1×D。由此可知,之前得到的第一拟合模型是不符合业务经验和历史数据的,不具有业务解释性。采用这样的第一拟合模型对待检测数据进行异常数据检测必然会出现检测准确性下降的问题。
进一步分析可知,55组样本数据中可能出现了异常数据,异常数据的存在导致了所得到的第一拟合模型是不符合业务经验和历史数据的。异常数据的出现原因有很多,例如,采集或者录入过程中出现差错,或者样本数据本身存在误差和异常。
下面通过杠杆率分析来验证上述猜想。
基于之前得到的第一拟合模型分析每组样本数据的杠杆率,杠杆率反映了每组样本数据对于第一拟合模型的回归系数的影响程度,对于多元线性回归可以通过OLS最小二乘法求解系数的标准方程推导得出杠杆率矩阵计算公式为:
H=X(XTX)-1XT 公式6
H矩阵反映了每组样本数据的实际观测值对于预测值的投影,相当于通过H矩阵可以将实际观测值转换成预测值。其中第i组样本数据的杠杆率即对应H矩阵对角线第i个元素的值。在上述示例中我们计算55组样本数据的杠杆率统计量如表2所示。
表2
可以发现,前两组样本数据对应的杠杆率值分别为0.365953和0.375185,远远大于2倍的杠杆率统计量的平均值,因此可以判断前两条样本数据是较为极端的数据。有这样极端数据的存在,得到的第一拟合模型不符合业务经验和历史数据的可能性极大。
但是采用杠杆率分析的方法将样本数据中的异常数据检测出来不够准确,不具有普适性。因此提供一种方法,用于确定目标n组样本数据中的强影响点数据,根据去除了强影响点数据后的样本数据确定目标维度和各自变量维度之间满足的关系,更加准确。详见步骤202-204。
在步骤202中,根据所述目标n组样本数据和除候选组样本数据以外的n-1组样本数据确定所述候选组样本数据对所述目标模型的准确性的影响度;所述候选组样本数据为所述目标n组样本数据中的任一组样本数据。
遍历目标n组样本数据中的每一组样本数据,计算剔除该组样本数据对目标模型的准确性的影响度。例如,将第1组样本数据作为候选组样本数据,根据55组样本数据拟合的第一拟合模型和除第1组样本数据以外的54组样本数据拟合的第二模型,确定第1组样本数据对目标模型的准确性的影响度;将第2组样本数据作为候选组样本数据,根据55组样本数据拟合的第一拟合模型和除第2组样本数据以外的54组样本数据拟合的第二模型,确定第2组样本数据对目标模型的准确性的影响度;将第3组样本数据作为候选组样本数据,根据55组样本数据拟合的第一拟合模型和除第3组样本数据以外的54组样本数据拟合的第二模型,确定第3组样本数据对目标模型的准确性的影响度……依次类推,得到了55组样本数据中,每组样本数据对目标模型的准确性的影响度。
具体计算任一候选组样本数据的影响度的方式如下:对所述目标n组样本数据进行拟合,得到第一拟合模型的第一拟合系数;对除所述候选组样本数据以外的n-1组样本数据进行拟合,得到第二拟合模型的第二拟合系数;根据所述第一拟合系数、所述第二拟合系数、所述目标模型中包含的自变量维度的数量和所述第一拟合模型的均方误差确定所述影响度。
具体公式如下:
其中,p为模型中包含的自变量维度的数量;s为第一拟合模型的均方误差;为根据目标n组样本数据拟合得到的回归系数矩阵,即,第一拟合系数;为剔除第i组样本数据后的回归系数矩阵,即第二拟合系数;为根据目标n组样本数据拟合得到的预测值;为剔除第i组样本数据后的预测值。这里的第i组样本数据就是候选组样本数据。在本例中,p=3。s通过如下公式计算:
其中n为样本数据的组数,n-p代表了第一拟合模型的自由度。在本例中,n=55。
影响度反映了每组样本数据对于目标模型的准确性的影响度,原则上一个正常的模型,每组样本数据对于模型的影响程度是相似的,影响程度越大说明该组样本数据异常的概率越大。表3示出了一种可能的每组样本数据的影响度。
表3
在表3中示意出了,剔除每一候选组样本数据后,得到的该候选组样本数据对应的影响度。
根据包括候选组样本数据进行拟合得到的第一拟合系数和不包括候选组样本数据进行拟合得到的第二拟合系数,确定候选组样本数据对目标模型的准确性的影响度,提高了确定影响度的准确性。从而就可得到更加准确的目标模型。
在步骤203中,根据n个候选组样本数据的影响度,从所述目标n组样本数据中去除w组强影响点数据;1≤w<n。
强影响点数据对目标模型的准确性影响较大,因此应当剔除,本发明实施例对确定强影响点数据的方式不作限制。
一种可能的方式,根据运维人员的经验和需求进行设置,若对目标模型的准确性要求较高,则将强影响点数据的阈值设置的较大;若对目标模型的准确性要求相对不太高,则将强影响点数据的阈值设置的稍低。例如,根据经验将阈值设置为4/n,n为目标n组样本数据的组数。在本例中,n=55。若任一候选组样本数据的影响度大于阈值,则将该候选组样本数据确定为强影响点数据,将其剔除。
另一种可能的方式,采用F分布来确定强影响点数据。具体来说,针对任一候选组样本数据,若所述候选组样本数据对所述目标模型的准确性的影响度大于(p,n-p-1)自由度的F分布的第一个四分之一位,则确定所述候选组样本数据为强影响点数据;其中,p为所述目标模型中包含的自变量维度的数量;从所述目标n组样本数据中去除所述强影响点数据。
举例来说,p=3,n=55,因此通过(3,51)自由度的F分布来确定强影响点数据。针对表3中的任一候选组样本数据对应的影响度,将其与(3,51)自由度的F分布的第一个四分之一位的数值进行比较,若大于该数值,则将其确定为强影响点数据。
采用(p,n-p-1)自由度的F分布的第一个四分之一位来确定影响度的大小,更加科学合理,提高了确定强影响点数据的准确性。从而就可得到更加准确的目标模型。
在确定了强影响点数据后,将强影响点数据去除。例如,采用本发明实施例提供的第一种方式确定强影响点数据,最终去除了第1组样本数据、第2组样本数据和第54组样本数据。经过核对发现,其中第1和第2组样本数据确实为异常样本,但是第54组样本数据为实际符合模型但数据波动较大的样本。尽管上述方法无法精确剔除仅存在异常的样本数据,有可能剔除少量无异常的样本如第54组样本数据,但剔除少量无异常样本并不会对目标模型造成实质性的影响。
在步骤204中,根据保留的样本数据确定所述目标模型。
例如,在经过步骤203中,去除了3组强影响点数据后,根据剩余的52组样本数据确定目标模型。确定的目标模型为:A=1×B+1×C+1×D+1.31e-10,其中1.31e-10为截距常量,可以忽略不计。
可以发现,在去除了强影响点数据后,得到的目标模型符合业务经验和历史数据,具备业务解释性。
以上介绍了针对目标维度为维度A时确定的目标模型的过程。当目标维度为维度B、维度C、维度D、维度E时,可分别按照步骤201-204的过程确定各自的目标模型。不同的目标模型中包含的维度可能不同。如此,针对5个维度确定了5个对应的目标模型。
初始n组样本数据分布在M个维度中,但这M个维度不一定全部存在相关关系。因此需要将存在相关关系的维度选择出来。针对任一目标维度,根据所述初始n组样本数据的相关系数进行选择,得到该目标维度对应的具有相关关系的K个自变量维度。如此,每个维度都可作为目标维度,每个目标维度及其自变量维度都可对应确定一个目标模型。考虑到了更加丰富的场景和情况,增加了确定的目标模型的准确性。
根据所述目标n组样本数据和除候选组样本数据以外的n-1组样本数据确定所述候选组样本数据对目标模型的准确性的影响度,根据影响度从所述目标n组样本数据中去除w组强影响点数据,根据保留的样本数据确定所述目标模型。如此,将对目标模型的准确性影响较大的样本数据剔除,尽量减少这些样本数据对最终得到的目标模型的影响,提高了目标模型的准确性。基于准确性更高的目标模型对待检测数据进行异常数据检测,提高了检测异常数据的准确性。
在一些实施例中,还会采用测试集中的样本数据对上述得到的各目标模型进行测试和验证。
例如,之前在步骤101中,将n组样本数据划分为训练集和测试集,训练集作为初始n组样本数据用于后续的目标模型的确定。测试集用于对目标模型进行测试和验证。或者,测试集的获取也可通过其他途径,例如,由运维人员提供的非常准确已经确定无异常数据的样本数据,也可作为测试集。
则在根据保留的样本数据确定所述目标模型之后,还包括:将测试数据输入所述目标模型中进行测试;得到所述目标模型的平均绝对误差率;确定所述目标模型对保留的样本数据进行拟合的拟合度参数和所述平均绝对误差率分别满足预设阈值。
举例来说,在步骤204之后,得到了5个维度对应的5个目标模型,还可以对应得到每个目标模型的拟合度参数,用以表征该目标模型的拟合情况的好坏。将测试集的6条测试数据输入至第1个目标模型,根据如下公式计算平均绝对误差率:
同样的方式可以得到各目标模型的平均绝对误差率。
一种可能的方式,根据各目标模型的平均绝对误差率和拟合度参数对各目标模型进行筛选。例如,筛选出其中的3个目标模型进行后续的对待检测数据检测异常数据。
另一种可能的方式,根据目标模型的平均绝对误差率和拟合度参数对各目标模型进行打分,确定出符合第一预设条件的绝对等式和符合第二预设条件的约等式,在后续采用各目标模型进行异常数据检测时,可以为绝对等式的评分和约等式的评分赋予不同的权重。例如,将平均绝对误差率小于0.01且拟合度参数大于0.999的目标模型确定为绝对等式;将平均绝对误差率大于等于0.01且小于0.1且拟合度参数大于0.9的目标模型确定为约等式。
如此,不会直接将各目标维度对应的目标模型均用于检测异常数据,而是在各目标模型中再进行一次筛选。通过测试数据输入至任一目标模型中进行测试,得到目标模型进行测试的平均绝对误差率。若目标模型的拟合度参数和所述平均绝对误差率分别满足预设阈值,则说明该目标模型拟合的准确性较高,可用于后续的异常数据检测。提高了异常数据检测的准确性。
为了更好的解释本发明实施例,下面将在具体实施场景下来描述上述确定目标模型的流程。图4示出了详细的确定目标模型的流程图。
步骤401,读取样本数据。
步骤402,对样本数据进行预处理。
步骤403,将样本数据划分为训练集和测试集。
其中训练集作为初始n组样本数据用于目标模型的确定。
步骤404,针对任一目标维度,根据初始n组样本数据的相关系数从M个维度中选取与目标维度存在相关关系的K个自变量维度。
步骤405,获取分布在目标维度和K个自变量维度的目标n组样本数据。
步骤406,针对任一候选组样本数据,根据目标n组样本数据和除候选组样本数据以外的n-1组样本数据确定候选组样本数据对目标模型的准确性的影响度。
步骤407,确定影响度是否大于4/n,若大于,则进入步骤408,若不大于,则进入步骤409。
步骤408,剔除该候选组样本数据。
步骤409,保留该候选组样本数据。
步骤410,根据保留的样本数据确定该目标维度对应的目标模型。
循环步骤404-410,可得多个维度对应的多个目标模型。
步骤411,采用测试集数据对各目标模型进行评估,得到绝对等式和约等式。
接下来对采用得到的各目标模型对待检测数据作异常数据检测进行介绍。
图5示出了一种可能的异常数据检测方法,包括:
步骤501,将W个分布在W个维度的待检测数据输入至各目标维度对应的各目标模型中。
步骤502,针对任一目标模型,若确定W个待检测数据不满足所述目标模型,则将所述目标模型中包含的各维度确定为异常维度。
步骤503,针对任一异常维度,确定所述异常维度在各目标模型中被确定为异常维度的异常概率。
步骤504,根据所述异常概率确定所述异常维度对应的待检测数据是否为异常数据。
在步骤501中,将W个分布在W个维度的待检测数据输入至各目标维度对应的各目标模型中。本发明实施例对W个维度不作限制。
一种可能的方式,W个维度中至少包括确定目标模型的M个维度。例如,W个维度和确定目标模型的M个维度完全相同,也是分布在维度A、维度B、维度C、维度D和维度E的5个维度。例如,W个维度中除了确定目标模型的M个维度之外,还包括其他维度。
另一种可能的方式,W个维度中可能包括M个维度中的一部分维度。例如在确定的各目标模型中,由于测试集的测试剔除了一部分目标模型,导致剩下来的各目标模型中均不包含某些维度,那么待测试数据的维度中就不必要包含该维度。例如,在之前确定的5个维度对应的5个目标模型中,只有3个目标模型符合测试集的测试,因此仅将这3个目标模型用于待检测数据的检测。而这3个目标模型中仅包括维度A、维度B、维度C和维度D4个维度。那么待检测数据分布的W个维度也可以仅为维度A、维度B、维度C和维度D4个维度,即不包含维度E。
一种可能的待检测数据的示例如表4所示。
表4
将W个待检测数据分别输入至各目标模型中,例如输入至3个目标模型中。3个目标模型分别为:
目标模型1:A=B+C+D;
目标模型2:B=C+D;
目标模型3:C=A+B。
在步骤502中,针对任一目标模型,若确定W个待检测数据不满足所述目标模型,则将所述目标模型中包含的各维度确定为异常维度。
例如,针对目标模型1,将表4所示的待检测数据输入至目标模型1,确定平均绝对误差率不符合预设阈值,则将目标模型1中包含的维度A、维度B、维度C和维度D确定为异常维度。针对目标模型2,将表4所示的待检测数据输入至目标模型2,确定平均绝对误差率符合预设阈值,则不进行任何操作。针对目标模型3,将表4所示的待检测数据输入至目标模型3,确定平均绝对误差率不符合预设阈值,则将目标模型3中包含的维度A、维度B、维度C确定为异常维度。
综上,被确定为异常维度的有维度A、维度B、维度C和维度D。
在步骤503中,针对任一异常维度,确定所述异常维度在各目标模型中被确定为异常维度的异常概率。
一种可能的方式,确定该异常维度在被确定为异常维度的目标模型中出现的次数与该异常维度在各目标模型中出现的次数的比例,根据比例确定该异常维度的异常概率。
例如,针对维度A,其在各目标模型中出现了2次,其中在两个目标模型中(目标模型1和目标模型3)被确定为异常维度,因此,维度A的异常概率为2/2=1。针对维度B,其在各目标模型中出现了3次,其中在2个目标模型中(目标模型1和目标模型3)被确定为异常维度,因此,维度B的异常概率为2/3。针对维度C,其在各目标模型中出现了3次,其中在2个目标模型中(目标模型1和目标模型3)被确定为异常维度,因此,维度C的异常概率为2/3。针对维度D,其在各目标模型中出现了2次,其中在1个目标模型中(目标模型1)被确定为异常维度,因此,维度D的异常概率为1/2。
一种可能的方式,将绝对等式和约等式得到的概率值赋予不同的权重,从而更加准确地定位异常数据。例如,目标模型1为绝对等式,则目标模型1确定为异常维度的情况中,该异常维度在被确定为异常维度的目标模型中出现的次数乘以1;目标模型3为约等式,则目标模型3确定为异常维度的情况中,该异常维度在被确定为异常维度的目标模型中出现的次数乘以0.8。
在步骤504中,根据所述异常概率确定所述异常维度对应的待检测数据是否为异常数据。
将任一异常维度的异常概率与预设阈值进行比较,若大于预设阈值,则确定该异常维度对应的待检测数据是异常数据;若不大于预设阈值,则确定该异常维度对应的待检测数据不是异常数据。这里预设阈值的确定可根据本领域技术人员的经验和需求进行设置。对此不作限制。或者,将异常概率的前N位的异常维度对应的待检测数据确定为异常数据。
例如,将维度A对应的待检测数据100.5确定为异常数据。
通过将W个分布在W个维度的待检测数据输入至各目标维度对应的各目标模型中,确定异常维度。进而确定异常维度在各目标模型中被确定为异常维度的异常概率,根据异常概率确定所述异常维度对应的待检测数据是否为异常数据。不仅实现了检测出W个待检测数据中存在异常数据,还能够准确定位到这W个待检测数据中,哪个维度的数据为异常数据。从而实现了异常数据的自动化准确定位,无需人工再行查看。
本发明实施例还提供另一种异常数据的检测方法,即将所述目标模型中包含的各维度确定为异常维度之后,还包括:针对任一异常维度,获取所述异常维度对应的各历史数据;通过将所述异常维度对应的待检测数据和所述各历史数据进行聚类,确定所述异常维度对应的待检测数据的异常得分;根据所述异常概率确定所述异常维度对应的待检测数据是否为异常数据,包括:根据所述异常概率和所述异常得分确定所述异常维度对应的待检测数据是否为异常数据。
上述方法是针对任一异常维度的,例如针对维度A的待检测数据,同时获取维度A的历史数据,将维度A的待检测数据和历史数据进行聚类,得到维度A的异常得分。
通过获取异常维度的历史数据,将异常维度对应的待检测数据和各历史数据进行聚类,得到异常维度对应的待检测数据的异常得分,结合异常概率和异常得分确定该异常维度对应的待检测数据是否为异常数据。两种判断方法结合,既考虑到了该异常维度被确定为异常维度的概率,又考虑到了该异常维度的历史上的数据的情况,增加了确定异常数据的准确性。
本发明实施例对聚类得到异常得分的方法不作具体限制。
一种可能的方式,采用k-means的方式进行聚类,将任一异常维度的待检测数据与各历史数据之间的距离确定为异常得分。例如,维度A的待检测数据与各历史数据之间的距离均较远,则相似度小,异常得分小。
另一种可能的方式,通过构造孤立二叉树的方式,得到任一异常维度的异常得分。具体为:对所述异常维度对应的待检测数据和所述各历史数据构造孤立二叉树;计算在所述孤立二叉树中所述异常维度对应的待检测数据的异常得分。
举个例子,针对维度A,获取维度A的历史数据为:19.49,20.23,25.34,49.12,36.66。针对待检测数据和历史数据(19.49,20.23,25.34,49.12,36.66,100.5)使用集成学习的方法,迭代N次(例如100),每次构建一颗孤立二叉树,基于决策树算法,随机对待检测数据和历史数据进行切割,每次切割可以产生一个独立的叶子节点,通过该方式不断切割出新的叶子节点直至树达到指定高度或者无法再切割则算法结束。
具体构造孤立二叉树的步骤如下,(1)首先在所有样本数据的最小值和最大值(19.49和100.5)之间,随机一个分割点,假设随机值为60.2。(2)将样本中大于分割点值60.2的数据节点放在树的右边分支,小于等于60.2的数据节点放到树的左边分支。(3)在分支的基础上重复(1)和(2)步骤,直到将所有数据节点都随机分割形成孤立的叶子节点或者树达到指定高度则结束。
按上述步骤随机构造出第一棵孤立树如图6所示,5次随机分割点为(60.2,34,42.2,22.5,20)。
计算每个叶子节点的PathLength为h(x):
h(x)=e+c(T.size) 公式10
其中e为叶子节点从树的根节点到叶节点的过程中经历的边的个数,即split次数,T.size表示和样本x同在一个叶子结点样本的个数,C(T.size)可以看做一个修正值,表示T.size个样本构建一个二叉树的平均路径长度。
其中o为欧拉常数0.5772156649;以计算100.5这个样本的PathLength为例,e为从根节点到100.5节点的边个数=1,T.size=1,因此100.5这个几点的PathLength=1+c(1),代入上面计算c(n)的公式即可。
为了保证随机性,从而保证异常得分的准确性,按照上述方法随机迭代N次(默认为100),构造100棵随机的孤立二叉树,在每棵树上都计算100.5这个节点的PathLength即h(x)。进而根据如下公式计算孤立森林异常得分值:
其中n为样本数量,F(h(x))为样本在100棵孤立树上PathLength的均值,c(n)为构建n个样本的树的平均路径长度。在上述示例中n为样本数6,根据上面计算c(n)的公式计算c(6)结果。最终计算得出维度A对应的待检测数据即样本数据100.5这个节点的异常得分。
之后,根据该异常维度对应的异常概率和所述异常得分确定所述异常维度对应的待检测数据是否为异常数据。
通过将异常维度对应的待检测数据和各历史数据构造孤立二叉树,提高了确定异常数据的准确性。
基于相同的技术构思,图7示例性的示出了本发明实施例提供的一种异常数据检测装置的结构,该结构可以执行异常数据检测的流程。
如图7所示,该装置具体包括:
处理单元701,用于:
将W个分布在W个维度的待检测数据输入至各目标维度对应的各目标模型中;所述任一目标维度对应的目标模型是通过去除了强影响点数据后的样本数据得到的;所述强影响点数据是指对所述目标模型的准确性的影响度不满足预设条件的样本数据;
针对任一目标模型,若确定W个待检测数据不满足所述目标模型,则将所述目标模型中包含的各维度确定为异常维度;
针对任一异常维度,确定所述异常维度在各目标模型中被确定为异常维度的异常概率;
根据所述异常概率确定所述异常维度对应的待检测数据是否为异常数据。
在一些实施例中,所述处理单元701还用于:
针对任一异常维度,获取所述异常维度对应的各历史数据;
通过将所述异常维度对应的待检测数据和所述各历史数据进行聚类,确定所述异常维度对应的待检测数据的异常得分;
所述处理单元701具体用于:
根据所述异常概率和所述异常得分确定所述异常维度对应的待检测数据是否为异常数据。
在一些实施例中,所述处理单元701具体用于:
对所述异常维度对应的待检测数据和所述各历史数据构造孤立二叉树;
计算在所述孤立二叉树中所述异常维度对应的待检测数据的异常得分。
在一些实施例中,所述处理单元701具体用于:
获取分布在M个维度的初始n组样本数据;其中,每一组样本数据具有M个维度;
针对M个维度中的目标维度,根据所述初始n组样本数据的相关系数从M个维度中选取与所述目标维度存在相关关系的K个自变量维度;所述目标维度为所述M个维度中的任一维度;
根据分布在所述目标维度和所述K个自变量维度的目标n组样本数据确定所述目标模型;所述目标模型用于表征所述目标维度和所述K个自变量维度之间满足的关系。
在一些实施例中,所述处理单元701具体用于:
获取分布在所述目标维度和所述K个自变量维度的目标n组样本数据;
根据所述目标n组样本数据和除候选组样本数据以外的n-1组样本数据确定所述候选组样本数据对所述目标模型的准确性的影响度;所述候选组样本数据为所述目标n组样本数据中的任一组样本数据;
根据n个候选组样本数据的影响度,从所述目标n组样本数据中去除w组强影响点数据;1≤w<n;
根据保留的样本数据确定所述目标模型。
在一些实施例中,所述处理单元701具体用于:
对所述目标n组样本数据进行拟合,得到第一拟合模型的第一拟合系数;
对除所述候选组样本数据以外的n-1组样本数据进行拟合,得到第二拟合模型的第二拟合系数;
根据所述第一拟合系数、所述第二拟合系数、所述目标模型中包含的自变量维度的数量和所述第一拟合模型的均方误差确定所述影响度。
在一些实施例中,所述处理单元701具体用于:
针对任一候选组样本数据,若所述候选组样本数据对所述目标模型的准确性的影响度大于(p,n-p-1)自由度的F分布的第一个四分之一位,则确定所述候选组样本数据为强影响点数据;其中,p为所述目标模型中包含的自变量维度的数量;
从所述目标n组样本数据中去除所述强影响点数据。
在一些实施例中,所述处理单元701还用于:
将测试数据输入所述目标模型中进行测试;得到所述目标模型的平均绝对误差率;
确定所述目标模型对保留的样本数据进行拟合的拟合度参数和所述平均绝对误差率分别满足预设阈值。
基于相同的技术构思,本申请实施例提供了一种计算机设备,如图8所示,包括至少一个处理器801,以及与至少一个处理器连接的存储器802,本申请实施例中不限定处理器801与存储器802之间的具体连接介质,图8中处理器801和存储器802之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器802存储有可被至少一个处理器801执行的指令,至少一个处理器801通过执行存储器802存储的指令,可以执行上述异常数据检测方法的步骤。
其中,处理器801是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器802内的指令以及调用存储在存储器802内的数据,从而进行异常数据检测。在一些实施例中,处理器801可包括一个或多个处理单元,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。在一些实施例中,处理器801和存储器802可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(ApplicatioK Specific IKtegrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器802可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(RaKdom AccessMemory,RAM)、静态随机访问存储器(Static RaKdom Access Memory,SRAM)、可编程只读存储器(Programmable Read OKly Memory,PROM)、只读存储器(Read OKly Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-OKly Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器802是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行程序,计算机可执行程序用于使计算机执行上述任一方式所列的异常数据检测的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (11)
1.一种异常数据检测方法,其特征在于,包括:
将W个分布在W个维度的待检测数据输入至各目标维度对应的各目标模型中;所述任一目标维度对应的目标模型是通过去除了强影响点数据后的样本数据得到的;所述强影响点数据是指对所述目标模型的准确性的影响度不满足预设条件的样本数据;
针对任一目标模型,若确定W个待检测数据不满足所述目标模型,则将所述目标模型中包含的各维度确定为异常维度;
针对任一异常维度,确定所述异常维度在各目标模型中被确定为异常维度的异常概率;
根据所述异常概率确定所述异常维度对应的待检测数据是否为异常数据。
2.如权利要求1所述的方法,其特征在于,将所述目标模型中包含的各维度确定为异常维度之后,还包括:
针对任一异常维度,获取所述异常维度对应的各历史数据;
通过将所述异常维度对应的待检测数据和所述各历史数据进行聚类,确定所述异常维度对应的待检测数据的异常得分;
根据所述异常概率确定所述异常维度对应的待检测数据是否为异常数据,包括:
根据所述异常概率和所述异常得分确定所述异常维度对应的待检测数据是否为异常数据。
3.如权利要求2所述的方法,其特征在于,通过将所述异常维度对应的待检测数据和所述各历史数据进行聚类,确定所述异常维度对应的待检测数据的异常得分,包括:
对所述异常维度对应的待检测数据和所述各历史数据构造孤立二叉树;
计算在所述孤立二叉树中所述异常维度对应的待检测数据的异常得分。
4.如权利要求1所述的方法,其特征在于,通过如下方式确定所述任一目标维度对应的目标模型,包括:
获取分布在M个维度的初始n组样本数据;其中,每一组样本数据具有M个维度;
针对M个维度中的目标维度,根据所述初始n组样本数据的相关系数从M个维度中选取与所述目标维度存在相关关系的K个自变量维度;所述目标维度为所述M个维度中的任一维度;
根据分布在所述目标维度和所述K个自变量维度的目标n组样本数据确定所述目标模型;所述目标模型用于表征所述目标维度和所述K个自变量维度之间满足的关系。
5.如权利要求4所述的方法,其特征在于,根据分布在所述目标维度和所述K个自变量维度的目标n组样本数据确定所述目标模型,包括:
获取分布在所述目标维度和所述K个自变量维度的目标n组样本数据;
根据所述目标n组样本数据和除候选组样本数据以外的n-1组样本数据确定所述候选组样本数据对所述目标模型的准确性的影响度;所述候选组样本数据为所述目标n组样本数据中的任一组样本数据;
根据n个候选组样本数据的影响度,从所述目标n组样本数据中去除w组强影响点数据;1≤w<n;
根据保留的样本数据确定所述目标模型。
6.如权利要求5所述的方法,其特征在于,根据所述目标n组样本数据和除候选组样本数据以外的n-1组样本数据确定所述候选组样本数据对所述目标模型的准确性的影响度,包括:
对所述目标n组样本数据进行拟合,得到第一拟合模型的第一拟合系数;
对除所述候选组样本数据以外的n-1组样本数据进行拟合,得到第二拟合模型的第二拟合系数;
根据所述第一拟合系数、所述第二拟合系数、所述目标模型中包含的自变量维度的数量和所述第一拟合模型的均方误差确定所述影响度。
7.如权利要求5所述的方法,其特征在于,根据n个候选组样本数据的影响度,从所述目标n组样本数据中去除w组强影响点数据,包括:
针对任一候选组样本数据,若所述候选组样本数据对所述目标模型的准确性的影响度大于(p,n-p-1)自由度的F分布的第一个四分之一位,则确定所述候选组样本数据为强影响点数据;其中,p为所述目标模型中包含的自变量维度的数量;
从所述目标n组样本数据中去除所述强影响点数据。
8.如权利要求5所述的方法,其特征在于,根据保留的样本数据确定所述目标模型之后,还包括:
将测试数据输入所述目标模型中进行测试;得到所述目标模型的平均绝对误差率;
确定所述目标模型对保留的样本数据进行拟合的拟合度参数和所述平均绝对误差率分别满足预设阈值。
9.一种异常数据检测装置,其特征在于,包括:
处理单元,用于:
将W个分布在W个维度的待检测数据输入至各目标维度对应的各目标模型中;所述任一目标维度对应的目标模型是通过去除了强影响点数据后的样本数据得到的;所述强影响点数据是指对所述目标模型的准确性的影响度不满足预设条件的样本数据;
针对任一目标模型,若确定W个待检测数据不满足所述目标模型,则将所述目标模型中包含的各维度确定为异常维度;
针对任一异常维度,确定所述异常维度在各目标模型中被确定为异常维度的异常概率;
根据所述异常概率确定所述异常维度对应的待检测数据是否为异常数据。
10.一种计算设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行权利要求1至8任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210992301.1A CN115357764A (zh) | 2022-08-18 | 2022-08-18 | 一种异常数据检测方法及装置 |
PCT/CN2022/121926 WO2024036709A1 (zh) | 2022-08-18 | 2022-09-27 | 一种异常数据检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210992301.1A CN115357764A (zh) | 2022-08-18 | 2022-08-18 | 一种异常数据检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115357764A true CN115357764A (zh) | 2022-11-18 |
Family
ID=84003477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210992301.1A Pending CN115357764A (zh) | 2022-08-18 | 2022-08-18 | 一种异常数据检测方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115357764A (zh) |
WO (1) | WO2024036709A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235548A (zh) * | 2023-11-15 | 2023-12-15 | 山东济宁运河煤矿有限责任公司 | 基于激光灼烧的煤质数据处理方法及智能化系统 |
CN117648657A (zh) * | 2023-12-13 | 2024-03-05 | 青岛市建筑设计研究院集团股份有限公司 | 一种城市规划多源数据优化处理方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117786281B (zh) * | 2024-02-23 | 2024-06-25 | 中国海洋大学 | 一种沉积物柱状样沉积速率与误差的优化计算方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109948669B (zh) * | 2019-03-04 | 2021-07-13 | 腾讯科技(深圳)有限公司 | 一种异常数据检测方法及装置 |
CN111092757B (zh) * | 2019-12-06 | 2021-11-23 | 网宿科技股份有限公司 | 一种异常数据的检测方法、系统及设备 |
CN114595210A (zh) * | 2020-11-20 | 2022-06-07 | 中国移动通信集团广东有限公司 | 一种多维数据的异常检测方法、装置及电子设备 |
CN112733897B (zh) * | 2020-12-30 | 2024-06-28 | 胜斗士(上海)科技技术发展有限公司 | 确定多维样本数据的异常原因的方法和设备 |
CN114297936A (zh) * | 2021-12-31 | 2022-04-08 | 深圳前海微众银行股份有限公司 | 一种数据异常检测方法及装置 |
-
2022
- 2022-08-18 CN CN202210992301.1A patent/CN115357764A/zh active Pending
- 2022-09-27 WO PCT/CN2022/121926 patent/WO2024036709A1/zh unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235548A (zh) * | 2023-11-15 | 2023-12-15 | 山东济宁运河煤矿有限责任公司 | 基于激光灼烧的煤质数据处理方法及智能化系统 |
CN117235548B (zh) * | 2023-11-15 | 2024-02-27 | 山东济宁运河煤矿有限责任公司 | 基于激光灼烧的煤质数据处理方法及智能化系统 |
CN117648657A (zh) * | 2023-12-13 | 2024-03-05 | 青岛市建筑设计研究院集团股份有限公司 | 一种城市规划多源数据优化处理方法 |
CN117648657B (zh) * | 2023-12-13 | 2024-05-14 | 青岛市建筑设计研究院集团股份有限公司 | 一种城市规划多源数据优化处理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2024036709A1 (zh) | 2024-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115357764A (zh) | 一种异常数据检测方法及装置 | |
CN111639497B (zh) | 一种基于大数据机器学习的异常行为发现方法 | |
CN111401914B (zh) | 风险评估模型的训练、风险评估方法及装置 | |
CN108364106A (zh) | 一种报销单风险预测方法、装置、终端设备及存储介质 | |
US20070061144A1 (en) | Batch statistics process model method and system | |
CN110738564A (zh) | 贷后风险评估方法及装置、存储介质 | |
CN117593101B (zh) | 基于多维数据的金融风险数据处理分析方法及系统 | |
CN113221960B (zh) | 一种高质量漏洞数据收集模型的构建方法及收集方法 | |
CN117078026B (zh) | 一种基于数据血缘的风控指标管理方法及系统 | |
CN112149750A (zh) | 一种供水管网爆管识别数据驱动方法 | |
CN111612149A (zh) | 一种基于决策树的主网线路状态检测方法、系统及介质 | |
CN115859191A (zh) | 故障诊断方法、装置、计算机可读存储介质及计算机设备 | |
CN114239999A (zh) | 基于交叉熵重要抽样的元件可靠性参数优化解析方法 | |
CN110751400B (zh) | 一种风险评估方法及装置 | |
CN112990989A (zh) | 价值预测模型输入数据生成方法、装置、设备和介质 | |
CN117376228A (zh) | 一种网络安全测试工具确定方法及装置 | |
CN116822366A (zh) | 一种径流污染负荷计算模型构建和径流污染负荷计算方法 | |
CN111654853B (zh) | 一种基于用户信息的数据分析方法 | |
Brüggemann et al. | Comparison of model reduction methods for VAR processes | |
CN114066173A (zh) | 资金流动行为分析方法及存储介质 | |
CN114862092A (zh) | 一种基于神经网络的评标方法及设备 | |
CN111898666A (zh) | 一种随机森林算法结合模群种群的数据变量选择方法 | |
CN111026661A (zh) | 一种软件易用性全面测试方法及系统 | |
CN113469235B (zh) | 用水波动异常识别方法及装置、计算机装置及存储介质 | |
CN118014709A (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 |