CN112380274B - 一种面向控制过程的异常检测方法 - Google Patents
一种面向控制过程的异常检测方法 Download PDFInfo
- Publication number
- CN112380274B CN112380274B CN202011276874.1A CN202011276874A CN112380274B CN 112380274 B CN112380274 B CN 112380274B CN 202011276874 A CN202011276874 A CN 202011276874A CN 112380274 B CN112380274 B CN 112380274B
- Authority
- CN
- China
- Prior art keywords
- data
- rule
- association
- rules
- association rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/2465—Query processing support for facilitating data mining operations in structured databases
-
- 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/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本发明通过人工智能领域的方法,实现了一种面向控制过程的异常检测方法,系统架构分为训练阶段和测试阶段两部分,训练阶段中,将所述训练集的所述传感器数据经过离散化步骤后输入关联规则挖掘步骤,将所述执行器的数据直接输入关联规则挖掘步骤之后,则通过关联规则挖掘算法生成关联规则;测试阶段中,所述传感器数据离散化后,与执行器数据和标签属性一起输入到异常检测模型,所述异常检测模型利用关联规则挖掘算法,最终输出检测结果。通过上述手段实现一种面向工业控制系统的基于关联规则的异常检测方法,将更多的关联规则用于异常检测过程中,并在保证一定召回率的情况下,有效的减少误报,在保证不影响结果的情况下,避免大量关联规则降低效率。
Description
技术领域
本发明涉及人工智能领域,尤其涉及一种面向控制过程的异常检测方法。
背景技术
随着计算机和网络技术的发展,越来越多的通用协议、硬件和软件在工业控制系统中使用,并以各种方式与互联网等公共网络连接,这导致近些年发生了许多的工业控制系统中的安全事件。同时由于工业控制系统通常用于大型基础设施,系统中的异常往往会造成严重的经济损失和恶劣的社会影响。因此,针对工业控制系统提出异常检测方法具有十分重要的意义。
由于攻击数量不断增加以及其造成的严重后果,研究人员进行了大量研究工作,并且提出了很多异常检测方法以减小外部攻击和物理故障对工业控制系统的影响。常用的方法是直接使用传统信息技术系统的异常检测方法对工业控制系统进行检测,例如基于网络流量的方法。与传统的基于信息技术的系统相比,工业控制系统的最大特点是可以与物理世界进行交互,并且目前的攻击者的隐蔽性非常高,传统的异常检测方法往往很难发现这些攻击,因此需要结合物理过程提出针对性的异常检测方法。这类方法通常可以分为基于预测模型的异常检测和基于分类模型的异常检测。
基于预测模型的异常检测方法通过对工业控制系统进行建模生成预测模型,然后将历史数据作为输入,输出预测的数据,最后将预测数据与观测数据进行比较,判断系统是否处于异常状态。预测模型往往包含自回归模型以及线性动态状态空间模型等线性模型,此类方法的建模过程比较简单,但是很难描述复杂系统。随着深度学习在语音识别、图像处理以及自然语言处理等方面的高速发展,研究人员也尝试利用深度学习作为预测模型的方法。
另外一类常用的异常检测方法是基于分类模型的异常检测方法,此类方法主要是通过分析工业控制系统,建立分类模型,然后将此模型用于异常检测。常用的有基于传统机器学习的方法,这种方法通常需要两类标签的数据进行训练,将异常检测问题转化为分类问题。当只有一类正常数据集时,一类支持向量机(OCSVM)也是一种常用的异常检测方法。除此之外,另一种基于分类模型的异常检测方法是基于规则的方法,很多论文中也称为不变量,即给定状态时,系统运行期间所保持的条件。这一类方法需要建立系统在正常运转的情况下所满足的规则,当违背规则时,系统处于异常状态。
上述方法中,典型的现有方法有以下几类:
基于LSTM或CNN的异常检测方法:
基于长短期记忆网络(LSTM)或卷积神经网络(CNN)的异常检测方法是根据历史数据预测下一时刻传感器的值,并通过观测值和预测值计算残差,最终进行异常检测。这种方法只需要对正常状态下的数据进行训练,训练阶段不需要异常数据。
采用了三层LSTM的形式,最后加入了一个全连接层。在数据处理方面,使用每个属性的最小值与最大值将每个属性都归一化到[0,1]之间,输入是一个时间窗口内的数据,输出为下一时刻的数据。基于CNN的预测模型如图2所示,在实际的实验中采用了4层传统的卷积层加池化层的结构,池化层选取了最大池化的方法,并且将每一层的过滤器长度加倍,后便加入了Dropout层防止过拟合,最后加入了一个全连接层。在数据处理方面,同样是将每个属性都归一化到[0,1]之间,输入是一个时间窗口内的数据,输出为下一时刻的数据。
在预测模型构造完成之后,下一步是计算预测值与观测值的差值的绝对值,并将其作为残差,每一时刻的每一个属性均被计算一个残差,当一个时间窗口w内所有属性残差的最大值均超过阈值T时,这个时间窗口被认为处于异常状态。该异常检测方法还使用了一种数据增强的方法,对特征进行了扩充,增加了当前时刻的特征与一段时间之前的特征之间的差值。
基于LSTM或CNN的异常检测方法构造了预测模型,利用历史数据对未来数据进行预测,并通过残差进行异常检测。这种方法存在对模型和异常的解释性较差的缺点,很难给出异常发生的原因。而在实际的工业控制系统中,发生异常的原因往往非常重要,它可以很有效的帮助工作人员定位异常,节省很多不必要的人工成本。同时,基于LSTM或CNN的异常检测方法通常涉及到大量的超参数,例如时间窗口,模型的层数以及阈值等等。这些超参数会对最终的结果产生影响,并且部分超参数会对结果产生较大的影响,而且工业控制系统中往往存在大量噪声,很难严格的定义正常与异常传感器的之间的差异。很难合理的选取这些超参数是该方法存在的一个缺点。
基于OCSVM的异常检测方法:
一类支持向量机(OCSVM)是经常用于异常检测的一种传统机器学习方法,该方法只需要对正常状态下的数据进行训练,训练阶段不需要异常数据。在数据处理方面,使用每个属性的均值和方差对数据进行归一化,并且使用滑动窗口的方法,将第i个数据到第i+w-1个数据作为一个窗口内的数据,将其转换为单一向量。在训练阶段,只需从训练数据中提取所有窗口,然后将它们提供给OCSVM,最终便可以训练出一个超平面,对数据进行正常或异常的判断。在测试阶段,如果一个窗口被判定为异常,那么则认为整个窗口的所有时刻均为异常状态。
该方法主要的缺点和基于神经网络的方法一样,同样是存在对模型和异常的解释性较差的缺点,当给出异常的判断时,无法给出异常发生的原因或者异常发生的位置,而在实际的工业控制系统中,工作人员更加依赖于异常的物理解释。以及,该方法还存在超平面难以界定的缺点,当把所有的训练数据都包含在超平面之内时,最终的结果误报较少,但是召回率较低。当把一些训练数据划分为异常数据,不包含在超平面之内时,召回率会提高,但是会导致误报较多,精确率较低。
基于关联规则异常检测方法:
有些研究人员也提出了使用关联规则进行异常检测的方法[5],该方法只需要对正常状态下的数据进行训练,训练阶段不需要异常数据。在数据处理方面,只考虑安全水处理数据集[7]的第一阶段,将水面的高度根据值的大小划分为不同的级别。在训练阶段,使用Apriori算法对训练数据挖掘关联规则,每个关联规则的左部和右部均只有一个属性。在测试阶段,当某一时刻的数据违背关联规则时,当前时刻被认为是异常状态。
该方法只考虑了成对出现的关联规则,即每个关联规则的左部和右部均只有一个属性,没有考虑多个属性之间关系;只使用了安全水处理数据集的第一阶段的数据,没有考虑跨阶段之间的关联规则;当关联规则的置信度不等于1时,会产生较多的误报,精确率较低。
基于上述现有技术的问题,本发明希望提出一种面向工业控制系统的基于关联规则的异常检测方法,能够解决如下技术问题:
(1)在保证性能的情况下,给予模型和异常一定的物理解释。
(2)将更多的关联规则用于异常检测过程中,尤其是置信度不高的规则,并在保证一定召回率的情况下,有效的减少误报。
(3)在数据量较多时,频繁项集和关联规则的数量较多,挖掘关联规则和检测异常的时间较长。本发明在保证不影响结果的情况下,避免使用频繁项集生成大量关联规则,删除关联规则中的冗余规则,仅使用非冗余规则进行异常检测。
发明内容
为此,本发明提出了一种面向控制过程的异常检测系统,系统架构分为训练阶段和测试阶段两部分,原始数据分为训练数据和测试数据,每个数据集的属性都包含m个传感器(0≤m≤67)、n个执行器(0≤n≤60)以及1个标签属性;
所述训练阶段中,将所述训练数据的所述传感器数据经过离散化步骤后输入关联规则挖掘步骤,将所述执行器的数据直接输入关联规则挖掘步骤之后,则通过关联规则挖掘算法生成关联规则,所述测试阶段将数据离散化,所述传感器的数据经过需要进行单独的离散化之后再与执行器数据一起进行关联规则挖掘,之后则通过经过非冗余规则进行时间优化、构建前缀树和使用闭频繁项集挖掘非冗余规则的方法构建关联规则挖掘算法并生成关联规则;
所述测试阶段中,所述传感器数据离散化后,与执行器数据和标签属性一起输入到异常检测模型,所述异常检测模型利用关联规则挖掘算法生成关联规则,其中的关联规则代表着不同的传感器或执行器之间的制约关系,将这些关联规则应用于异常检测的过程当中,当某一时刻的测试数据违背关联规则并且连续违背时间超过对应的容忍度时,该时刻被认为是异常状态,最终输出所有测试数据的异常检测结果以及违背的关联规则。异常检测的结果可以有效地发现工业控制系统中存在的异常状况,而违背的关联规则可以帮助工作人员以极小的代价定位异常,以便后续提供解决异常的方案。
数据的所述离散化步骤具体实现方式为:对于执行器产生离散的数据,当属性C在某一时刻的值为V时,直接以“C:V”的形式作为此时刻的一项;对传感器产生的连续数据,离散化可以转换为聚类的过程,首先确定的是根据数值或是趋势进行聚类,然后选择聚类算法;根据数值大小聚类针对属性值的变化很快,没有长时间的变化趋势,并且值的分布比较集中,直接按照属性的值对其进行聚类,聚类算法选择K-means算法;按数值的趋势聚类适用于具有明显的变化趋势,并且值的分布并不集中的属性,首先对数据进行平滑,之后,对数据进行分段处理,采用基于滑动窗口的算法,计算每一段的变化率对数据进行分段表示,将数据分成多个数据段,并且得到每一段数据的变化率,之后,对每段数据进行聚类,输入则是每段数据的变化率,聚类算法选取K-means算法,根据变化率的分布确定算法中的参数K。
所述平滑处理方法为滑动平均的方法,假设当前的属性对应的数据为s=[s1,s2,s3,…,sm],平滑之后的数据为s'=[s'1,s'2,s'3,…,s'm],平滑的过程如下所示,
w表示滑动窗口的宽度,当滑动窗口内缺少数据时,直接用第一个数据或者最后一个数据进行填充。
所述关联规则挖掘步骤首先是设定最小支持度和最小置信度,然后通过FP-growth算法挖掘频繁项集,最后在频繁项集中挖掘强关联规则,当检测过程当中,当测试数据在一段时间T内违背了某一条关联规则,且T大于此关联规则对应的不同状态的容忍度时,超出容忍度的时间为异常状态。
所述容忍度的计算方式为:首先定义每一时刻的数据与关联规则之间的关系,将这种关系分为三类:满足、违背和不相关,令St表示t时刻的数据,X→Y表示某一关联规则,当并且/>时,St满足规则X→Y;当/>并且/>时,St违背规则X→Y;当时,St与规则X→Y不相关,令S(X→Y)表示满足关联规则X→Y的时刻的集合,A(X→Y)表示违背关联规则X→Y的时刻的集合,N(X→Y)表示与关联规则X→Y不相关的时刻的集合,那么一个规则的置信度可以写成公式的形式:
在计算一个关联规则X→Y容忍度时,这个阶段求出每个频繁项集的ψ函数,即每个项集出现的Tid的集合,当计算关联规则X→Y容忍度时,首先计算违背该规则的Tid集合A(X→Y),可以通过ψ(X)-ψ(Y)计算得出,接下来扫描A(X→Y)中的Tid,当扫描到连续阶段的第一个Tid时,判断Tid-1是否出现在ψ(X)中,如果出现在ψ(X)中,那么这段连续时间的长度作为容忍度的第一项的备选值,如果没有出现在ψ(X)中,那么这段连续时间的长度作为容忍度的第二项的备选值,然后计算两个备选值列表中的最大值作为容忍度的第一项和第二项;在得到每个关联规则的容忍度之后,最后将根据容忍度重新设计异常检测的方法,检测过程需要考虑每一个规则可以容忍的最长连续时间,在检测过程当中,当测试数据在一段时间T内违背了某一条关联规则,且T大于此关联规则对应的不同状态的容忍度时,超出容忍度的时间为异常状态。
所述非冗余规则为:一个关联规则X→Y是非冗余规则,当且仅当不存在一个关联规则A→B,且满足和tolA→B≤tolX→Y,即二元组中每一个值均小于等于tolX→Y,之后,在挖掘关联规则和异常检测之间加入删除冗余规则这一步骤,删除冗余规则的算法为,利用两层循环挖掘非冗余规则,外层循环的关联规则与内层循环的关联规则进行比较,当外层循环的关联规则是冗余规则时,将编号放入del_index中,并直接终止内层循环,因为外层循环的规则已经被确定为冗余规则,当内层循环的关联规则是冗余规则时,将编号放入del_index中,继续内层循环,在每次进行对比之前都要保证两个规则的编号没有出现在del_index中,最后删除掉del_index中的编号所对应的关联规则,剩下的就是非冗余规则;得到了非冗余规则之后,利用非冗余规则进行异常检测,异常检测算法为,首先定义每个规则的被连续违背的最长时间以及被违背之前与数据的关系,然后计算每个时刻所违背规则的集合,同时保留上个时刻违背规则的集合,,最后通过比较规则被连续违背的时间与对应状态的容忍度之前的大小关系确定该时刻是否为异常。
所述构建前缀树首先对所有关联规则的左部和右部分别构造前缀树,然后搜索右部构建的前缀树,得到右部是D的子集的所有关联规则的编号right_id,在搜索时,如果遇到某个项没有出现在D中,则对其进行剪枝,不再搜索其子节点,如果right_id的数量与所有关联规则的数量相等,则说明当前时刻的数据不违背任意一个关联规则,即输出空集,如果right_id的数量与所有关联规则的数量不相等,那么还需要搜索左部构建的前缀树,得到左部是D的子集的所有关联规则的编号left_id,left_id与right_id的差则表示当前时刻违背的所有关联规则的编号的集合。
所述闭频繁项集挖掘非冗余规则根据CHARM算法挖掘闭频繁项集,然后使用Talky-G算法挖掘生成器,最后通过哈希表在闭频繁项集和生成器之间建立连接,选取所有Tid编号的和对k取模作为哈希值,并且当哈希值冲突时选取链表对数据进行连接。
所述关联规则挖掘算法首先挖掘闭频繁项集、生成器以及二者的对应关系,然后挖掘删除部分冗余规则之后的强关联规则,再然后删除剩余冗余规则,最后利用非冗余规则进行异常检测。
本发明所要实现的技术效果在于:
(1)提出一种面向工业控制系统的基于关联规则的异常检测方法,在保证性能的情况下,给予模型和异常一定的物理解释。较高的性能可以保证系统在较少误报的情况下发现更多的异常,节省了工业成本并且有效避免产生严重的损失。在异常发生时,模型和异常的物理解释可以有效的帮助工作人员以极小的代价定位异常,以便后续提供解决异常的方案。
(2)将更多的关联规则用于异常检测过程中,尤其是置信度不高的规则,并在保证一定召回率的情况下,有效的减少误报。
(3)在数据量较多时,频繁项集和关联规则的数量较多,挖掘关联规则和检测异常的时间较长。本发明在保证不影响结果的情况下,避免使用频繁项集生成大量关联规则,删除关联规则中的冗余规则,仅使用非冗余规则进行异常检测。
附图说明
图1基于关联规则的异常检测系统的基本框架;
图2变化快速但取值范围稳定的趋势;
图3趋势明显的数值图形;
图4分段后的趋势明显的数值图形;
图5SWaT实验台的部分简化图;
图6非冗余规则与非冗余规则的关系;
图7容忍度对方法的影响;
图8挖掘非冗余规则和全部规则的时间;
图9非冗余规则和全部规则的数量;
图10使用非冗余规则和全部规则进行检测的时间;
具体实施方式
以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。
本发明提出了一种面向控制过程的异常检测方法,在数据挖掘领域,关联规则表示从大量数据中挖掘出有价值的数据项之间的相关关系,这个概念可以天然的用于从工业数据中挖掘规则的任务中。本发明提出了利用关联规则挖掘算法生成关联规则,从而对工业控制系统中的数据进行异常检测的方法。图3展现了该方法的整体框架,原始数据分为训练数据和测试数据,每个数据集的属性都包含m个传感器、n个执行器以及1个标签属性。因为频繁项集和关联规则的挖掘要求输入数据为离散型,所以传感器数据需要进行单独的离散化之后再与执行器数据一起进行关联规则挖掘,之后则通过关联规则挖掘算法生成关联规则。在测试阶段,传感器数据同样需要进行离散化并与执行器数据和标签属性一起输入到异常检测模型,最终输出检测结果。下面我们将介绍离散化方法以及关联规则挖掘方法的具体细节。
(1)数据离散化
频繁项集和关联规则的挖掘要求数据是离散型的,因此我们需要将原始的数据转化为离散型的。工业控制系统中的属性可以分为执行器和传感器,执行器有阀门以及某些机器的开关等,取值范围往往是打开和关闭,有些属性也可能包括三种状态:打开、关闭以及中间状态。传感器通常收集的是一些连续型的值,以水处理系统举例,例如水箱中的水位、水的流量和水压等。
执行器产生的数据本身就是离散的,因此对它的离散化操作很简单。当属性C在某一时刻的值为V时,我们直接以“C:V”的形式作为此时刻的一项,例如在某一时刻,属性MV101的状态为1,P301属性的状态为1,那么最终可以转换为“MV101:1”和“P301:2”。传感器产生的数据一般是连续型的,如果继续采用上述的方法处理数据,会导致离散值过多,无法推导出有意义的规则。对数据的离散化可以转换为聚类的过程,首先确定的是根据数据的哪些特征进行聚类,然后选择合适的聚类算法。我们根据每个属性不同的特点,将属性分为两类进行不同的聚类处理。
(a)按值的大小聚类。如图2所示,有些属性的值的变化很快,没有长时间的变化趋势,并且值的分布比较集中,例如水的流量或者水的pH值。对于这类属性,我们直接按照属性的值对其进行聚类。聚类算法选择K-means算法,我们可以根据属性的分布确定算法中的参数K,例如,对于图2中的属性,我们将K设为2。
(b)按值的趋势聚类。如图3所示,有些属性具有明显的变化趋势,并且值的分布并不集中,例如水位。对于这一类属性,我们将根据他们的趋势进行聚类。由于噪音的影响,首先需要对数据进行平滑,我们采用了滑动平均的方法对数据进行平滑处理。假设当前的属性对应的数据为s=[s1,s2,s3,…,sm],平滑之后的数据为s'=[s'1,s'2,s'3,…,s'm],平滑的过程如公式所示,其中
的w表示滑动窗口的宽度,当滑动窗口内缺少数据时,我们直接用第一个数据或者最后一个数据进行填充。在对数据进行平滑处理之后,我们需要对数据进行分段处理。对于时间序列的分段表示已经被广泛使用与各种任务当中[6],在本发明中我们采用基于滑动窗口的算法,通过计算每一段的变化率对数据进行分段表示。算法的伪代码如表1所示,其中的update_diff_mean函数是计算一段数据的变化率,concat函数则是将每段数据进行保存。通过运行此算法,我们将数据分成了多个数据段,并且得到了每一段数据的变化率,将图3的属性进行分段,如图所示,每两个红线之间表示一段数据。对数据进行分段表示之后,我们对每段数据进行聚类,输入则是每段数据的变化率diff_seg_mean。聚类算法选取K-means算法,根据变化率的分布确定算法中的参数K,并且可以根据每一段的变化率对其进行物理解释,例如,在图4中的属性可以分为上升和下降两种趋势,其他的属性还可以分为快速上升、缓慢上升、平稳以及快速下降等,这种利用自然语言的形式可以很好的对模型或者异常进行解释。
表1基于滑动窗口的分段算法
(2)关联规则挖掘
通过上一节的离散化处理,我们将原始数据处理成了关联规则挖掘所需要的形式,下一步便是对关联规则进行挖掘。首先是设定最小支持度和最小置信度,然后通过FP-growth算法挖掘频繁项集,最后在频繁项集中挖掘强关联规则。得到关联规则之后便可以利用这些关联规则进行异常检测,当某一时刻违背某一条关联规则时,该时刻被认为处于异常状态。
在初步的实验中,我们发现当最小置信度取小于1的值时,结果会产生大量的误报,导致精确率很低。主要原因是关联规则的置信度本身就表示数据中满足规则的概率,而置信度不高的规则代表着训练数据中会有很多时刻违背该规则,那么在测试数据中也必然会产生很多误报。这些置信度不为1的规则往往都是因为一些短时的物理活动导致的,如图5所示,这是安全水处理(SWaT)实验台的一部分简化图,T101表示第一阶段的水箱,P101表示第一阶段的水泵,MV201表示第二阶段的阀门,1表示关闭,2表示打开,在SWaT数据集中存在关联规则P101:2→MV201:2,其置信度为1,即当第一阶段的水泵打开时,第二阶段的阀门一定也处于打开的状态。而关联规则MV201:2→P101:2的置信度为0.99,即第二阶段的阀门处于打开的状态时,第一阶段的水泵不是一直打开的。主要原因是水泵和阀门之间存在一定距离,当第一阶段的水泵关闭时,第二阶段的阀门不是立即关闭的,而是需要这部分水通过,阀门才会关闭。除此之外,在SWaT实验台的第三阶段存在规则P302:2→MV302:2,其置信度为0.98,即第三阶段的水泵打开时,该阶段的阀门不一定处于打开的状态。主要原因是第三阶段是过滤阶段,在水泵打开之后,需要一段时间清洗过滤膜,然后再打开阀门。这些置信度小于1的关联规则在最小置信度设为1时会被过滤掉,而当最小置信度设为小于1的值时,这些规则又会造成较多的误报,为了解决这个问题,我们在下文提出了容忍度的概念。
首先定义每一时刻的数据与关联规则之间的关系,我们将这种关系分为三类:满足、违背和不相关。令St表示t时刻的数据,X→Y表示某一关联规则。当并且/>时,St满足规则X→Y;当/>并且/>时,St违背规则X→Y;当/>时,St与规则X→Y不相关。令S(X→Y)表示满足关联规则X→Y的时刻的集合,A(X→Y)表示违背关联规则X→Y的时刻的集合,N(X→Y)表示与关联规则X→Y不相关的时刻的集合,那么一个规则的置信度可以写成公式(2.2)的形式,
置信度等于1的关联规则表示数据中没有违背该规则的时刻。我们通过一个例子描述这三种关系,以SWaT数据及为例,表2展示了其中一部分数据,对于关联规则MV201:2→P101:2,Tid为1和2的时刻满足该关联规则,Tid为3、4和5的时刻违背该关联规则,Tid为6和7的时刻与该关联规则不相关。
表2 SWaT数据集的一部分
Tid | 项集 |
1 | P101:2,MV201:2,…,P602:1 |
2 | P101:2,MV201:2,…,P602:1 |
3 | P101:1,MV201:2,…,P602:1 |
4 | P101:1,MV201:2,…,P602:1 |
5 | P101:1,MV201:2,…,P602:1 |
6 | P101:1,MV201:0,…,P602:1 |
7 | P101:1,MV201:0,…,P602:1 |
我们将关联规则的容忍度tolX→Y定义为一个二元组 表示满足关联规则X→Y之后连续违背该规则的最长时间,/>表示与关联规则X→Y不相关之后连续违背该规则的最长时间。容忍度的直观理解是每一个关联规则可以容忍的被连续违背的最长时间。这样定义的方式主要考虑了数据与关联规则之间的不同的状态可能代表着不同的物理过程,以关联规则MV201:2→P101:2为例,如果违背该规则之前是满足此规则的时刻,那么代表这一时间段MV201一直处于打开的状态,如果违背该规则之前是与此规则不相关的时刻,那么代表这段时间是由MV201从关闭到打开的过程。
由上述定义可知置信度为1的关联规则的容忍度为(0,0),因为置信度为1代表数据中没有违反该关联规则的时刻。以表2中的数据为例,在违背关联规则MV201:2→P101:2之前是满足此规则的时刻,连续违背此规则的时间为3秒,因此该关联规则的容忍度的第一项一定大于等于3秒。在计算一个关联规则X→Y容忍度时,最朴素的方法是扫描所有数据,记录每个时刻与该规则之间的关系,最后计算对应的容忍度。这种方法需要多次扫描数据集,非常耗时。由于挖掘频繁项集阶段也需要扫描数据集,我们可以在这个阶段求出每个频繁项集的ψ函数,即每个项集出现的Tid的集合。当计算关联规则X→Y容忍度时,首先计算违背该规则的Tid集合A(X→Y),可以通过ψ(X)-ψ(Y)计算得出,接下来扫描A(X→Y)中的Tid,当扫描到连续阶段的第一个Tid时,判断Tid-1是否出现在ψ(X)中,如果出现在ψ(X)中,那么这段连续时间的长度作为容忍度的第一项的备选值,如果没有出现在ψ(X)中,那么这段连续时间的长度作为容忍度的第二项的备选值,然后计算两个备选值列表中的最大值作为容忍度的第一项和第二项,具体的算法如表3所示。
表3 计算容忍度算法2:计算容忍度
在得到每个关联规则的容忍度之后,最后我们将根据容忍度重新设计异常检测的方法。传统的基于关联规则的检测方法是当某一时刻违背某一条关联规则时,该时刻被认为处于异常状态。我们提出容忍度之后,检测过程需要考虑每一个规则可以容忍的最长连续时间,因此我们提出的根据容忍度的异常检测方法是:在检测过程当中,当测试数据在一段时间T内违背了某一条关联规则,且T大于此关联规则对应的不同状态的容忍度时,超出容忍度的时间为异常状态。
(3)使用非冗余规则进行时间优化
第一节和第二节介绍了如何挖掘关联规则以及如何使用关联规则进行异常检测,从挖掘关联规则到进行异常检测可以简单描述成三个阶段,首先通过最小支持度挖掘频繁项集,然后通过最小置信度在频繁项集中挖掘关联规则,最后通过关联规则进行异常检测。但是由于工业控制系统中的传感器或执行器较多,且收集时间较长,频繁项集和关联规则的数量较多,这导致了挖掘关联规则和异常检测的时间较长,因此我们提出了非冗余规则的概念。
我们已经提出了根据容忍度的异常检测方法:在检测过程当中,当测试数据在一段时间T内违背了某一条关联规则,且T大于此关联规则对应的不同状态的容忍度时,超出容忍度的时间为异常状态。我们根据该检测方法提出了本发明的非冗余规则的定义:一个关联规则X→Y是非冗余规则,当且仅当不存在一个关联规则A→B,且满足和tolA→B≤tolX→Y(二元组中每一个值均小于等于)。定义的主要依据是:如果存在一个关联规则A→B满足上述条件,那么当某一时刻违背关联规则X→Y时,也必定违背关联规则A→B,因此关联规则X→Y对异常检测过程没有贡献。
定义了非冗余规则之后,我们可以改进图8中的步骤,如图9所示,在挖掘关联规则和异常检测之间加入删除冗余规则这一步骤,达到缩短异常检测时间的目的。删除冗余规则的算法如表4所示,我们利用两层循环挖掘非冗余规则,外层循环的关联规则与内层循环的关联规则进行比较,当外层循环的关联规则是冗余规则时,将编号放入del_index中,并直接终止内层循环,因为外层循环的规则已经被确定为冗余规则。当内层循环的关联规则是冗余规则时,将编号放入del_index中,继续内层循环。在每次进行对比之前都要保证两个规则的编号没有出现在del_index中。最后删除掉del_index中的编号所对应的关联规则,剩下的就是非冗余规则。
表4删除冗余规则
当我们得到了非冗余规则之后,最后一步便是利用非冗余规则进行异常检测,异常检测算法如表5所示,首先定义每个规则的被连续违背的最长时间以及被违背之前与数据的关系。然后计算每个时刻所违背规则的集合,同时保留上个时刻违背规则的集合,方便查找哪些规则是首次被违背。最后通过比较规则被连续违背的时间与对应状态的容忍度之前的大小关系确定该时刻是否为异常。
表5异常检测
/>
在整个异常检测过程中,花费时间最长的是计算每个时刻违背规则的集合。朴素的方法是遍历所有关联规则,与规则的左部和右部分别进行对比,查找当前时刻违背哪些规则。但是在规则较多时,这种方法会导致异常检测过程较慢。我们提出了构建两个前缀树的方法,算法如表6所示,首先对所有关联规则的左部和右部分别构造前缀树,然后搜索右部构建的前缀树,得到右部是D的子集的所有关联规则的编号right_id,在搜索时,如果遇到某个项没有出现在D中,则对其进行剪枝,不再搜索其子节点。如果right_id的数量与所有关联规则的数量相等,则说明当前时刻的数据不违背任意一个关联规则,即输出空集。如果right_id的数量与所有关联规则的数量不相等,那么还需要搜索左部构建的前缀树,得到左部是D的子集的所有关联规则的编号left_id,left_id与right_id的差则表示当前时刻违背的所有关联规则的编号的集合。
表6查找某一时刻数据违背的所有关联规则
利用非冗余规则进行异常检测可以有效地缩短异常检测时间,但是目前仍存在两个问题:挖掘频繁项集和关联规则的时间较长以及频繁项集和关联规则的数量较多。因此,我们提出了如何使用闭频繁项集挖掘非冗余规则。
非冗余规则的定义往往是针对不同的任务而提出的,有些非冗余规则是对所有关联规则的无损压缩,即通过非冗余规则及其支持度与置信度可以推导出所有的关联规则以及它们的支持度与置信度,而有些非冗余规则会损失一些信息。Bastide等人提出了一种非冗余规则的定义方式:一个规则X→Y是非冗余规则,当且仅当不存在一个规则A→B,且满足supA→B=supX→Y和confA→B=confX→Y。作者在文中也证明了如何通过闭频繁项集和其对应的生成器直接得到非冗余规则。将我们之前提出的非冗余规则记为非冗余规则①,将Bastide等人提出的非冗余规则记为非冗余规则②,通过证明可知(详见附录),在同一数据集下,非冗余规则①是非冗余规则②的子集,如图6所示。因此,在本发明提出的方法中,我们可以通过闭频繁项集和其对应的生成器直接得到已经删除部分冗余规则的关联规则,算法如表7所示,外层循环为生成器G,内层循环为闭频繁项集CF,最后得到了删除部分冗余规则的关联规则。在此算法之前,还需要得到闭频繁项集、生成器以及两者的对应关系。我们使用了Szathmary等人提出的Snow-Touch算法,主要是根据CHARM算法挖掘闭频繁项集,然后提出了使用Talky-G算法挖掘生成器,最后通过哈希表在闭频繁项集和生成器之间建立连接,我们选取了所有Tid编号的和对k取模作为哈希值,并且当哈希值冲突时选取链表对数据进行连接。
通过上述的算法,我们可以将异常检测过程做进一步的修改,整体的异常检测算法如表8所示,首先是利用Snow_Touch算法挖掘闭频繁项集、生成器以及二者的对应关系,然后是挖掘删除部分冗余规则之后的强关联规则,再然后是删除剩余冗余规则,最后是利用非冗余规则进行异常检测。
表7挖掘强关联规则(删除部分冗余规则)
表8 通过闭频繁项集挖掘关联规则进行异常检测的算法
/>
实验效果:
实验选取的数据集为安全水处理(SWaT)实验台[7]和水分配(WADI)实验台[10]收集的数据,将本发明提出的基于关联规则(AR)的异常检测方法与基于CNN的异常检测方法、基于LSTM的异常检测方法和基于OCSVM的异常检测方法进行了对比。评价方法选取了精确率、召回率、F1值以及检测时间。实验结果如下:
通过对实验结果的分析,我们可以得到以下结论:
(1)在通过精确率、召回率和F1值对比不同方法时,我们提出的基于关联规则的方法在两个数据集上都达到了最佳的结果。具体来说,在召回率上的提升是最明显的,在SWaT数据集上的召回率比最佳方法提升了13.02%,在WADI数据集上的召回率比最佳方法提升了28.85%。其次是在F1只上的提升,在SWaT数据集上的F1值比最佳方法提升了9.55%,在WADI数据集上的F1值比最佳方法提升了20.77%。
(2)除了精确率、召回率和F1值,我们还对比了不同方法的检测时间。基于CNN的方法的检测时间在两个数据集上都是最快的,其次是本发明提出的基于关联规则的方法,最慢的方法时基于LSTM的方法。通过实验结果我们也可以发现,除了基于OCSVM的方法,其他方法在WADI数据集上的检测时间要小于在SWaT数据集上的检测时间,主要原因是SWaT数据集的测试数据较多,同时基于OCSVM的方法的检测时间非常依赖于超参数的选取,在两个数据集上,超参数的选择不相同。在SWaT数据集上,我们提出的方法与基于CNN的方法在检测时间上十分接近,主要是因为我们对关联规则的左部和右部分别建立了前缀树,缩短了规则的匹配时间,而SWaT数据集的测试数据较多,利用前缀树对关联规则的压缩比较明显。
除了和其他种类的方法进行对比,我们也对比了本发明提出的方法和不加容忍度的基于关联规则的方法,如图7所示,实验结果表示加入容忍度之后可以有效地减少误报,即提高精确率,虽然这也导致了召回率降低,但是降低的幅度不大,最终的F1值也得到了提升,这也说明了我们提出的容忍度的有效性。我们通过实验结果可以发现当最小置信度为1时,两个方法的结果是一样的,原因是置信度为1的关联规则的容忍度均为0,不会影响最终的检测结果。在这两种方法中,随着最小置信度的变大,精确率逐渐变大,召回率逐渐变小,主要原因是当最小置信度变大时,关联规则的数量减少并且每个关联规则的置信度都偏大,导致发现的异常数量减少,也就导致了召回率变小和精确率变大。
除了与其他方法的对比,实验还从三方面对比了非冗余规则和全部规则。我们以SWaT数据集为例,超参数包括最小置信度、最小支持度和数据量,最小置信度变化时,最小支持度为0.7,数据量为100%;最小支持度变化时,最小置信度为0.8,数据量为100%;数据量变化时,最小支持度为0.7,最小置信度为0.8。
(1)对比挖掘非冗余规则和挖掘全部规则的时间:如图8所示,三幅图分别表示挖掘时间随着最小置信度、最小支持度以及数据量的变化而变化,由三幅图可以看出,挖掘非冗余规则的时间要小于挖掘全部规则的时间。
(2)对比非冗余规则和挖掘全部规则的数量:如图9所示,三幅图分别表示规则的数量随着最小置信度、最小支持度以及数据量的变化而变化,由三幅图可以看出,非冗余规则的数量要比全部规则的数量小几个数量级。
(3)对比使用非冗余规则和全部规则进行检测的时间:如图10所示,三幅图分别表示检测时间随着最小置信度、最小支持度以及数据量的变化而变化,由三幅图可以看出,使用非冗余规则进行检测的时间要比使用全部规则进行检测的时间小几个数量级。
Claims (8)
1.一种面向控制过程的异常检测方法,其特征在于:系统架构分为训练阶段和测试阶段两部分,原始数据分为训练数据和测试数据,每个数据集的属性都包含m个传感器,0≤m≤67、n个执行器,0≤n≤60,以及1个标签属性;
所述训练阶段中,将所述训练数据的所述传感器的数据经过离散化步骤后输入关联规则挖掘步骤,将所述执行器的数据直接输入关联规则挖掘步骤之后,则通过关联规则挖掘算法生成关联规则,所述测试阶段将数据离散化,所述传感器的数据经过需要进行单独的离散化之后再与执行器数据一起进行关联规则挖掘,之后则通过经过非冗余规则进行时间优化、构建前缀树和使用闭频繁项集挖掘非冗余规则的方法构建关联规则挖掘算法并生成关联规则;
所述测试阶段中,所述传感器数据离散化后,与执行器数据和标签属性一起输入到异常检测模型,所述异常检测模型利用关联规则挖掘算法生成关联规则,其中的关联规则代表着不同的传感器或执行器之间的制约关系,将这些关联规则应用于异常检测的过程当中,当某一时刻的测试数据违背关联规则并且连续违背时间超过对应的容忍度时,该时刻被认为是异常状态,最终输出所有测试数据的异常检测结果以及违背的关联规则,从而输出发现的工业控制系统中存在的异常状况;
所述非冗余规则为:一个关联规则X→Y是非冗余规则,当且仅当不存在一个关联规则A→B,且满足和tolA→B≤tolX→Y,即二元组中每一个值均小于等于tolX→Y,之后,在挖掘关联规则和异常检测之间加入删除冗余规则这一步骤,删除冗余规则的算法为,利用两层循环挖掘非冗余规则,外层循环的关联规则与内层循环的关联规则进行比较,当外层循环的关联规则是冗余规则时,将编号放入用于删除冗余规则的数据集del_index中,并直接终止内层循环,因为外层循环的规则已经被确定为冗余规则,当内层循环的关联规则是冗余规则时,将编号放入del_index中,继续内层循环,在每次进行对比之前都要保证两个规则的编号没有出现在del_index中,最后删除掉del_index中的编号所对应的关联规则,剩下的就是非冗余规则;得到了非冗余规则之后,利用非冗余规则进行异常检测,异常检测算法为,首先定义每个规则的被连续违背的最长时间以及被违背之前与数据的关系,然后计算每个时刻所违背规则的集合,同时保留上个时刻违背规则的集合,最后通过比较规则被连续违背的时间与对应状态的容忍度之前的大小关系确定该时刻是否为异常。
2.如权利要求1中所述一种面向控制过程的异常检测方法,其特征在于:数据的所述离散化步骤具体实现方式为:对于执行器产生离散的数据,当属性C在某一时刻的值为V时,直接以“C:V”的形式作为此时刻的一项;对传感器产生的连续数据,离散化转换为聚类的过程,首先确定的是根据数值或是趋势进行聚类,然后选择聚类算法;根据数值大小聚类针对属性值的变化很快,没有长时间的变化趋势,并且值的分布比较集中,直接按照属性的值对其进行聚类,聚类算法选择K-means算法;按数值的趋势聚类适用于具有明显的变化趋势,并且值的分布并不集中的属性,首先对数据进行平滑,之后,对数据进行分段处理,采用基于滑动窗口的算法,计算每一段的变化率对数据进行分段表示,将数据分成多个数据段,并且得到每一段数据的变化率,之后,对每段数据进行聚类,输入则是每段数据的变化率,聚类算法选取K-means算法,根据变化率的分布确定算法中的参数K。
3.如权利要求2中所述一种面向控制过程的异常检测方法,其特征在于:所述平滑处理方法为滑动平均的方法,假设当前的属性对应的数据为s=[s1,s2,s3,…,sm],平滑之后的数据为s'=[s'1,s'2,s'3,…,s'm],平滑的过程如下所示,
w表示滑动窗口的宽度,当滑动窗口内缺少数据时,直接用第一个数据或者最后一个数据进行填充。
4.如权利要求3中所述一种面向控制过程的异常检测方法,其特征在于:所述关联规则挖掘步骤首先是设定最小支持度和最小置信度,然后通过FP-growth算法挖掘频繁项集,最后在频繁项集中挖掘强关联规则,当检测过程当中,当测试数据在一段时间T内违背了某一条关联规则,且T大于此关联规则对应的不同状态的容忍度时,超出容忍度的时间为异常状态。
5.如权利要求4中所述一种面向控制过程的异常检测方法,其特征在于:所述容忍度的计算方式为:首先定义每一时刻的数据与关联规则之间的关系,将这种关系分为三类:满足、违背和不相关,令St表示t时刻的数据,X→Y表示某一关联规则,当并且/>时,St满足规则X→Y;当/>并且/>时,St违背规则X→Y;当/>时,St与规则X→Y不相关,令S(X→Y)表示满足关联规则X→Y的时刻的集合,A(X→Y)表示违背关联规则X→Y的时刻的集合,N(X→Y)表示与关联规则X→Y不相关的时刻的集合,那么一个规则的置信度写成公式的形式:
在计算一个关联规则X→Y容忍度时,这个阶段求出每个频繁项集的ψ函数,即每个项集出现在表示时刻的Tid的集合,当计算关联规则X→Y容忍度时,首先计算违背该规则的Tid集合A(X→Y),通过ψ(X)-ψ(Y)计算得出,接下来扫描A(X→Y)中的Tid,当扫描到连续阶段的第一个Tid时,判断Tid-1是否出现在ψ(X)中,如果出现在ψ(X)中,那么这段连续时间的长度作为容忍度的第一项的备选值,如果没有出现在ψ(X)中,那么这段连续时间的长度作为容忍度的第二项的备选值,然后计算两个备选值列表中的最大值作为容忍度的第一项和第二项;在得到每个关联规则的容忍度之后,最后将根据容忍度重新设计异常检测的方法,检测过程需要考虑每一个规则容忍的最长连续时间,在检测过程当中,当测试数据在一段时间T内违背了某一条关联规则,且T大于此关联规则对应的不同状态的容忍度时,超出容忍度的时间为异常状态。
6.如权利要求5中所述一种面向控制过程的异常检测方法,其特征在于:所述构建前缀树首先对所有关联规则的左部和右部分别构造前缀树,然后搜索右部构建的前缀树,得到右部是某一时刻的数据D的子集的所有关联规则的编号right_id,在搜索时,如果遇到某个项没有出现在D中,则对其进行剪枝,不再搜索其子节点,如果right_id的数量与所有关联规则的数量相等,则说明当前时刻的数据不违背任意一个关联规则,即输出空集,如果right_id的数量与所有关联规则的数量不相等,那么还需要搜索左部构建的前缀树,得到左部是D的子集的所有关联规则的编号left_id,left_id与right_id的差则表示当前时刻违背的所有关联规则的编号的集合。
7.如权利要求6中所述一种面向控制过程的异常检测方法,其特征在于:所述闭频繁项集挖掘非冗余规则根据CHARM算法挖掘闭频繁项集,然后使用Talky-G算法挖掘生成器,最后通过哈希表在闭频繁项集和生成器之间建立连接,选取所有Tid编号的和对哈希值的个数k取模作为哈希值,并且当哈希值冲突时选取链表对数据进行连接。
8.如权利要求7中所述一种面向控制过程的异常检测方法,其特征在于:所述关联规则挖掘算法首先挖掘闭频繁项集、生成器以及二者的对应关系,然后挖掘删除部分冗余规则之后的强关联规则,再然后删除剩余冗余规则,最后利用非冗余规则进行异常检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011276874.1A CN112380274B (zh) | 2020-11-16 | 2020-11-16 | 一种面向控制过程的异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011276874.1A CN112380274B (zh) | 2020-11-16 | 2020-11-16 | 一种面向控制过程的异常检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112380274A CN112380274A (zh) | 2021-02-19 |
CN112380274B true CN112380274B (zh) | 2023-08-22 |
Family
ID=74585490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011276874.1A Active CN112380274B (zh) | 2020-11-16 | 2020-11-16 | 一种面向控制过程的异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112380274B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800686A (zh) * | 2021-03-29 | 2021-05-14 | 国网江西省电力有限公司电力科学研究院 | 一种变压器dga在线监测数据异常模式判定方法 |
CN113282686B (zh) * | 2021-06-03 | 2023-11-07 | 光大科技有限公司 | 一种不平衡样本的关联规则确定方法及装置 |
CN113542062A (zh) * | 2021-07-12 | 2021-10-22 | 广东电网有限责任公司 | 一种配电物联网故障检测方法、装置、设备及存储介质 |
CN117093951B (zh) * | 2023-10-16 | 2024-01-26 | 北京安天网络安全技术有限公司 | 一种威胁情报合并方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943667A (en) * | 1997-06-03 | 1999-08-24 | International Business Machines Corporation | Eliminating redundancy in generation of association rules for on-line mining |
CN108958215A (zh) * | 2018-06-01 | 2018-12-07 | 天泽信息产业股份有限公司 | 一种基于数据挖掘的工程车辆故障预测系统及其预测方法 |
CN110008253A (zh) * | 2019-03-28 | 2019-07-12 | 浙江大学 | 基于两阶段频繁项集产生策略的工业数据关联规则挖掘及异常工况预测方法 |
CN110018670A (zh) * | 2019-03-28 | 2019-07-16 | 浙江大学 | 一种基于动态关联规则挖掘的工业过程异常工况预测方法 |
-
2020
- 2020-11-16 CN CN202011276874.1A patent/CN112380274B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943667A (en) * | 1997-06-03 | 1999-08-24 | International Business Machines Corporation | Eliminating redundancy in generation of association rules for on-line mining |
CN108958215A (zh) * | 2018-06-01 | 2018-12-07 | 天泽信息产业股份有限公司 | 一种基于数据挖掘的工程车辆故障预测系统及其预测方法 |
CN110008253A (zh) * | 2019-03-28 | 2019-07-12 | 浙江大学 | 基于两阶段频繁项集产生策略的工业数据关联规则挖掘及异常工况预测方法 |
CN110018670A (zh) * | 2019-03-28 | 2019-07-16 | 浙江大学 | 一种基于动态关联规则挖掘的工业过程异常工况预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112380274A (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112380274B (zh) | 一种面向控制过程的异常检测方法 | |
Hsieh et al. | Unsupervised online anomaly detection on multivariate sensing time series data for smart manufacturing | |
Zhao et al. | Condition-driven data analytics and monitoring for wide-range nonstationary and transient continuous processes | |
KR102274389B1 (ko) | 센서 데이터를 이용한 이상패턴 탐지 모델 구축 방법 및 이를 이용한 이상 탐지 장치 및 방법 | |
Kadwe et al. | A review on concept drift | |
Wang et al. | Earliness-aware deep convolutional networks for early time series classification | |
CN111552843B (zh) | 一种基于加权因果依赖图的故障预测方法 | |
CN113064873B (zh) | 一种高召回率的日志异常检测方法 | |
CN117421582A (zh) | 一种基于多源数据驱动的设备健康分析方法 | |
Wang et al. | DPGCN model: a novel fault diagnosis method for marine diesel engines based on imbalanced datasets | |
Liu et al. | Helical fault diagnosis model based on data-driven incremental mergence | |
Li et al. | STAGED: A Spatial-Temporal Aware Graph Encoder-Decoder for Fault Diagnosis in Industrial Processes | |
Li et al. | Correlation-based anomaly detection method for multi-sensor system | |
Ossai | Modified spatio-temporal neural networks for failure risk prognosis and status forecasting of permanent downhole pressure gauge | |
Tahan et al. | Development of fully convolutional neural networks based on discretization in time series classification | |
CN113485863B (zh) | 基于改进生成对抗网络生成异构不平衡故障样本的方法 | |
Zhang et al. | Recognition of oil & gas pipelines operational states using graph network structural features | |
Martí et al. | YASA: yet another time series segmentation algorithm for anomaly detection in big data problems | |
Iegorov et al. | Parameterless semi-supervised anomaly detection in univariate time series | |
Chen et al. | Identification of Wellbore Flow Abnormal Working Conditions Based on Deep Learning | |
Wang et al. | Fault diagnosis of ship ballast water system based on support vector machine optimized by improved sparrow search algorithm | |
Yu et al. | Anomaly Detection for Industrial Time Series Data Based on Correlation Analysis and CNN-BiLSTM with Self-attention | |
Liang et al. | Leak Detection in Natural Gas Pipelines Based on Unsupervised Reconstruction of Healthy Flow Data | |
Kovito | Fault Detection of Mechanical Equipment Failure Detection Using Intelligent Data Analysis | |
CN112579667B (zh) | 数据驱动的发动机多学科知识机器学习方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |