本发明涉及工业过程监测技术领域,特别涉及一种基于互信息和投影字典对学习的分布式过程监测方法。
背景技术:
在现代工业系统中,各子系统之间机制复杂,相互作用频繁,在整个工业生产过程中,过程变量多,变量之间相关性复杂,工业过程具有复杂性和分散性。因此,不适合为工业过程建立全局监测模型,它忽略了局部行为,并且监测结果通常难以解释,因此,分布式过程监测方法被提出,通常采用多块方法来降低过程复杂性,以及为整个工业过程提供准确的描述。
通常,整个工厂范围的过程涉及大量具有复杂关系的监测变量,在块划分过程中应考虑大量变量信息,分布式监测方法将过程变量分为几个子块,从而降低过程复杂性。考虑到多块监测,传统方法通常基于先前的过程知识来获得子块。但是,有关块划分的准确知识并非可以经常获得,特别是获得对于具有多个操作状态的全局过程。
随着人工智能的兴起,机器学习方法成为解决复杂数据驱动的有效方案。字典学习是一种有效的机器学习方法,与传统的多元统计过程监测(mspm)方法相比,它在表示和特征提取方面功能更强大。根据稀疏编码的方式不同,字典学习(dl)方法主要可以分成两大类,一类是合成型字典学习(sdl)方法,另一类是解析型字典学习(adl)方法。利用预定义的解析型字典(如小波字典、gabor字典)表示信号,可以通过简单的内积运算产生表示系数,使得编码快速而明确。然而,解析型字典学习对复杂工业过程的局部结构建模的效率较低,基于合成型字典的稀疏表示模型可以较好地模拟复杂的局部结构,并易于学习到所需要的字典。但是,合成型字典学习方法对表示系数的l0或l1范数稀疏约束使得建模和监测阶段耗费大量时间。
技术实现要素:
本发明提供了一种基于互信息和投影字典对学习的分布式过程监测方法,其目的是为了解决通过先验知识获得子块不准确,在全局监测模型中采用解析型字典学习和合成型字典学习存在不足,建模和监测阶段的效率低,全局监测模型不能为整个工业过程提供准确的描述的问题。
为了达到上述目的,本发明的实施例提供了一种基于互信息和投影字典对学习的分布式过程监测方法,包括:
步骤1,获取多模态历史数据,并将正常多模态历史数据作为训练样本;
步骤2,根据各模态的过程变量间的互信息对训练样本进行自动分块,得到各模态训练样本的分块结果;
步骤3,对训练样本每种模态的每个子块建立投影字典对学习模型,并获得相应的合成型字典和解析型字典;
步骤4,根据对训练样本每种模态的每个子块建立的投影字典对学习模型计算训练样本各块的重构误差,对自动分块后的训练样本使用核密度估计方法计算训练样本各块的控制阈值;
步骤5,在投影字典对学习模型中输入新的过程数据,将新的过程数据作为测试样本,使用互信息方法将测试样本按不同模态下训练数据分块方式进行分块,并根据分块后的测试样本的每个子块相应的投影字典对学习模型计算测试样本各块的重构误差;
步骤6,将测试样本各块的重构误差转换为模态概率,根据模态概率计算各模态下通过测试样本所有块的联合概率,根据各模态下通过测试样本所有块的联合概率对测试样本进行模态识别;
步骤7,通过贝叶斯推理方法将测试样本各块的重构误差和训练样本各块的控制阈值融合至全局异常指标中,对测试样本进行异常检测,将测试样本各块的重构误差转换为正常和异常的概率,根据贝叶斯法则得出测试样本的块异常后验概率;
步骤8,通过判断全局异常指标是否超过显著性水平α,判断测试样本是否异常,当全局异常指标未超过显著性水平α时,测试样本被检测为正常,当全局异常指标超过显著性水平α时,测试样本被检测为异常;
步骤9,对检测为异常后的测试样本通过块贡献指标定位测试样本中的异常块,并将异常块进行隔离;
步骤10,对检测为异常后的测试样本通过变量贡献指标定位异常块中的异常变量,并将异常变量进行隔离。
其中,所述步骤1和所述步骤2具体包括:
收集多模态历史数据,将多模态历史数据作为训练样本表示为x=[x1,x2,…,xk]∈rpk×n,其中k表示训练样本的模态数,p表示训练样本的维数,n表示各模态的训练样本数,将第k种模态下的训练样本变量集表示为
在第k种模态的训练样本
其中,
通过确定阈值ηk,判断各变量与目标变量间的互信息值是否满足
对第k种模态的训练样本
将第k种模态的训练样本xk的分块集合表示为
将通过互信息方法自动分块后的训练样本表示为:
其中,
其中,所述步骤3具体包括:
在第k种模态的第nk个子块的训练样本
其中,
其中,所述步骤3还包括:
使用frobenius范数对随机矩阵进行单位化处理,对合成型字典
将合成型字典
公式(4)为标准的最小二乘问题,存在一个闭型解,如下所示:
其中,i表示单位矩阵,
将解析编码矩阵
将解析型字典
其中,γ=10-4;
将变量矩阵
其中,si表示变量矩阵
通过交替方向乘子法得到公式(8)的最优解,如下所示:
其中,
在对合成型字典
其中,所述步骤4具体包括:
通过对训练样本每种模态的每个子块建立的投影字典对学习模型,计算第k种模态的第nk个子块的训练样本
其中,
通过核密度估计方法从训练样本x=[x1,x2,…,xk]∈rpk×n中获得第k种模态的第nk个子块的训练样本
其中,x表示考虑的变量,m表示训练样本大小,h表示带宽,ei表示块中第i个训练样本的重构误差,k(x)表示选择均匀核函数。
其中,所述步骤5和所述步骤6具体包括:
将新的测试样本
其中,
将ynew=[y1,y2,…,yb]t中第b个块的重构误差
其中,p(yb∈mi)表示模态概率,mi表示第i种模态,
事件ynew∈mi等价于(y1∈mi)∩(y2∈mi)∩…∩(yb∈mi),将事件ynew∈mi的概率表示为所有块的联合概率,如下所示:
其中,p(ynew∈mi)表示联合概率。
其中,所述步骤7和所述步骤8具体包括:
将测试样本ynew=[y1,y2,…,yb]t中第b个块的重构误差
其中,
根据贝叶斯法则得出块异常后验概率,如下所示:
其中,pb(a|yb)表示块异常后验概率,pb(n)表示块正常概率,pb(a)表示块异常概率,块正常概率pb(n)和块异常概率pb(a)通过显著性水平α给出,即pb(n)=1-α,pb(a)=α;
通过贝叶斯推理方法将测试样本各块的重构误差和训练样本各块的控制阈值融合至全局异常指标,将全局异常指标定义为:
其中,n表示每种模态下的分块数;
当全局异常指标gai小于显著性水平α,即gai<α时,测试样本为正常,当gai>α时,测试样本为异常。
其中,所述步骤9和所述步骤10具体包括:
将块异常标志定义为:
其中,
将块异常指标定义为:
其中,baib表示块异常指标,k表示测试样本块中异常样本数;
将块贡献指标定义为:
其中,bcib表示块贡献指标,n表示每种模态下的分块数。
其中,所述步骤10还包括:
基于块贡献指标bcib通过贡献图方法计算变量贡献指标,当块中存在异常样本
其中,i表示单位矩阵,i∈rm×m,m表示块中变量数;f表示向量,f具有非零项的异常位置和大小;异常样本
其中,
其中,所述步骤10还包括:
根据贡献图方法,将测试样本的第b块中第j个变量贡献指标表示为:
其中,
本发明的上述方案有如下的有益效果:
本发明的上述实施例所述的基于互信息和投影字典对学习的分布式过程监测方法,通过考虑多模态过程变量之间的交叉关系和高阶统计信息来自动划分块以进行分布式过程监测,降低了过程复杂性,建立投影字典对学习模型,为整个工业过程提供更准确的描述;通过引入投影字典对学习框架,将传统的判别合成型字典学习扩展为判别合成型与解析型字典对学习,在实现复杂工业过程局部建模的同时,利用解析编码方法来有效提高建模和监测阶段效率;提出了贝叶斯推理方法以融合所有子模型的监测统计信息来获得全局状态,针对已经成功检测到的异常,定义块异常指标来确定块级别的异常位置,并采用贡献图方法在变量级上进一步定位异常源。
附图说明
图1为本发明的流程图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的通过先验知识获得子块不准确,在全局监测模型中采用解析型字典学习和合成型字典学习存在不足,建模和监测阶段的效率低,全局监测模型不能为整个工业过程提供准确的描述的问题,提供了一种基于互信息和投影字典对学习的分布式过程监测方法。
如图1所示,本发明的实施例提供了一种基于互信息和投影字典对学习的分布式过程监测方法,包括:步骤1,获取多模态历史数据,并将正常多模态历史数据作为训练样本;步骤2,根据各模态的过程变量间的互信息对训练样本进行自动分块,得到各模态训练样本的分块结果;步骤3,对训练样本每种模态的每个子块建立投影字典对学习模型,并获得相应的合成型字典和解析型字典;步骤4,根据对训练样本每种模态的每个子块建立的投影字典对学习模型计算训练样本各块的重构误差,对自动分块后的训练样本使用核密度估计方法计算训练样本各块的控制阈值;步骤5,在投影字典对学习模型中输入新的过程数据,将新的过程数据作为测试样本,使用互信息方法将测试样本按不同模态下训练数据分块方式进行分块,并根据分块后的测试样本的每个子块相应的投影字典对学习模型计算测试样本各块的重构误差;步骤6,将测试样本各块的重构误差转换为模态概率,根据模态概率计算各模态下通过测试样本所有块的联合概率,根据各模态下通过测试样本所有块的联合概率对测试样本进行模态识别;步骤7,通过贝叶斯推理方法将测试样本各块的重构误差和训练样本各块的控制阈值融合至全局异常指标中,对测试样本进行异常检测,将测试样本各块的重构误差转换为正常和异常的概率,根据贝叶斯法则得出测试样本的块异常后验概率;步骤8,通过判断全局异常指标是否超过显著性水平α,判断测试样本是否异常,当全局异常指标未超过显著性水平α时,测试样本被检测为正常,当全局异常指标超过显著性水平α时,测试样本被检测为异常;步骤9,对检测为异常后的测试样本通过块贡献指标定位测试样本中的异常块,并将异常块进行隔离;步骤10,对检测为异常后的测试样本通过变量贡献指标定位异常块中的异常变量,并将异常变量进行隔离。
本发明的上述实施例所述的基于互信息和投影字典对学习的分布式过程监测方法,主要包括离线建模、在线监测和异常隔离三个阶段,离线建模:分别利用不同模态的过程变量间的互信息进行自动分块,为每个块建立投影字典对学习模型,并获得相应的合成型字典、解析型字典及控制阈值;在线监测:使用互信息方法对新获得的测试样本分块,定义块的联合概率以识别测试样本的模态,通过贝叶斯推理方法将子块的重构误差和控制阈值融合至全局异常指标,从而对测试样本进行异常检测;异常隔离:通过定义块贡献指标和变量贡献指标对异常样本进行异常源定位与隔离。
其中,所述步骤1和所述步骤2具体包括:收集多模态历史数据,将多模态历史数据作为训练样本表示为x=[x1,x2,…,xk]∈rpk×n,其中k表示训练样本的模态数,p表示训练样本的维数,n表示各模态的训练样本数,将第k种模态下的训练样本变量集表示为
其中,
通过确定阈值ηk,判断各变量与目标变量间的互信息值是否满足
对第k种模态的训练样本
将第k种模态的训练样本xk的分块集合表示为
将通过互信息方法自动分块后的训练样本表示为:
其中,
其中,所述步骤3具体包括:在第k种模态的第nk个子块的训练样本
其中,
本发明的上述实施例所述的基于互信息和投影字典对学习的分布式过程监测方法,在实际工作中,基于互信息方法自动划分块按照以下方式进行迭代:第一步:输入第k种模态的训练样本
其中,所述步骤3还包括:使用frobenius范数对随机矩阵进行单位化处理,对合成型字典
将合成型字典
公式(4)为标准的最小二乘问题,存在一个闭型解,如下所示:
其中,i表示单位矩阵,i∈rk×k,
将解析编码矩阵
将解析型字典
其中,γ=10-4;
将变量矩阵
其中,si表示变量矩阵
通过交替方向乘子法得到公式(8)的最优解,如下所示:
其中,
在对合成型字典
本发明的上述实施例所述的基于互信息和投影字典对学习的分布式过程监测方法,在实际工作中,判别合成型字典和解析型字典对学习按照以下方式进行迭代:第一步:输入第k种模态的第nk个子块中的训练样本
第八步:输出第k种模态的第nk个子块中训练样本
其中,所述步骤4具体包括:通过对训练样本每种模态的每个子块建立的投影字典对学习模型,计算第k种模态的第nk个子块的训练样本
其中,
通过核密度估计方法从训练样本x=[x1,x2,…,xk]∈rpk×n中获得第k种模态的第nk个子块的训练样本
其中,x表示考虑的变量,m表示训练样本大小,h表示带宽,ei表示块中第i个训练样本的重构误差,k(x)表示选择均匀核函数。
其中,所述步骤5和所述步骤6具体包括:将新的测试样本
其中,
将ynew=[y1,y2,…,yb]t中第b个块的重构误差
其中,p(yb∈mi)表示模态概率,mi表示第i种模态,
事件ynew∈mi等价于(y1∈mi)∩(y2∈mi)∩…∩(yb∈mi),将事件ynew∈mi的概率表示为所有块的联合概率,如下所示:
其中,p(ynew∈mi)表示联合概率。
其中,所述步骤7和所述步骤8具体包括:将测试样本ynew=[y1,y2,…,yb]t中第b个块的重构误差
其中,
根据贝叶斯法则得出块异常后验概率,如下所示:
其中,pb(a|yb)表示块异常后验概率,pb(n)表示块正常概率,pb(a)表示块异常概率,块正常概率pb(n)和块异常概率pb(a)通过显著性水平α给出,即pb(n)=1-α,pb(a)=α;
通过贝叶斯推理方法将测试样本各块的重构误差和训练样本各块的控制阈值融合至全局异常指标,将全局异常指标定义为:
其中,n表示每种模态下的分块数;
当全局异常指标gai小于显著性水平α,即gai<α时,测试样本为正常,当gai>α时,测试样本为异常。
其中,所述步骤9和所述步骤10具体包括:将块异常标志定义为:
其中,
将块异常指标定义为:
其中,baib表示块异常指标,k表示测试样本块中异常样本数;
将块贡献指标定义为:
其中,bcib表示块贡献指标,n表示每种模态下的分块数。
本发明的上述实施例所述的基于互信息和投影字典对学习的分布式过程监测方法,通过定义块异常指标和块贡献指标,确保了块级异常隔离的可靠性。
其中,所述步骤10还包括:基于块贡献指标bcib通过贡献图方法计算变量贡献指标,当块中存在异常样本
其中,i表示单位矩阵,i∈rm×m,m表示块中变量数;f表示向量,f具有非零项的异常位置和大小;异常样本
其中,
其中,所述步骤10还包括:
根据贡献图方法,将测试样本的第b块中第j个变量贡献指标表示为:
其中,
本发明的上述实施例所述的基于互信息和投影字典对学习的分布式过程监测方法,通过建立投影字典对学习模型,采用分布式过程监测方法,引入互信息方法考虑变量之间的交叉关系和高阶统计信息来自动划分块以进行分布式过程监测,降低了工业过程复杂性,为整个工业过程提供了更准确的描述,通过引入投影字典对学习框架将传统的判别合成型字典学习扩展为判别合成型与解析型字典对学习,在实现复杂工业过程局部建模的同时,利用解析编码方法来有效提高建模和监测阶段效率,利用块联合概率和贝叶斯推理方法实现模态识别和异常检测,通过定义块贡献指标和变量贡献指标进行异常源定位与隔离。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
1.一种基于互信息和投影字典对学习的分布式过程监测方法,其特征在于,包括:
步骤1,获取多模态历史数据,并将正常多模态历史数据作为训练样本;
步骤2,根据各模态的过程变量间的互信息对训练样本进行自动分块,得到各模态训练样本的分块结果;
步骤3,对训练样本每种模态的每个子块建立投影字典对学习模型,并获得相应的合成型字典和解析型字典;
步骤4,根据对训练样本每种模态的每个子块建立的投影字典对学习模型计算训练样本各块的重构误差,对自动分块后的训练样本使用核密度估计方法计算训练样本各块的控制阈值;
步骤5,在投影字典对学习模型中输入新的过程数据,将新的过程数据作为测试样本,使用互信息方法将测试样本按不同模态下训练数据分块方式进行分块,并根据分块后的测试样本的每个子块相应的投影字典对学习模型计算测试样本各块的重构误差;
步骤6,将测试样本各块的重构误差转换为模态概率,根据模态概率计算各模态下通过测试样本所有块的联合概率,根据各模态下通过测试样本所有块的联合概率对测试样本进行模态识别;
步骤7,通过贝叶斯推理方法将测试样本各块的重构误差和训练样本各块的控制阈值融合至全局异常指标中,对测试样本进行异常检测,将测试样本各块的重构误差转换为正常和异常的概率,根据贝叶斯法则得出测试样本的块异常后验概率;
步骤8,通过判断全局异常指标是否超过显著性水平α,判断测试样本是否异常,当全局异常指标未超过显著性水平α时,测试样本被检测为正常,当全局异常指标超过显著性水平α时,测试样本被检测为异常;
步骤9,对检测为异常后的测试样本通过块贡献指标定位测试样本中的异常块,并将异常块进行隔离;
步骤10,对检测为异常后的测试样本通过变量贡献指标定位异常块中的异常变量,并将异常变量进行隔离。
2.根据权利要求1所述的基于互信息和投影字典对学习的分布式过程监测方法,其特征在于,所述步骤1和所述步骤2具体包括:
收集多模态历史数据,将多模态历史数据作为训练样本表示为x=[x1,x2,…,xk]∈rpk×n,其中k表示训练样本的模态数,p表示训练样本的维数,n表示各模态的训练样本数,将第k种模态下的训练样本变量集表示为
在第k种模态的训练样本
其中,
通过确定阈值ηk,判断各变量与目标变量间的互信息值是否满足
对第k种模态的训练样本
将第k种模态的训练样本xk的分块集合表示为
将通过互信息方法自动分块后的训练样本表示为:
其中,
3.根据权利要求2所述的基于互信息和投影字典对学习的分布式过程监测方法,其特征在于,所述步骤3具体包括:
在第k种模态的第nk个子块的训练样本
其中,
4.根据权利要求3所述的基于互信息和投影字典对学习的分布式过程监测方法,其特征在于,所述步骤3还包括:
使用frobenius范数对随机矩阵进行单位化处理,对合成型字典
将合成型字典
公式(4)为标准的最小二乘问题,存在一个闭型解,如下所示:
其中,i表示单位矩阵,i∈rk×k,
将解析编码矩阵
将解析型字典
其中,γ=10-4;
将变量矩阵
其中,si表示变量矩阵
通过交替方向乘子法得到公式(8)的最优解,如下所示:
其中,
在对合成型字典
5.根据权利要求3所述的基于互信息和投影字典对学习的分布式过程监测方法,其特征在于,所述步骤4具体包括:
通过对训练样本每种模态的每个子块建立的投影字典对学习模型,计算第k种模态的第nk个子块的训练样本
其中,
通过核密度估计方法从训练样本x=[x1,x2,…,xk]∈rpk×n中获得第k种模态的第nk个子块的训练样本
其中,x表示考虑的变量,m表示训练样本大小,h表示带宽,ei表示块中第i个训练样本的重构误差,k(x)表示选择均匀核函数。
6.根据权利要求3所述的基于互信息和投影字典对学习的分布式过程监测方法,其特征在于,所述步骤5和所述步骤6具体包括:
将新的测试样本
其中,
将ynew=[y1,y2,…,yb]t中第b个块的重构误差
其中,p(yb∈mi)表示模态概率,mi表示第i种模态,
事件ynew∈mi等价于(y1∈mi)∩(y2∈mi)∩…∩(yb∈mi),将事件ynew∈mi的概率表示为所有块的联合概率,如下所示:
其中,p(ynew∈mi)表示联合概率。
7.根据权利要求6所述的基于互信息和投影字典对学习的分布式过程监测方法,其特征在于,所述步骤7和所述步骤8具体包括:
将测试样本ynew=[y1,y2,…,yb]t中第b个块的重构误差
其中,
根据贝叶斯法则得出块异常后验概率,如下所示:
其中,pb(a|yb)表示块异常后验概率,pb(n)表示块正常概率,pb(a)表示块异常概率,块正常概率pb(n)和块异常概率pb(a)通过显著性水平α给出,即pb(n)=1-α,pb(a)=α;
通过贝叶斯推理方法将测试样本各块的重构误差和训练样本各块的控制阈值融合至全局异常指标,将全局异常指标定义为:
其中,n表示每种模态下的分块数;
当全局异常指标gai小于显著性水平α,即gai<α时,测试样本为正常,当gai>α时,测试样本为异常。
8.根据权利要求6所述的基于互信息和投影字典对学习的分布式过程监测方法,其特征在于,所述步骤9和所述步骤10具体包括:
将块异常标志定义为:
其中,
将块异常指标定义为:
其中,baib表示块异常指标,k表示测试样本块中异常样本数;
将块贡献指标定义为:
其中,bcib表示块贡献指标,n表示每种模态下的分块数。
9.根据权利要求6所述的基于互信息和投影字典对学习的分布式过程监测方法,其特征在于,所述步骤10还包括:
基于块贡献指标bcib通过贡献图方法计算变量贡献指标,当块中存在异常样本
其中,i表示单位矩阵,i∈rm×m,m表示块中变量数;f表示向量,f具有非零项的异常位置和大小;异常样本
其中,
10.根据权利要求9所述的基于互信息和投影字典对学习的分布式过程监测方法,其特征在于,所述步骤10还包括:
根据贡献图方法,将测试样本的第b块中第j个变量贡献指标表示为:
其中,