对风洞试验数据进行异常检测的方法转让专利

申请号 : CN202011188917.0

文献号 : CN112362292B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李清勇张靖孙文举

申请人 : 北京交通大学

摘要 :

本发明提供了一种对风洞试验数据进行异常检测的方法。该方法包括:以风洞试验正常数据为基础,根据风洞试验数据异常规律生成风洞试验异常仿真数据,将风洞试验标准数据集中的所有风洞试验数据转化成固定长度的特征表示,组成统一长度的特征向量;根据风洞试验数据的特征向量利用孤立森林算法对风洞试验数据进行属性随机选择和切割处理,建立多棵孤立二叉树,构成了孤立森林;根据待测的风洞试验数据样本在孤立森林中的平均遍历路径,对待测的风洞试验数据样本进行异常检测。本发明方法的风洞试验数据异常检测速度快,可以实现快速的异常检测。在确定异常阈值时不需要人工进行设置或者调整,可以根据样本的分布自动进行确定。

权利要求 :

1.一种对风洞试验数据进行异常检测的方法,其特征在于,包括:以风洞试验正常数据为基础,根据风洞试验数据异常规律生成风洞试验异常仿真数据,将风洞试验异常仿真数据与风洞试验真实数据组成风洞试验标准数据集;

将所述风洞试验标准数据集中的所有风洞试验数据转化成固定长度的特征表示,组成统一长度的特征向量;

根据风洞试验数据的特征向量利用孤立森林算法对风洞试验数据进行属性随机选择和切割处理,建立多棵孤立二叉树,将所有的孤立二叉树进行组合处理,构成了孤立森林;

根据待测的风洞试验数据样本在所述孤立森林中的平均遍历路径,对所述待测的风洞试验数据样本进行异常检测;

所述的以风洞试验正常数据为基础,根据风洞试验数据异常规律生成风洞试验异常仿真数据,将风洞试验异常仿真数据与风洞试验真实数据组成风洞试验标准数据集,包括:将风洞试验数据的异常分成3大类和6个小类,3大类为:孤立跳点异常、簇异常和整组实验异常,孤立跳点异常包括轴向力CA孤立跳点和法向力CN孤立跳点两个小类,簇异常包括CN模型碰支杆和CN多个跳点两个小类,整组试验异常包括CN斜率异常和CA整体偏大两个小类;

根据各小类异常的数据异常规律,以风洞试验正常数据为基础生成各小类的风洞试验异常仿真数据,在生成风洞试验异常仿真数据时,数据及参数选择按照随机的原则,将生成的风洞试验异常仿真数据与风洞试验真实数据组成风洞试验标准数据集,按照3:1:1的比例将风洞试验标准数据集划分成训练集、验证集和测试集。

2.根据权利要求1所述的方法,其特征在于,所述的风洞试验数据的6个小类的异常规律如表1所示;

表1

其中,CN_abnormal(αi)表示法向力CN异常曲线在攻角为αi的值,CA_normal(αi)表示轴向力CA正常曲线在攻角为αi时的值,a为异常变化率,它的取值范围为0到1,不同种类的异常取值不同,k(CN_abnormal)表示CN异常曲线的斜率。

3.根据权利要求1或2所述的方法,其特征在于,所述的将所述风洞试验标准数据集中的所有风洞试验数据转化成固定长度的特征表示,组成统一长度的特征向量,包括:从力分量本身和力分量曲线斜率两个层面选择13个设定特征,提取出所述风洞试验标准数据集中的各个风洞试验数据中的所述13个设定特征的特征值,将所有特征值按固定的顺序拼接成13维的特征向量,以所述13维的特征向量来代替原始的风洞试验数据;

所述13个设定特征包括CN的7个特征和CA的6个特征,CN的7个特征包括:CN的均值、方差、大攻角之差和期望变化率,以及CN分斜率的均值、方差和相邻分斜率之差的最大值;大攻角之差指大于20度的相邻攻角的CN值之差的最小值;期望变化率为每个CN值与期望CN值的变化率,当攻角为αj时,CN期望变化率表示为:分斜率是指两个相邻攻角之间的斜率,分斜率均值、方差计算方式与CN均值、方差相同;相邻分斜率之差最大值表示为max|ki‑ki+1|,其中ki表示第i个分斜率;

所述CA的6个特征包括:CA的均值、方差和期望变化率以及CA分斜率的均值、方差和相邻分斜率之差最大值。

4.根据权利要求3所述的方法,其特征在于,所述的根据风洞试验数据的特征向量利用孤立森林算法对风洞试验数据进行属性随机选择和切割处理,建立多棵孤立二叉树,将所有的孤立二叉树进行组合处理,构成了孤立森林,包括:根据风洞试验数据的特征向量利用孤立森林算法对风洞试验数据进行属性随机选择和切割处理,设风洞试验标准数据集为X={x1,x2,...,xn},n为X中的样本数据数量,样本数据的特征维度为d维,d=13,将风洞试验数据的每个特征作为一个属性,特征值作为属性值,递归地随机选择一个属性q和该属性的一个分割值p,根据属性q和分割值p将数据集X中的样本数据进行切分,将属性值小于分割值p的样本数据划分到左子树,将属性值大于分割值p的样本数据划分到右子树,直到满足停止条件,停止条件共有三个:(1)孤立树达到了高度上限;

(2)数据集剩余样本数据个数为1;

(3)所有剩余样本数据的特征值相同;

根据上述随机选择和切割处理过程建立多棵孤立二叉树,将所有的孤立二叉树进行组合处理,构成了孤立森林。

5.根据权利要求4所述的方法,其特征在于,所述的根据待测的风洞试验数据样本在所述孤立森林中的平均遍历路径,对所述待测的风洞试验数据样本进行异常检测,包括:给定一个待测的风洞试验数据样本x,在所述孤立森林中遍历搜索所述待测的风洞试验数据样本x,x的搜索路径长度h(x)为搜索过程中在孤立树中从根节点到叶子结点经过的边的数量,孤立树遍历的过程等价于二叉搜索树的不成功搜索过程;

针对含有n个样本数据的风洞试验标准数据集为X,二叉搜索树的不成功搜索的平均路径长度为:

c(n)=2H(n‑1)‑(2(n‑1)/n)其中H(i)为调和平均数,c(n)为h(x)的平均值,用它来规则化h(x),样本x的异常分数s定义为:

其中E(h(x))是孤立森林中h(x)的均值,当E(h(x))趋近于c(n)时,异常分数趋近于第一异常阈值,说明样本数据没有明显异常表现;当E(h(x))趋近于0时,异常分数趋近于第二异常阈值,说明样本数据为异常;当E(h(x))趋近于n‑1时,异常分数趋近于第三异常阈值,说明样本数据为正常;所述第一异常阈值为0.5,第二异常阈值为1,第三异常阈值为0。

6.根据权利要求5所述的方法,其特征在于,所述的样本x的异常分数s的异常阈值的确定方法为:

设定异常分数s的异常阈值为δ,训练样本中异常分数大于异常阈值δ的样本的比例、均值和方差分别为ω1、μ1和σ1,异常分数小于异常阈值δ的样本的比例、均值和方差分别为ω2、μ2和σ2,得到两类样本的类内差异值:将遍历所有的δ,并将使类内差异最小的值作为最后的异常阈值。

说明书 :

对风洞试验数据进行异常检测的方法

技术领域

[0001] 本发明涉及风洞实验技术领域,尤其涉及一种对风洞试验数据进行异常检测的方法。

背景技术

[0002] 风洞试验是验证飞行器气动性能的重要途径,风洞试验获得的数据能够为气动外形设计人员提供专业、可靠的数据支撑,因此,对风洞试验数据进行科学的分析和处理是十
分必要和重要的。在实际的风洞试验过程中,为了获取目标气动模型详细完整的气动性能
参数,风洞试验人员首先需要根据测试需求设计不同的试验条件,并将每个气动外形的测
试任务分为成百甚至上千车次逐步进行推进。而对于每一个车次的风洞试验结果,风洞数
据分析人员都需要进行人工的分析与判断,在确保该车次的试验结果没有受到物理或者其
他因素的影响而导致异常后,才能进行下一个车次的试验,不然就需要告诉现场的试验人
员进行异常的排查和解决。这种人工检测异常的方式虽然具有较高的准确率和可靠性,但
却十分依赖现场分析人员的专业知识和经验,对于某些难以判断的异常(例如整组试验异
常),甚至需要多人共同讨论才能判定。在任务车次较多时,这种异常识别方法效率较低,会
对分析人员造成较大的负担。
[0003] 近些年来,随着大规模数据的增加和深度学习方法的出现,基于人工智能的异常检测算法获得了进一步的发展,在各种工业和非工业场景中都展现了优异的性能。因此,若
能将人工智能方法应用到风洞试验数据异常检测问题上,实现自动化数据异常检测,能够
极大的提高风洞试验的效率,减少人力、物力的开销,具有重要的现实意义。
[0004] 针对风洞试验以及风洞试验数据的分析和利用,国内外已经开展了很多研究。近些年来,将人工智能用于风洞试验优化及数据分析的工作更是越来越多,目前,现有技术中
还没有一种有效地利用人工智能对风洞试验数据进行异常检测的方法。

发明内容

[0005] 本发明的实施例提供了一种对风洞试验数据进行异常检测的方法,以克服现有技术的问题。
[0006] 为了实现上述目的,本发明采取了如下技术方案。
[0007] 一种对风洞试验数据进行异常检测的方法,包括:
[0008] 以风洞试验正常数据为基础,根据风洞试验数据异常规律生成风洞试验异常仿真数据,将风洞试验异常仿真数据与风洞试验真实数据组成风洞试验标准数据集;
[0009] 将所述风洞试验标准数据集中的所有风洞试验数据转化成固定长度的特征表示,组成统一长度的特征向量;
[0010] 根据风洞试验数据的特征向量利用孤立森林算法对风洞试验数据进行属性随机选择和切割处理,建立多棵孤立二叉树,将所有的孤立二叉树进行组合处理,构成了孤立森
林;
[0011] 根据待测的风洞试验数据样本在所述孤立森林中的平均遍历路径,对所述待测的风洞试验数据样本进行异常检测。
[0012] 优选地,所述的以风洞试验正常数据为基础,根据风洞试验数据异常规律生成风洞试验异常仿真数据,将风洞试验异常仿真数据与风洞试验真实数据组成风洞试验标准数
据集,包括:
[0013] 将风洞试验数据的异常分成3大类和6个小类,3大类为:孤立跳点异常、簇异常和整组实验异常,孤立跳点异常包括轴向力(CA)孤立跳点和法向力(CN)孤立跳点两个小类,
簇异常包括CN模型碰支杆和CN多个跳点两个小类,整组试验异常包括CN斜率异常和CA整体
偏大两个小类;
[0014] 根据各小类异常的数据异常规律,以风洞试验正常数据为基础生成各小类的风洞试验异常仿真数据,在生成风洞试验异常仿真数据时,数据及参数选择按照随机的原则,将
生成的风洞试验异常仿真数据与风洞试验真实数据组成风洞试验标准数据集,按照3:1:1
的比例将风洞试验标准数据集划分成训练集、验证集和测试集。
[0015] 优选地,所述的风洞试验数据的6个小类的异常规律如表1所示;
[0016] 表1
[0017]
[0018] 其中,CN_abnormal(αi)表示法向力CN异常曲线在攻角为αi的值,CA_normal(αi)表示轴向力CA正常曲线在攻角为αi时的值,a为异常变化率,它的取值范围为0到1,不同种类
的异常取值不同,k(CN_abnormal)表示CN异常曲线的斜率。
[0019] 优选地,所述的将所述风洞试验标准数据集中的所有风洞试验数据转化成固定长度的特征表示,组成统一长度的特征向量,包括:
[0020] 从力分量本身和力分量曲线斜率两个层面选择13个设定特征,提取出所述风洞试验标准数据集中的各个风洞试验数据中的所述13个设定特征的特征值,将所有特征值按固
定的顺序拼接成13维的特征向量,以所述13维的特征向量来代替原始的风洞试验数据;
[0021] 所述13个设定特征包括CN的7个特征和CA的6个特征,CN的7个特征包括:CN的均值、方差、大攻角之差和期望变化率,以及CN分斜率的均值、方差和相邻分斜率之差的最大
值;大攻角之差指大于20度的相邻攻角的CN值之差的最小值;期望变化率为每个CN值与期
望CN值的变化率,当攻角为αj时,CN期望变化率表示为:
[0022]
[0023] 分斜率是指两个相邻攻角之间的斜率,分斜率均值、方差计算方式与CN均值、方差相同;相邻分斜率之差最大值表示为max|ki‑ki+1|,其中ki表示第i个分斜率。
[0024] 所述CA的6个特征包括:CA的均值、方差和期望变化率以及CA分斜率的均值、方差和相邻分斜率之差最大值。
[0025] 优选地,所述的根据风洞试验数据的特征向量利用孤立森林算法对风洞试验数据进行属性随机选择和切割处理,建立多棵孤立二叉树,将所有的孤立二叉树进行组合处理,
构成了孤立森林,包括:
[0026] 根据风洞试验数据的特征向量利用孤立森林算法对风洞试验数据进行属性随机选择和切割处理,设风洞试验标准数据集为X={x1,x2,...,xn},n为X中的样本数据数量,样
本数据的特征维度为d维,d=13,将风洞试验数据的每个特征作为一个属性,特征值作为属
性值,递归地随机选择一个属性q和该属性的一个分割值p,根据属性q和分割值p将数据集X
中的样本数据进行切分,将属性值小于分割值p的样本数据划分到左子树,将属性值大于分
割值p的样本数据划分到右子树,直到满足停止条件,停止条件共有三个:
[0027] (1)孤立树达到了高度上限;
[0028] (2)数据集剩余样本数据个数为1;
[0029] (3)所有剩余样本数据的特征值相同;
[0030] 根据上述随机选择和切割处理过程建立多棵孤立二叉树,将所有的孤立二叉树进行组合处理,构成了孤立森林。
[0031] 优选地,所述的根据待测的风洞试验数据样本在所述孤立森林中的平均遍历路径,对所述待测的风洞试验数据样本进行异常检测,包括:
[0032] 给定一个待测的风洞试验数据样本x,在所述孤立森林中遍历搜索所述待测的风洞试验数据样本x,x的搜索路径长度h(x)为搜索过程中在孤立树中从根节点到叶子结点经
过的边的数量,孤立树遍历的过程等价于二叉搜索树的不成功搜索过程;
[0033] 针对含有n个样本数据的风洞试验标准数据集为X,二叉搜索树的不成功搜索的平均路径长度为:
[0034] c(n)=2H(n‑1)‑(2(n‑1)/n)
[0035] 其中H(i)为调和平均数,c(n)为h(x)的平均值,用它来规则化h(x),样本x的异常分数s定义为:
[0036]
[0037] 其中E(h(x))是孤立森林中h(x)的均值,当E(h(x))趋近于c(n)时,异常分数趋近于第一异常阈值,说明样本数据没有异常表现;当E(h(x))趋近于0时,异常分数趋近于第二
异常阈值,说明样本数据为异常;当E(h(x))趋近于n‑1时,异常分数趋近于第三异常阈值,
说明样本数据为正常;所述第一异常阈值为0.5,第二异常阈值为1,第三异常阈值为0。
[0038] 优选地,所述的样本x的异常分数s的异常阈值的确定方法为:
[0039] 设定异常分数s的异常阈值为δ,训练样本中异常分数大于异常阈值δ的样本的比例、均值和方差分别为ω1、μ1和σ1,异常分数小于异常阈值δ的样本的比例、均值和方差分别
为ω2、μ2和σ2,得到两类样本的类内差异值:
[0040]
[0041] 将遍历所有的δ,并将使类内差异最小的值作为最后的异常阈值。
[0042] 由上述本发明的实施例提供的技术方案可以看出,本发明方法的风洞试验数据异常检测速度快,可以实现快速的异常检测。本发明方法在确定异常阈值时不需要人工进行
设置或者调整,可以根据样本的分布自动进行确定。本发明方法的检测准确率较高。针对风
洞试验场景中的多类异常,异常检出率达到90%以上,检测准确率大于93%。
[0043] 本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0044] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本
领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的
附图。
[0045] 图1为本发明实施例提出的一种对风洞试验数据进行异常检测的方法的处理流程图;
[0046] 图2为本发明实施例提出的一种孤立森林算法原理图;
[0047] 图3为本发明实施例提出的一种孤立树示意图;
[0048] 图4为本发明实施例提出的一种期望路径长度与异常分数关系图;
[0049] 图5为本发明实施例提出的一种异常检测结果示例图。

具体实施方式

[0050] 下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参
考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0051] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措
辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加
一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元
件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在
中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞
“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
[0052] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该
理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意
义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
[0053] 为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0054] 异常检测(Anomaly Detection),又被称为离群检测(Outlier Detection),是机器学习领域中的一个常见应用,相关算法可以被用于欺诈检测、故障诊断、医疗辅助等诸多
领域,一直是国内外研究者们的研究重点。根据研究方法的不同,目前的异常检测方法可以
分为基于统计的、近邻度的、聚类的和分类的方法。基于统计的方法通常假设正常数据符合
某个特定分布或概率模型,将不符合该分布/模型的样本判定为异常。基于近邻度的方法利
用正常样本和异常样本与周围样本相似度不同的特点来进行检测。基于聚类的方法的基本
原理是利用聚类操作,将不属于任何一簇或者远离簇中心的数据判断为异常,经典算法有
DBSCAN、SOM等。基于分类的方法则是将异常检测问题看作是一个二分类或者多分类问题,
使用已有数据训练一个分类器,来完成异常数据的判断检测。
[0055] 针对无异常且不规则的风洞试验数据,本发明方法提出针对风洞试验数据的特征表示方法,并使用孤立森林算法进行自动异常检测。具体来说,在准备风洞试验数据集并对
问题进行形式化时,本发明结合了专业分析人员的专家知识与经验,对常见的风洞试验数
据的异常类型进行了分析与总结,并据此合成了异常数据。针对不同风洞车次数据表示长
度不一的问题,设计了针对风洞试验数据异常的特征表示,将所有的数据用统一的特征向
量来表示。
[0056] 本发明实施例提出的一种对风洞试验数据进行异常检测的方法的处理流程如图1所示,包括如下的处理步骤:
[0057] 步骤S10、以风洞试验正常数据为基础,根据风洞试验数据异常规律生成风洞试验异常仿真数据。
[0058] 根据异常的表现形式,本发明可以将风洞试验数据的异常分成3大类和6个小类,3大类为:孤立跳点异常、簇异常和整组实验异常,孤立跳点异常包括CA孤立跳点和CN孤立跳
点两个小类,簇异常包括CN模型碰支杆和CN多个跳点两个小类,整组试验异常包括CN斜率
异常和CA整体偏大两个小类。
[0059] 表1展示了最常见的6个小类异常的详细信息及异常规律。
[0060] 表格1仿真数据生成方法
[0061]
[0062]
[0063] 其中,CN_abnormal(αi)表示法向力(CN)异常曲线在攻角为αi的值,同理,CA_normal(αi)表示轴向力(CA)正常曲线在攻角为αi时的值。a为异常变化率,它的取值范围为0
到1,不同种类的异常取值不同。k(CN_abnormal)表示CN异常曲线的斜率。
[0064] 根据表1中各种类异常的异常规律,本发明将以正常数据为基础来生成仿真异常数据。在生成异常数据时,数据及参数选择按照随机的原则。以异常1为例,随机选择一个正
常车次的试验数据,从该车次的攻角集合中随机选择一个攻角,将该攻角下的轴向力(CA)
值按异常规律进行变化率为a的变化,a的取值也是从给定范围内随机选择。
[0065] 生成的风洞试验异常仿真数据将与风洞试验真实数据组成风洞试验标准数据集,并按照3:1:1的比例划分成训练集、验证集和测试集。
[0066] 在训练阶段,训练集和验证集数据可知,测试集未知。训练集用于构建风洞试验数据孤立森林;验证集用于选择一些超参数,包括孤立森林中孤立树的个数、构建每棵孤立树
使用的样本个数、异常阈值等。在测试阶段,利用建立好的孤立森林对测试数据进行检测,
得到测试集的异常检测结果,判断异常检测算法的性能。
[0067] 步骤S20、将上述风洞试验标准数据集中的所有风洞试验数据转化成固定长度的特征表示,组成统一长度的特征向量。
[0068] 对于上述标准数据集中的不同车次攻角个数不定以及数值不同的问题,本发明使用设定特征将上述标准数据集中的训练集中的所有风洞试验数据转化成固定长度的特征
表示,从力分量本身和力分量曲线斜率两个层面选择了13个设定特征作为风洞试验数据的
特征表示。具体来说,给定某一个车次的风洞试验数据xi,分别提取该车次CN的7个特征和
CA的6个特征,组成13维的特征向量。下面介绍每个力分量的具体特征设计。
[0069] CN特征:包括CN的均值、方差、大攻角之差和期望变化率以及CN分斜率的均值、方差和相邻分斜率之差的最大值。均值和方差为常见的统计特征;大攻角之差指大于20度的
相邻攻角的CN值之差的最小值;期望变化率为每个CN值与期望CN值的变化率,当攻角为αj
时,CN期望变化率可以表示为:
[0070]
[0071] 分斜率是指两个相邻攻角之间的斜率,若某车次共有11个攻角,则我们可以计算得到10个分斜率;分斜率均值、方差计算方式与CN均值、方差相同;相邻分斜率之差最大值
表示为max|ki‑ki+1|,其中ki表示第i个分斜率,此特征可以检测斜率的突变,对于跳点异常
非常有效。
[0072] CA特征:包括CA的均值、方差和期望变化率以及CA分斜率的均值、方差和相邻分斜率之差最大值。计算方式与CN同名特征相同。
[0073] 在提取所有的特征之后,我们将所有特征值按固定的顺序拼接成13维的特征向量,以此来代替原始的试验数据格式,作为后续深度SAD模型的输入。对于一个试验样本xi,
该过程可以表示为:
[0074]
[0075] 式中:T表示特征表示过程; 表示得到的固定维度的特征向量,在本文中为13维。
[0076] 步骤S30、根据风洞试验数据的特征向量利用孤立森林算法对风洞试验数据进行属性随机选择和切割处理,建立多棵孤立二叉树,将所有的孤立二叉树进行组合处理,构成
了孤立森林。
[0077] 图2为本发明实施例提供的一种孤立森林算法的原理图,其中,图2(a)为孤立正常样本,图2(b)为孤立异常样本,图2(c)为两个样本在孤立森林中的平均遍历路径长度。孤立
森林算法的核心原理为:在合适的特征空间中,孤立异常点所需的切割次数统计意义上要
比孤立正常点所需的切割次数要少,如图2(a)(b)所示。可以通过属性随机选择和切割的方
式建立多棵孤立二叉树,通过比较样本在由孤立二叉组成的孤立森林中的平均遍历路径来
进行异常检测。
[0078] 设风洞试验标准数据集为X={x1,x2,...,xn},n为X中的样本数据数量,样本数据的特征维度为d维,d=13,将风洞试验数据的每个特征作为一个属性,特征值作为属性值,
递归地随机选择一个属性q和该属性的一个分割值p,根据属性q和分割值p将数据集X中的
样本数据进行切分,将属性值小于分割值p的样本数据划分到左子树,将属性值大于分割值
p的样本数据划分到右子树,直到满足停止条件,该停止条件共有三个:
[0079] (1)孤立树达到了高度上限;
[0080] (2)数据集剩余样本个数为1;
[0081] (3)所有剩余样本的特征值相同。
[0082] 按照以上的规则和上述随机选择和切割处理过程,可以建立如图3所示的孤立二叉树,将所有的孤立二叉树进行组合处理,构成了孤立森林,用来进行后续的异常检测。
[0083] 步骤S40、根据待测的风洞试验数据样本在孤立森林中的平均遍历路径,来对待测的风洞试验数据样本进行异常检测。
[0084] 孤立森林构建完成之后,便可以对待测的风洞试验数据样本进行异常检测。给定一个待测的风洞试验数据样本x,在所述孤立森林中遍历搜索所述待测的风洞试验数据样
本x,x的搜索路径长度h(x)为搜索过程中在孤立树中从根节点到叶子结点经过的边的数
量。因为孤立树遍历的过程等价于二叉搜索树的不成功搜索过程,因此这里我们借鉴二叉
搜索树的思路来进行异常分析。具体来说,给定含有n个样本的数据集,二叉搜索树的不成
功搜索的平均路径长度为:
[0085] c(n)=2H(n‑1)‑(2(n‑1)/n)(4)
[0086] 其中H(i)为调和平均数,它的值近似等于ln(i)+0.5772156649。c(n)可以看作h(x)的平均值,我们用它来规则化h(x)。因此样本x的异常分数s定义为:
[0087]
[0088] 其中E(h(x))是孤立森林中h(x)的均值。图3为E(h(x))与s(x,n)的关系图。当E(h(x))趋近于c(n)时,异常分数趋近于第一异常阈值,说明样本没有明显的异常表现;当E(h
(x))趋近于0时,异常分数趋近于第二异常阈值,说明样本很有可能为异常;当E(h(x))趋近
于n‑1时,异常分数趋近于第三异常阈值,说明样本很有可能为正常。所述第一异常阈值为
0.5,第二异常阈值为1,第三异常阈值为0。图4为本发明实施例提出的一种期望路径长度与
异常分数关系图。
[0089] 在实际的使用中,我们将使用一种自动化的方式确定使用的异常阈值。具体来说,假定阈值为δ,训练样本中异常分数大于该阈值的样本的比例、均值和方差分别为ω1、μ1和
σ1,小于该阈值的样本的比例、均值和方差分别为在ω2、μ2和σ2,我们可以得到两类样本的
类内差异值:
[0090]
[0091] 本发明将遍历所有的δ,并将使类内差异最小的值作为最后的异常阈值,最后将异常分数大于该异常阈值的测试样本中判定为异常。
[0092] 在实际的风洞试验中,针对试验数据的异常检测目前完全依赖人工进行分析与判断,有些特征表现不明显的异常甚至需要多个专业人员商讨决定,这种方式耗时耗力,降低
了风洞试验的效率。本发明方法可以部署于数据采集与分析的平台中,实时对采集到的数
据进行异常检测,为专业分析人员提供辅助,从而提高整体的效率。图5为本发明实施例提
出的一种异常检测结果示例图,变化较大的曲线为CN,平缓的曲线为CA。目前,本发明方法
已实地部署到风洞试验现场,为现场的数据试验人员提供异常报警,协助进行数据异常检
测。
[0093] 在现有的风洞试验数据异常检测时,只能依赖分析专家人工进行判断,本发明的方法训练完成后可以替代人类进行智能判断和操作,因此可以说是人工智能方法;另一方
面,异常检测问题是机器学习领域中常见的应用问题,自然异常检测方法应用了人工智能。
[0094] 综上所述,本发明提出的针对风洞试验数据的自动化异常检测方法具有如下的有益效果:
[0095] (1)本发明方法不需要异常数据。理论上只要总结并归纳出异常的规律及表达式,便可以生成任意数量的异常数据,与真实的数据组成标准的数据集,进行模型的构建与异
常检测。
[0096] (2)本发明方法的异常检测速度快。目前的风洞试验数据异常检测任务,只能通过专业的数据分析人员进行人工分析与判断,耗时较长,依赖于个人的知识和经验。本发明方
法针对数据可以实现快速的异常检测,在普通的windows系统PC上,检测速度可以达到0.1
秒每车次,且具有较高的检测准确率。
[0097] (3)本发明方法的异常阈值可以自适应的确定。本发明方法在确定异常阈值时不需要人工进行设置或者调整,可以根据样本的分布自动进行确定。
[0098] (4)本发明方法的检测准确率较高。针对风洞试验场景中的多类异常,异常检出率达到90%以上,检测准确率大于93%。
[0099] 本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0100] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质
上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品
可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备
(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些
部分所述的方法。
[0101] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或
系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法
实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为
分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或
者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根
据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术
人员在不付出创造性劳动的情况下,即可以理解并实施。
[0102] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,
都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围
为准。