CN115080965B - 基于历史表现的无监督异常检测方法及*** - Google Patents

基于历史表现的无监督异常检测方法及*** Download PDF

Info

Publication number
CN115080965B
CN115080965B CN202210979825.7A CN202210979825A CN115080965B CN 115080965 B CN115080965 B CN 115080965B CN 202210979825 A CN202210979825 A CN 202210979825A CN 115080965 B CN115080965 B CN 115080965B
Authority
CN
China
Prior art keywords
training
sample
anomaly detection
frequency
model
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
Application number
CN202210979825.7A
Other languages
English (en)
Other versions
CN115080965A (zh
Inventor
黄铮
秦宝帅
周倩如
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Bizhi Technology Co ltd
Original Assignee
Hangzhou Bizhi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Bizhi Technology Co ltd filed Critical Hangzhou Bizhi Technology Co ltd
Priority to CN202210979825.7A priority Critical patent/CN115080965B/zh
Publication of CN115080965A publication Critical patent/CN115080965A/zh
Application granted granted Critical
Publication of CN115080965B publication Critical patent/CN115080965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明公开了一种基于历史表现的无监督异常检测方法及***,包括以下步骤:S1:周期性触发,获取推理样本;S2:获取训练生成的模型文件和中间变量;S3:用户可对推理结果进行纠正打标,产生的新样本用于打标模式训练的使用;S4:即时模式下获取推理样本作为当前轮次的训练样本,称为T训练样本;S5:从存储中获取上一轮次的训练样本,称为T‑1训练样本,以时间为索引对T‑1和T训练样本进行拼接、去重、存储,得到完整的训练样本;S6:对训练样本进行交叉验证,计算评估指标二分轮廓系数;S7:执行模型调优,使用网格搜索的方法重复执行S6;S8:使用二分轮廓系数最大时的模型参数训练生成希尔伯特黄‑孤立森林异常检测模型。

Description

基于历史表现的无监督异常检测方法及***
技术领域
本发明涉及机器学习中无监督时序异常检测领域,尤其是涉及一种基于历史表现的无监督异常检测方法及***。
背景技术
异常检测是数据安全领域的一个重要分支,其定义是从正常的时间序列中识别不正常的事件或行为的过程。企业使用异常检测技术可以对网络数据、用户敏感访问和操作进行实时监测,当发现异常时,及时采取措施最终保障信息安全、减少企业损失。
现有的异常检测技术主要分为以下几类:
1、基于统计预测的方法:通过预测值和实际值的误差大小来判定出现异常的位置。代表算法有EMA、AR、ARIMA。
缺陷:多维时间序列转换为多个单维时间序列分别进行预测,需要建立多个模型,当数据维度增长时,算法的计算量显著增长,不适用于数据量大、有实时性要求的异常检测场景;仅适用于平稳性较好的时序数据。
2、基于有监督分类的方法:代表算法有支持向量机、K近邻、决策树一族、深度神经网络等。
缺陷:实际工程应用中获取时序数据是否异常的标签成本高,难以落地。
3、基于无监督学习的方法:基于聚类的代表算法有K-means、DBSCAN、高斯混合模型GMM等;另一方面,也有基于树的异常检测方法如孤立森林。
缺陷:传统的无监督异常检测算法的对象是无序变量,但时序数据是有序的,在建模的过程中会丢失时间维度的信息。无监督学习缺乏有效的评估指标,难以做到***高度自动化。
针对以上痛点,本发明实现了一种针对多维时序特征的基于历史表现的无监督异常检测方法及***:
1、采用希尔伯特黄算法做时频分析,同时考虑了时间和频率维度的信息,实现同时对时域和频域进行异常检测,覆盖面广。
2、采用孤立森林无监督学习算法来检测异常,无需对时序数据进行打标,在实际工程应用中能够快速落地。
3、在同一时刻保留各个维度之间的相互关系,单模型实现多维时序特征的异常检测,快速、实时性好。
4、使用二分轮廓系数来指导参数调优,使***能够高度自动化。自动化的参数调优让无监督算法效果也能得到保障。
5、异常检测在线学习***高度自动化,能够实现对各类数据的异常时序和频率的检测、告警等目标。
发明内容
针对现有技术存在的问题,本发明的目的在于提供一种多维时序、基于历史、无监督、快速、高度自动化的异常检测算法方案及***,能够实现对数据异常时序和频率的检测、告警等目标。
为实现上述目的,本发明提供一种基于历史表现的无监督异常检测方法,所述方法包括以下步骤:
S1:周期性触发,获取推理样本;
S2:获取训练生成的模型文件和中间变量,对推理样本执行希尔伯特黄-孤立森林算法的推理流程;
S3:用户可对推理结果进行纠正打标,产生的新样本用于打标模式训练的使用;
S4: 即时模式下获取推理样本作为当前轮次的训练样本(T训练样本);打标模式下获取最新的打标样本作为T训练样本;
S5:从存储中获取上一轮次的训练样本(T-1训练样本),以时间为索引对T-1和T训练样本进行拼接、去重、存储,得到完整的训练样本;
S6: 对训练样本进行交叉验证,计算评估指标二分轮廓系数;
S7: 执行模型调优,使用网格搜索的方法重复执行S6;
S8:使用二分轮廓系数最大时的模型参数训练生成希尔伯特黄-孤立森林异常检测模型。
进一步,推理样本为包含时间戳和时序信息的文本数据。
进一步,推理流程生成的推理结果为包含时间戳和多维时序信息是否为异常的标签。
进一步,打标样本需要对打标为异常的时序做缺失处理,再插补缺失值。
进一步,***启动后首次执行推理,由于尚未执行过训练,不存在模型文件和中间变量,推理结果将默认全部正常;在之后的推理任务中,将获取和使用最新一次的训练生成的模型。
进一步,网格搜索通过遍历给定的模型参数组合来优化模型表现。
进一步,打标样本为包含时间戳、时序信息和用户打标标签的文本数据。
进一步,步骤S6中,交叉验证和计算流程包括:
S61: 执行保证数据连续性的数据划分,形成K次实验;
S62: 对于第1~K次实验,对训练集执行希尔伯特黄-孤立森林算法的训练流程,得到K个异常检测模型。
S63: 对于第1~K次实验,使用S62得到的模型对测试集上执行希尔伯特黄-孤立森林算法的推理流程。
S64: 对于第1~K次实验,计算二分轮廓系数。
S65: 根据第1~K次实验得到的二分轮廓系数取均值,生成最终的二分轮廓系数。
进一步,所述方法中使用的二分轮廓系数如下:
二分轮廓系数是衡量异常检测模型结果质量的评估指标。二分轮廓系数考虑的有两个因素:预测为正常的标签和预测为异常的标签的内聚度和分离度,它们的值介于[-1,1],越趋近于1则代表内聚度和分离度都相对较优。我们希望在模型预测的结果中,正常的标签与异常的标签对应的点之间的距离足够的远,同时正常的标签对应的点簇中及异常的标签对应的点簇中的点足够的近,而不考虑正常的点簇之间与异常的点簇之间的情况。
步骤S64中计算轮廓系数的具体步骤如下:
S641: 使用经典聚类算法,例如k-means,分别对模型预测的正常的标签和异常的标签对应的值做聚类,得到正常的标签中值对应的具体类别和异常的标签中值对应的具体类别,按先异常再正常的顺序重构待评估数据;
S642: 对于正常点簇中的每一个类别,取出对应的点集,对点集中的每个点分别计算类内与其他点的距离均值
Figure 456876DEST_PATH_IMAGE001
、类外到其他所有异常簇的距离之和的最小平均值
Figure 368200DEST_PATH_IMAGE002
,使用下述公式计算点的二分轮廓系数值;异常点簇计算类似,对于异常点簇中的每一个类别,取出对应的点集,对点集中的每个点分别计算类内与其他点的距离均值
Figure 86757DEST_PATH_IMAGE001
、类外到其他所有正常簇的距离之和的最小平均值
Figure 665506DEST_PATH_IMAGE002
,同样使用下述公式计算点的二分轮廓系数值;最后计算二分轮廓系数均值;
Figure 240844DEST_PATH_IMAGE003
S643: 对Step 2得到的二分轮廓系数结果集的子集,计算超过Step 1得到的二分轮廓系数均值的比例值;
S644: 对Step 2得到的二分轮廓系数结果集中的每个子集的值求和,并以Step 3得到的比例值作为权重做加权求和,再除以点数做归一化,即得到模型对应的整体的二分轮廓系数的值。
本方法中步骤S2和S63中使用的希尔伯特黄-孤立森林算法具体如下:
S100: 对
Figure 780410DEST_PATH_IMAGE004
维的时序特征
Figure 427292DEST_PATH_IMAGE005
进行经验模态分解,得到
Figure 562344DEST_PATH_IMAGE006
个固有模态函数
Figure 511846DEST_PATH_IMAGE007
和残差
Figure 397762DEST_PATH_IMAGE008
,其关系满足:
Figure 989281DEST_PATH_IMAGE009
其中时序特征
Figure 11463DEST_PATH_IMAGE010
是一个时间步长为
Figure 928604DEST_PATH_IMAGE011
,维度为
Figure 770658DEST_PATH_IMAGE004
,每个元素为实数
Figure 634709DEST_PATH_IMAGE012
的矩阵X
Figure 544021DEST_PATH_IMAGE013
是经验模态分解得到的第
Figure 100904DEST_PATH_IMAGE014
个固有模态函数,其矩阵表示为
Figure 695834DEST_PATH_IMAGE015
Figure 97996DEST_PATH_IMAGE016
是经验模态分解终止后得到的残差的矩阵表示。
S200:对S100得到的
Figure 360350DEST_PATH_IMAGE006
个固有模态函数{
Figure 884873DEST_PATH_IMAGE017
分别做希尔伯特谱分析,得到
Figure 842464DEST_PATH_IMAGE006
个希尔伯特谱
Figure 172951DEST_PATH_IMAGE018
,即将固有模态函数表示在联合的时频域中;
S300:对S200得到的
Figure 165178DEST_PATH_IMAGE006
个希尔伯特谱,由于希尔伯特黄变换的端点飞翼现象,需要过滤一定比例两端的时序;根据奈奎斯特采样定理,需要过滤逼近二分之一采样频率的时序;
S400: 对S300得到的
Figure 595023DEST_PATH_IMAGE006
个过滤后的希尔伯特谱关于瞬时频率
Figure 922799DEST_PATH_IMAGE019
做分箱,该操作的主要目的是将
Figure 666764DEST_PATH_IMAGE004
维的时频域信息进行分割、聚合;接下来,对分箱后的希尔伯特谱
Figure 310235DEST_PATH_IMAGE020
求频率边际谱:
Figure 238877DEST_PATH_IMAGE021
其中
Figure 171061DEST_PATH_IMAGE022
表示
Figure 781034DEST_PATH_IMAGE020
Figure 606907DEST_PATH_IMAGE023
的联合分布,
Figure 378554DEST_PATH_IMAGE024
表示第
Figure 63613DEST_PATH_IMAGE004
维、第
Figure 274015DEST_PATH_IMAGE014
个的固有模态函数的频率边际谱,其数值
Figure 892078DEST_PATH_IMAGE025
表示的是某个瞬时频率
Figure 37889DEST_PATH_IMAGE019
下、某些时序
Figure 305184DEST_PATH_IMAGE011
下所对应的能量。
S500: 对S400得到的多维频率边际谱{
Figure 256960DEST_PATH_IMAGE026
,可以视为是多维频域特征。频域特征根据其频率对应的时序点数进行加权得到
Figure 667212DEST_PATH_IMAGE027
S600:对S500得到的若干个加权后的多维频域特征
Figure 374137DEST_PATH_IMAGE027
进行拼接,形成完整的多维频域特征
Figure 564947DEST_PATH_IMAGE028
S700:对S600得到的多维频率特征,在训练阶段,使用孤立森林算法进行训练,得到频率异常检测模型;在推理阶段,该模型输出频率异常概率,再根据时频域的对应关系,可以得到推理样本的异常时序。
另一方面,本发明实施例提供一种基于历史表现的无监督异常检测***,所述***中包括推理模块,用于实现步骤S1-S2;纠正打标模块,用于实现步骤S3;训练和评估模块,用于实现步骤S4-S8。
本发明提出的针对多维时序特征的基于历史表现的无监督异常检测方法及***,其有益效果在于:
1、采用希尔伯特黄算法做时频分析,同时考虑了时间和频率维度的信息,实现同时对时域和频域进行异常检测,覆盖面广。
2、采用孤立森林无监督学习算法来检测异常,无需对时序数据进行打标,在实际工程应用中能够快速落地。
3、在同一时刻保留各个维度之间的相互关系,单模型实现多维时序特征的异常检测,快速、实时性好。
4、使用二分轮廓系数来指导参数调优,使***能够高度自动化。自动化的参数调优让无监督算法效果也能得到保障。
5、异常检测在线学习***高度自动化,能够实现对各类数据的异常时序和频率的检测、告警等目标。
附图说明
图1示出了根据本发明实施例一种基于历史表现的无监督异常检测方法及***的算法架构示意图;
图2示出了根据本发明实施例一种基于历史表现的无监督异常检测方法及***的训练流程示意图。
具体实施方式
下面将结合附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
以下结合图1、图2对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
实施例
本实施例公开如图1所示的一种针对多维时序特征的基于历史表现的无监督异常检测方法,具有多维时序、基于历史、无监督、快速、高度自动化的技术优势,以数据安全场景下的敏感数据访问的智能风险识别为例,目的是运用所述异常检测方法对小时级敏感数据访问次数进行风险识别,其流程框架包括以下步骤:
推理模块:
S1:周期性触发,获取推理样本。推理样本包含时间戳和时序信息的文本数据。
Figure 992517DEST_PATH_IMAGE030
S2:获取训练生成的模型文件和中间变量,根据步骤S100~S700,对推理样本执行希尔伯特黄-孤立森林算法的推理流程。
推理生成的推理结果包含时间戳和时序信息是否为异常的标签。***启动后首次执行推理,由于尚未执行过训练,不存在模型文件和中间变量,推理结果将默认全部正常。在之后的推理任务中,将获取和使用最新一次的训练生成的模型。
Figure 913069DEST_PATH_IMAGE032
纠正打标模块:
S3:用户可对推理结果进行纠正打标,产生的新样本用于打标模式训练的使用。
该操作体现在产品中为平台软件的使用者,包括开发者和客户,可以在推理结果展示的页面选择进入打标***,对不合理的推理结果进行修正,例如:原本“2022-08-1100:00:00”的推理结果为“异常”,用户可以将其重新打标为“正常”;原本“2022-08-1001:00:00”的推理结果为“正常”,用户可以将其重新打标为“异常”。请注意,该打标***同一时间只允许一个用户进行操作,以防止多人同时打标造成的混乱。用户操作完毕保存之后,生成的打标样本为包含时间戳、时序信息、用户打标标签的文本数据。
Figure 462999DEST_PATH_IMAGE034
训练和评估模块,其中训练包括即时模式和打标模式:
S4: 即时模式下获取推理样本作为当前轮次的训练样本(T训练样本);打标模式下获取最新的打标样本作为T训练样本,对其中打标为异常的时序做缺失处理,再插补缺失值。
插补缺失值的方式有很多,基于统计方式的有均值填充、线性插值、移动平均、指数平滑,也有基于机器学习对缺失值进行预测,如K近邻、循环神经网络、随机森林等。本发明比较注重线上运行的计算、存储资源开销,而不太关心对缺失值的插补的准确性,所以选择使用线性插值。
S5:从存储中获取上一轮次的训练样本(T-1训练样本),以时间为索引对T-1和T训练样本进行拼接、去重、存储,得到完整的训练样本。
Figure 813209DEST_PATH_IMAGE036
S6: 对训练样本进行交叉验证,计算评估指标二分轮廓系数。
执行S6的步骤具体包括:
S61: 执行保证时间连续性的数据划分,形成K次实验。
具体操作步骤如下:第一步,将原始训练样本(不需要打乱)等分成K份,记为
Figure 106787DEST_PATH_IMAGE037
。第二步,从K份中取1份作为测试集,其他K-1份作为训练集,从而形成K次实验的数据集:
第一次实验:按时序拼接
Figure 881845DEST_PATH_IMAGE038
作为训练集,
Figure 540359DEST_PATH_IMAGE039
作为测试集
第二次实验:按时序拼接
Figure 705761DEST_PATH_IMAGE040
作为训练集,
Figure 98303DEST_PATH_IMAGE041
作为测试集
第K次实验:按时序拼接
Figure 603234DEST_PATH_IMAGE042
作为训练集,
Figure 494967DEST_PATH_IMAGE043
作为测试集
S62: 对于第1~K次实验,根据步骤S100~S700,对训练集执行希尔伯特黄-孤立森林算法的训练流程,得到K个异常检测模型。
S63: 对于第1~K次实验,根据步骤S100~S700,使用S62得到的模型对测试集上执行希尔伯特黄-孤立森林算法的推理流程。
S64: 对于第1~K次实验,计算二分轮廓系数。
二分轮廓系数是衡量异常检测模型结果质量的评估指标。二分轮廓系数考虑的有两个因素:预测为正常的标签和预测为异常的标签的内聚度和分离度,它们的值介于[-1,1],越趋近于1则代表内聚度和分离度都相对较优。我们希望在模型预测的结果中,正常的标签与异常的标签对应的点之间的距离足够的远,同时正常的标签对应的点簇中及异常的标签对应的点簇中的点足够的近,而不考虑正常的点簇之间与异常的点簇之间的情况。
步骤S64中计算二分轮廓系数的具体步骤如下:
S641: 使用经典聚类算法,例如k-means,分别对模型预测的正常的标签和异常的标签对应的值做聚类,得到正常的标签中值对应的具体类别和异常的标签中值对应的具体类别,按先异常再正常的顺序重构待评估数据;
S642: 对于正常点簇中的每一个类别,取出对应的点集,对点集中的每个点分别计算类内与其他点的距离均值
Figure 944403DEST_PATH_IMAGE001
、类外到其他所有异常簇的距离之和的最小平均值
Figure 579783DEST_PATH_IMAGE002
,使用下述公式计算点的二分轮廓系数值;异常点簇计算类似,对于异常点簇中的每一个类别,取出对应的点集,对点集中的每个点分别计算类内与其他点的距离均值
Figure 939220DEST_PATH_IMAGE001
、类外到其他所有正常簇的距离之和的最小平均值
Figure 329750DEST_PATH_IMAGE002
,同样使用下述公式计算点的二分轮廓系数值;最后计算二分轮廓系数均值;
Figure 204166DEST_PATH_IMAGE044
S643: 对S642得到的二分轮廓系数结果集的子集,计算超过Step 1得到的二分轮廓系数均值的比例值;
S644: 对S642得到的二分轮廓系数结果集中的每个子集的值求和,并以S643得到的比例值作为权重做加权求和,再除以点数做归一化,即得到模型对应的整体的二分轮廓系数的值。
S65: 根据第1~K次实验得到的二分轮廓系数取均值,生成最终的二分轮廓系数。
S7: 执行模型调优,使用网格搜索的方法重复执行S6。网格搜索通过遍历给定的模型参数组合来优化模型表现
S8:使用二分轮廓系数最大时的模型参数训练生成希尔伯特黄-孤立森林异常检测模型。
图1展示了无监督异常检测***的整体运作流程,包括了各子流程的触发条件、引用和产出、各子流程之间的依赖关系。该图从左到右,第一步,以周期性触发推理子流程,其引用了推理样本、模型文件和中间变量,产出推理结果和日志文件;第二步,以用户提交触发纠正打标子流程,其引用推理结果,在打标***中对错误的结果进行修正,产出打标样本;第三步,以推理结束触发即时模式训练子流程和评估子流程,其引用推理样本作为当前轮次T训练样本和上一轮次训练存储的T-1训练样本,产出模型文件、拼接数据、中间变量和日志文件;第四步,以打标结束触发打标模式训练子流程和评估子流程,其引用打标样本和上一轮次训练存储的T-1训练样本,产出模型文件、拼接数据、中间变量和日志文件。
如图2所示,本发明中步骤S2和步骤S63中所使用的希尔伯特黄-孤立森林算法的计算步骤如下:
S100: 对
Figure 580920DEST_PATH_IMAGE004
维的时序特征
Figure 919498DEST_PATH_IMAGE005
进行经验模态分解,得到
Figure 356295DEST_PATH_IMAGE006
个固有模态函数
Figure 718006DEST_PATH_IMAGE007
和残差
Figure 258971DEST_PATH_IMAGE008
,其关系满足:
Figure 858580DEST_PATH_IMAGE045
其中时序特征
Figure 263017DEST_PATH_IMAGE010
是一个时间步长为
Figure 908762DEST_PATH_IMAGE011
,维度为
Figure 689636DEST_PATH_IMAGE004
,每个元素为实数
Figure 143751DEST_PATH_IMAGE012
的矩阵X;
Figure 781406DEST_PATH_IMAGE013
是经验模态分解得到的第
Figure 852130DEST_PATH_IMAGE014
个固有模态函数,其矩阵表示为
Figure 108799DEST_PATH_IMAGE015
Figure 214158DEST_PATH_IMAGE016
是经验模态分解终止后得到的残差的矩阵表示。
S200:对S100得到的
Figure 288293DEST_PATH_IMAGE006
个固有模态函数{
Figure 49576DEST_PATH_IMAGE017
分别做希尔伯特谱分析,得到
Figure 906673DEST_PATH_IMAGE006
个希尔伯特谱
Figure 964409DEST_PATH_IMAGE018
,即将固有模态函数表示在联合的时频域中。
S300:对S200得到的
Figure 819233DEST_PATH_IMAGE006
个希尔伯特谱,由于希尔伯特黄变换的端点飞翼现象,需要过滤一定比例两端的时序;根据奈奎斯特采样定理,需要过滤逼近二分之一采样频率的时序。
S400: 对S300得到的
Figure 864549DEST_PATH_IMAGE006
个过滤后的希尔伯特谱关于瞬时频率
Figure 853234DEST_PATH_IMAGE019
做分箱,该操作的主要目的是将
Figure 870868DEST_PATH_IMAGE004
维的时频域信息进行分割、聚合。例如,有以下的时频对应关系
Figure 958910DEST_PATH_IMAGE046
:
Figure 553839DEST_PATH_IMAGE047
,那么以
Figure 221581DEST_PATH_IMAGE048
的精度等距分箱后得到的时频对应关系是:
Figure 156039DEST_PATH_IMAGE049
。接下来,对分箱后的希尔伯特谱
Figure 477299DEST_PATH_IMAGE020
求频率边际谱:
Figure 497207DEST_PATH_IMAGE051
其中
Figure 968640DEST_PATH_IMAGE022
表示
Figure 321386DEST_PATH_IMAGE020
Figure 751231DEST_PATH_IMAGE023
的联合分布,
Figure 196118DEST_PATH_IMAGE024
表示第
Figure 330297DEST_PATH_IMAGE004
维、第
Figure 973767DEST_PATH_IMAGE014
个的固有模态函数的频率边际谱,其数值
Figure 777775DEST_PATH_IMAGE025
表示的是某个瞬时频率
Figure 834593DEST_PATH_IMAGE019
下、某些时序
Figure 444566DEST_PATH_IMAGE011
下所对应的能量。
S500: 对S400得到的多维频率边际谱{
Figure 880227DEST_PATH_IMAGE026
,可以视为是多维频域特征。频域特征根据其频率对应的时序点数进行加权得到
Figure 917453DEST_PATH_IMAGE027
,例如,频率
Figure 195987DEST_PATH_IMAGE052
所对应的时序
Figure 547334DEST_PATH_IMAGE011
点数为
Figure 991829DEST_PATH_IMAGE053
,则将该频率所对应的数值
Figure 199956DEST_PATH_IMAGE054
拷贝
Figure 106732DEST_PATH_IMAGE053
份进入频域特征。
S600:对S500得到的若干个加权后的多维频域特征
Figure 120825DEST_PATH_IMAGE027
按照频率
Figure 593394DEST_PATH_IMAGE019
为轴进行拼接,形成完整的多维频域特征
Figure 175685DEST_PATH_IMAGE028
S700:对S600得到的多维频率特征,在训练阶段,使用孤立森林算法进行训练,得到频率异常检测模型;在推理阶段,该模型输出频率异常概率,再根据时频域的对应关系,可以得到推理样本的异常时序。
孤立森林是一种基于集成学***面对一个数据空间进行切割,直到每个子空间仅包含一个数据点,换言之,就是数据点被“孤立”在各自的子空间。判断一个数据点是否是异常的依据是其被“孤立”时的切割次数:非异常点是聚集成簇的,需要多次切割才能将它们“孤立”;而异常点,即那些分布稀疏的点,只需要少数几次切割就可以将它们“孤立”。
在训练阶段,孤立森林算法的伪代码如下;
Figure 428812DEST_PATH_IMAGE055
输入数据为
Figure 918699DEST_PATH_IMAGE056
,孤立森林有
Figure 714617DEST_PATH_IMAGE011
棵子树,每棵子树随机从输入数据中采样
Figure 61285DEST_PATH_IMAGE057
个数据点。因为算法更关心最先被“孤立”出来的异常点,且为了避免树将所有点都“孤立”而产生的高时间复杂度,树的深度限制在
Figure 739391DEST_PATH_IMAGE058
训练孤立森林的重要参数有:
1. 子树的个数,调节范围在[100, 1000],过低的值会导致算法效果不稳定,过高的值会导致计算资源的浪费。
2. 异常的比例,调节范围在(0, 0.2],取决于输入的异常比例。请注意,在打标模式下已对打标为异常的时序做了插值处理,所以默认此时全部为正常时序,异常的比例应设置为一个很小的值,如0.0001。
3. 采样的大小,默认
Figure 236231DEST_PATH_IMAGE059
,输入规模大时可以增大该参数。
在推理阶段,孤立森林对于每个输入样本
Figure 247175DEST_PATH_IMAGE060
计算异常分数
Figure DEST_PATH_IMAGE061
Figure 171268DEST_PATH_IMAGE062
其中,
Figure DEST_PATH_IMAGE063
为样本
Figure 664567DEST_PATH_IMAGE060
在每棵子树的高度的均值,
Figure 433939DEST_PATH_IMAGE064
是所有样本在每棵子树的高度的均值。如果异常分数接近于1,那该样本被判为异常点;如果异常分数远小于0.5,那该样本被判为正常点。
另一方面,本发明实施例提供一种基于历史表现的无监督异常检测***,所述***中包括推理模块,用于实现步骤S1-S2;纠正打标模块,用于实现步骤S3;训练和评估模块,用于实现步骤S4-S8。
图2展示了无监督异常检测方法的计算逻辑,包括了上半部分的希尔伯特黄算法和下半部分的孤立森林算法。第一步,希尔伯特黄算法的输入是多维时序特征,对该输入做经验模态分解,得到若干个固有模态函数;第二步,对这些固有模态函数做希尔伯特谱分析,得到若干个对应的希尔伯特谱;第三步,提取固有模态函数和希尔伯特谱中的信息,得到固有模态函数的频率边际谱,可以视作频率特征;第四步,频域特征根据其频率对应的时序点数进行加权;第五步,对固有模态函数的频域特征进行拼接得到完整的频域特征;第六步,孤立森林算法的输入是频域特征,运算后输出频率异常概率。
本发明的技术优势在于,采用希尔伯特黄算法做时频分析,同时考虑了时间和频率维度的信息,实现同时对时域和频域进行异常检测,覆盖面广。采用孤立森林无监督学习算法来检测异常,无需对时序数据进行打标,在实际工程应用中能够快速落地。在同一时刻保留各个维度之间的相互关系,单模型实现多维时序特征的异常检测,快速、实时性好。使用二分轮廓系数来指导参数调优,使***能够高度自动化。自动化的参数调优让无监督算法效果也能得到保障。异常检测在线学习***高度自动化,能够实现对各类数据的异常时序和频率的检测、告警等目标。
在本说明书的描述中,参考术语“实施例”、“示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,本领域的技术人员可以在不产生矛盾的情况下,将本说明书中描述的不同实施例或示例以及其中的特征进行结合或组合。
上述内容虽然已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型等更新操作。

Claims (8)

1.一种基于历史表现的无监督异常检测方法,其特征在于,所述方法包括以下步骤:
S1:周期性触发,获取推理样本;
S2:获取训练生成的模型文件和中间变量,对推理样本执行希尔伯特黄-孤立森林算法的推理流程;
S3:用户可对推理结果进行纠正打标,产生的新样本用于打标模式训练的使用;
S4: 即时模式下获取推理样本作为当前轮次的训练样本,称为T训练样本;打标模式下获取最新的打标样本作为T训练样本;
S5:从存储中获取上一轮次的训练样本,称为T-1训练样本,以时间为索引对T-1训练样本和T训练样本进行拼接、去重和存储,得到完整的训练样本;
S6: 对训练样本进行交叉验证,计算评估指标二分轮廓系数;
S7: 执行模型调优,使用网格搜索的方法重复执行S6;
S8:使用二分轮廓系数最大时的模型参数训练生成希尔伯特黄-孤立森林异常检测模型;
所述方法中使用的希尔伯特黄-孤立森林算法具体如下:
S100: 对
Figure 698253DEST_PATH_IMAGE001
维的时序特征
Figure 111917DEST_PATH_IMAGE002
进行经验模态分解,得到
Figure 870926DEST_PATH_IMAGE003
个固有模态函数
Figure 79053DEST_PATH_IMAGE004
和残差
Figure 48146DEST_PATH_IMAGE005
,其关系满足:
Figure 875288DEST_PATH_IMAGE006
其中时序特征
Figure 613437DEST_PATH_IMAGE007
是一个时间步长为
Figure 867832DEST_PATH_IMAGE008
,维度为
Figure 324221DEST_PATH_IMAGE001
,每个元素为实数
Figure 955053DEST_PATH_IMAGE009
的矩阵X;
Figure 547709DEST_PATH_IMAGE010
是经验模态分解得到的第
Figure 97639DEST_PATH_IMAGE011
个固有模态函数,其矩阵表示为
Figure 916690DEST_PATH_IMAGE012
Figure 210268DEST_PATH_IMAGE013
是经验模态分解终止后得到的残差的矩阵表示;
S200:对S100得到的
Figure 657430DEST_PATH_IMAGE003
个固有模态函数{
Figure 519207DEST_PATH_IMAGE014
分别做希尔伯特谱分析,得到
Figure 950188DEST_PATH_IMAGE003
个希尔伯特谱
Figure 657244DEST_PATH_IMAGE015
,即将固有模态函数表示在联合的时频域中;
S300:对S200得到的
Figure 224492DEST_PATH_IMAGE003
个希尔伯特谱,由于希尔伯特黄变换的端点飞翼现象,需要过滤一定比例两端的时序;根据奈奎斯特采样定理,需要过滤逼近二分之一采样频率的时序;
S400: 对S300得到的
Figure 251310DEST_PATH_IMAGE003
个过滤后的希尔伯特谱关于瞬时频率
Figure 435167DEST_PATH_IMAGE016
做分箱,该操作的主要目的是将
Figure 680335DEST_PATH_IMAGE001
维的时频域信息进行分割、聚合;接下来,对分箱后的希尔伯特谱
Figure 367668DEST_PATH_IMAGE017
求频率边际谱:
Figure 430302DEST_PATH_IMAGE018
其中
Figure 445663DEST_PATH_IMAGE019
表示
Figure 150313DEST_PATH_IMAGE017
Figure 567519DEST_PATH_IMAGE020
的联合分布,
Figure 66634DEST_PATH_IMAGE021
表示第
Figure 303711DEST_PATH_IMAGE001
维、第
Figure 280895DEST_PATH_IMAGE011
个的固有模态函数的频率边际谱,其数值
Figure 818186DEST_PATH_IMAGE022
表示的是某个瞬时频率
Figure 222623DEST_PATH_IMAGE016
下、某些时序
Figure 337209DEST_PATH_IMAGE008
下所对应的能量;
S500: 对S400得到的多维频率边际谱{
Figure 727870DEST_PATH_IMAGE023
,可以视为是多维频域特征;
频域特征根据其频率对应的时序点数进行加权得到
Figure 244302DEST_PATH_IMAGE024
S600:对S500得到的若干个加权后的多维频域特征
Figure 960586DEST_PATH_IMAGE024
进行拼接,形成完整的多维频域特征
Figure 562468DEST_PATH_IMAGE025
S700:对S600得到的多维频率特征,在训练阶段,使用孤立森林算法进行训练,得到频率异常检测模型;在推理阶段,该模型输出频率异常概率,再根据时频域的对应关系,可以得到推理样本的异常时序;
步骤S6中,验证和计算流程包括:
S61: 执行保证数据连续性的数据划分,形成K次实验;
S62: 对于第1~K次实验,对训练集执行希尔伯特黄-孤立森林算法的训练流程,得到K个异常检测模型;
S63: 对于第1~K次实验,使用S62得到的模型对测试集上执行希尔伯特黄-孤立森林算法的推理流程;
S64: 对于第1~K次实验,计算二分轮廓系数;
S65: 根据第1~K次实验得到的二分轮廓系数取均值,生成最终的二分轮廓系数。
2.根据权利要求1所述的一种基于历史表现的无监督异常检测方法,其特征在于,推理样本为包含时间戳和时序信息的文本数据。
3.根据权利要求2所述的一种基于历史表现的无监督异常检测方法,其特征在于,推理生成推理结果和日志文件。
4.根据权利要求3所述的一种基于历史表现的无监督异常检测方法,其特征在于,***启动后首次执行推理,由于尚未执行过训练,不存在模型文件和中间变量,推理结果将默认全部正常;在之后的推理任务中,将获取和使用最新一次的训练生成的模型。
5.根据权利要求4所述的一种基于历史表现的无监督异常检测方法,其特征在于,所述网格搜索通过遍历给定的模型参数组合来优化模型表现。
6.根据权利要求5所述的一种基于历史表现的无监督异常检测方法,其特征在于,打标样本为包含时间戳、时序信息和用户打标标签的文本数据。
7.一种基于历史表现的无监督异常检测***,其特征在于,所述***能够使用根据权利要求1-6任一项所述的基于历史表现的无监督异常检测方法。
8.根据权利要求7所述的一种基于历史表现的无监督异常检测***,其特征在于,所述***中包括推理模块,用于实现步骤S1-S2;纠正打标模块,用于实现步骤S3;训练和评估模块,用于实现步骤S4-S8。
CN202210979825.7A 2022-08-16 2022-08-16 基于历史表现的无监督异常检测方法及*** Active CN115080965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210979825.7A CN115080965B (zh) 2022-08-16 2022-08-16 基于历史表现的无监督异常检测方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210979825.7A CN115080965B (zh) 2022-08-16 2022-08-16 基于历史表现的无监督异常检测方法及***

Publications (2)

Publication Number Publication Date
CN115080965A CN115080965A (zh) 2022-09-20
CN115080965B true CN115080965B (zh) 2022-11-15

Family

ID=83245368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210979825.7A Active CN115080965B (zh) 2022-08-16 2022-08-16 基于历史表现的无监督异常检测方法及***

Country Status (1)

Country Link
CN (1) CN115080965B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076975A (zh) * 2021-03-17 2021-07-06 长江水利委员会长江科学院 一种基于无监督学习的大坝安全监测数据异常检测方法
CN113360563A (zh) * 2021-06-17 2021-09-07 西安超越申泰信息科技有限公司 一种航行大数据平台监控***及方法
CN114201374A (zh) * 2021-12-07 2022-03-18 华融融通(北京)科技有限公司 基于混合机器学习的运维时序数据异常检测方法及***
CN114236532A (zh) * 2021-11-23 2022-03-25 清华大学 基于多维雷达微动特征和ocsvm的空间目标异常状态检测方法
CN114492826A (zh) * 2021-11-22 2022-05-13 杭州电子科技大学 一种基于多元时序流数据的无监督异常检测分析解决方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108777873B (zh) * 2018-06-04 2021-03-02 江南大学 基于加权混合孤立森林的无线传感网络异常数据检测方法
CN108985632A (zh) * 2018-07-16 2018-12-11 国网上海市电力公司 一种基于孤立森林算法的用电数据异常检测模型
WO2021258348A1 (zh) * 2020-06-24 2021-12-30 深圳市欢太科技有限公司 异常流量检测方法和***、及计算机存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076975A (zh) * 2021-03-17 2021-07-06 长江水利委员会长江科学院 一种基于无监督学习的大坝安全监测数据异常检测方法
CN113360563A (zh) * 2021-06-17 2021-09-07 西安超越申泰信息科技有限公司 一种航行大数据平台监控***及方法
CN114492826A (zh) * 2021-11-22 2022-05-13 杭州电子科技大学 一种基于多元时序流数据的无监督异常检测分析解决方法
CN114236532A (zh) * 2021-11-23 2022-03-25 清华大学 基于多维雷达微动特征和ocsvm的空间目标异常状态检测方法
CN114201374A (zh) * 2021-12-07 2022-03-18 华融融通(北京)科技有限公司 基于混合机器学习的运维时序数据异常检测方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于孤立森林算法的电涌保护器异常参数监测研究;马俊彦等;《电子测量与仪器学报》;20200715(第07期);第63-68页 *

Also Published As

Publication number Publication date
CN115080965A (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
Dias et al. Concept lattices reduction: Definition, analysis and classification
CN111475680A (zh) 检测异常高密子图的方法、装置、设备及存储介质
WO2018009733A1 (en) Computer system and method for monitoring key performance indicators (kpis) online using time series pattern model
CN110995508A (zh) 基于kpi突变的自适应无监督在线网络异常检测方法
CN113408703B (zh) 基于神经与符号的多模态大数据机器自动学习***
CN113626502B (zh) 基于集成学习的电网数据异常检测方法及装置
CN115099335A (zh) 多源异构数据的异常辨识和特征筛选方法、***
CN114861788A (zh) 一种基于dbscan聚类的负荷异常检测方法及***
US20230108916A1 (en) Method and system for forecasting non-stationary time-series
CN111898637B (zh) 一种基于ReliefF-DDC特征选择算法
CN113052225A (zh) 基于聚类算法和时序关联规则的报警收敛方法及装置
You et al. A variable relevant multi-local PCA modeling scheme to monitor a nonlinear chemical process
CN109800815B (zh) 基于随机森林模型的训练方法、小麦识别方法和训练***
Hruschka et al. Feature selection by Bayesian networks
Gautam et al. Adaptive discretization using golden section to aid outlier detection for software development effort estimation
CN115080965B (zh) 基于历史表现的无监督异常检测方法及***
CN116091206B (zh) 信用评价方法、装置、电子设备及存储介质
CN117216702A (zh) 变电设备参数处理方法、装置及电子设备
CN116993165A (zh) 一种儿童果蔬汁的安全性评价与风险预测方法及***
CN115730248A (zh) 一种机器账号检测方法、***、设备及存储介质
Anitha et al. Analysing high dimensional data using rough tolerance relation
CN114186844A (zh) 一种窃电客户识别方法及装置
CN117893216B (zh) 基于大数据的用户行为分析方法及***
CN114339859B (zh) 识别全屋无线网络WiFi***的方法、装置及电子设备
Enver Modeling Trouble Ticket ResolutionTime Using Machine Learning

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