本发明属于二氧化碳吸收塔的过程领域,尤其涉及一种基于核矩阵近似的二氧化碳吸收塔故障诊断方法。
背景技术:
在大数据时代下,统计机器学习、数据挖掘等学科的热度高涨,并且这些理论目前在工业过程控制领域已取得了一些进展。在现代流程工业中,为了保证过程安全可靠、产品质量过关、经济效益最大化,故障诊断成为了工业控制系统中不可或缺的部分。对于一个实际的二氧化碳吸收塔,像温度、压力、流量等过程变量与质量变量天然具有较强非线性的数据特性,于是便需要针对测量数据的非线性进行建模。
为了达到上述的目的,二氧化碳吸收塔中常用的故障诊断方法有主成分分析(pca)、偏最小二乘(pls)以及它们的扩展方法等,但是这些方法对于过程数据具有的非线性特性的描述能力有限,无法对于具有强非线性的数据进行准确的建模。因此,为了对过程变量的非线性特性进行建模,引入了核方法(kernelmethod),产生了核主成分分析(kpca)、核偏最小二乘(kpls)以及它们的一些扩展模型来处理数据的非线性特性。
然而,以上基于核方法的模型具有一定局限性:其核矩阵的维度等于数据样本维度,其计算复杂度会以样本维度的三次方的速度增长,在模型参数的求解中需要对核矩阵进行特征值分解,在实际的应用中其计算复杂度高、计算耗时长,所以传统的核方法的使用收到了限制。
技术实现要素:
本发明的目的在于针对现有技术的不足,提供一种基于核矩阵近似的非线性过程二氧化碳吸收塔的故障诊断方法。首先,对采样得到的过程变量数据集进行预处理后对其使用核方法并得到核矩阵;其次,对核矩阵使用典型相关分析进行非线性模型的建立,在求解模型参数时避免对原始样本维度的核矩阵进行特征值分解,而对核矩阵采取矩阵近似,结合矩阵满秩分解后求解近似核矩阵的特征向量,以此减小计算负荷、缩短了运行时间;然后,运用上述核矩阵近似进行典型相关分析建模得到的模型参数进行故障检测;在故障被检测出来后,通过模型参数进行故障诊断,从而实现非线性过程二氧化碳吸收塔的故障诊断。
本发明的目的是通过以下技术方案来实现的:
一种基于核矩阵近似的二氧化碳吸收塔故障诊断方法,包括以下步骤:
(1)采集待检测二氧化碳吸收塔在正常运行时的数据作为训练样本,所述训练样本包括过程变量数据集xnoc,质量变量数据集ynoc,其中xnoc∈rd×m,ynoc∈rd×n,d为训练样本总数,m为过程变量总数,n为质量变量总数;
(2)对过程变量数据集xnoc,质量变量数据集ynoc进行归一化预处理,得到预处理后的训练样本集
(3)计算训练样本集
(4)对核矩阵kx和ky利用典型相关分析进行建模,得到核矩阵k,其中k∈rd×d;
(5)对核矩阵k进行矩阵近似得到近似核矩阵
(6)计算训练样本集
(7)采集待检测的二氧化碳吸收塔中的数据作为测试样本,对测试样本进行归一化预处理后得到测试样本集
(8)将测试样本集
(9)取出所述故障样本,得到故障样本集ff,从训练样本集中取出正常样本,记为正常样本集fn,得到待诊断数据集
(10)定义标签数据矩阵l作为待诊断数据集x的故障标签,其中
(11)对待诊断数据集x与标签数据矩阵l进行归一化预处理得到
(12)由得分矩阵t计算权重w,根据权重w计算待诊断数据集x中的过程变量和质量变量关于
优选的,步骤(1)中,利用分布式控制系统采集的正常工况下的数据作为建模使用的训练样本集。对于二氧化碳吸收塔来讲,在一段时间内,采样总数与采样频率有关;变量总数一般由二氧化碳吸收塔的性质与主要影响因素有关。常见的过程变量包括了测量变量与质量变量,过程变量包括但不限于:温度、压力、流量、液位、产物浓度、重量、ph值等。
优选的,步骤(2)中,对测量变量数据集xnoc,质量变量数据集ynoc分别进行归一化预处理,即减去均值然后除以标准差,以消除其在水平和量纲上的差异,使得各个过程变量的均值为0,方差为1。
优选的,步骤(3)选用高斯径向基函数作为核函数计算核矩阵kx和ky:
其中
优选的,步骤(4)具体为:
其中k∈rd×d。
优选的,步骤(5)具体为:
(5-1)对核矩阵k采用
k=cw+ct
其中c∈rd×z,w∈rz×z,z为
(5-2)对w+进行特征值分解得到:
w+=sλst
其中s∈rz×v,λ∈rv×v,w+为w的广义逆矩阵,v为kx的秩;
(5-3)对矩阵c与矩阵s的乘积进行满秩分解得到f,g,其中f∈rd×v,g∈rv×v;
(5-4)由g与λ计算矩阵m:
m=gλgt
其中m∈rv×v;
(5-5)对m进行特征值分解得到:
m=hωht
其中h∈rv×v,ω∈rv×v;
(5-6)计算基于核矩阵近似的特征向量矩阵j:
j=fh
其中j∈rd×v;
(5-7)基于满秩分解的近似核矩阵的特征值分解为:
其中
(5-8)从j中得到kx和ky的投影矩阵p和q:
其中p,q∈rd×v。
优选的,步骤(6)具体为:
计算训练样本集
e1=ptkx-ωqky
e2=qky-ωtptkx
其中
构建spe统计量:
计算spe统计量控制限spelimit:
gh=mean(spe)
2g2h=var(spe)
其中g,h为卡方分布参数,mean(·)为均值运算符号,var(·)为方差运算符号。
优选的,步骤(8)具体为:
(8-1)选取高斯径向基函数作为核函数,计算测试样本集
其中
(8-2)根据核矩阵
其中
(8-3)构建spetest统计量:
判断spetest是否超过步骤(6)所述控制限spelimit,若超过,则判断为故障样本,若不超过,则判断为正常样本;
优选的,步骤(10)中所述标签数据矩阵l如下所示:
其中
优选的,步骤(11)所述得分矩阵t的计算公式如下:
t=kxdu
其中
优选的,步骤(12)具体如下:
(12-1)由得分矩阵t计算权重矩阵w:
其中w∈r(m+n)×η;
(12-2)计算待诊断数据集x中的过程变量和质量变量关于
其中kmi(·)表示核互信息的计算公式,tα表示得分矩阵t的第α列,wiα表示权重矩阵w的第i行,第α列的元素;
(12-3)根据故障关联度的大小,得到故障诊断结果。观察故障关联度的大小,得到故障诊断结果,其中故障关联度大的变量为故障变量的可能性更大。
本发明的有益效果是:本发明提出了一种基于满秩分解核矩阵近似的典型相关分析的模型。对于二氧化碳吸收塔过程中带有强非线性关系的过程变量数据,首先进行预处理后对其使用核方法并得到核矩阵,接着对核矩阵使用典型相关分析进行非线性模型的建立,在求解模型参数时避免对原始样本维度的核矩阵进行特征值分解,而对核矩阵采取矩阵近似,结合矩阵满秩分解后求解近似核矩阵的特征向量,然后,运用上述核矩阵近似得到的模型参数进行故障检测;在故障被检测出来后,通过模型参数计算得到故障关联度进行故障诊断,从而实现了非线性过程二氧化碳吸收塔的故障诊断。相比目前其它的二氧化碳吸收塔故障诊断方法,本发明不仅可以进行故障检测,并且能在故障被检测到后进行故障诊断以保证了过程监测的完整性,极大的提高非线性过程二氧化碳吸收塔过程故障诊断的效果,同时很大程度减小计算负荷、缩短了运行时间,提升了基于此发明的故障诊断方法的科学性和有效性。
附图说明
图1为本发明中基于核矩阵近似的二氧化碳吸收塔故障诊断方法的流程图。
具体实施方式
本方法是一种基于核矩阵近似的二氧化碳吸收塔故障诊断方法,该方法针对二氧化碳吸收塔的故障诊断问题,首先利用分布式控制系统收集正常工况下的数据,建立基于满秩分解的核矩阵近似方法结合典型相关分析的核学习模型。核典型相关分析的模型参数由核矩阵的特征值分解得到,其中核矩阵的特征值分解通过其矩阵近似得到。在此基础上,基于该模型构建了故障检测统计量spe及其对应的统计限spelimit,对新采样的过程数据进行故障检测。在故障被检测到后,构建待诊断数据集,可再次利用以上模型构建方法,计算每个变量的故障关联度,并得到最终的故障检测结果。
第一步:利用分布式控制系统采集二氧化碳吸收塔正常工况下的数据,组成训练样本数据进行建模,其中测量变量、质量变量数据集分别为:
xnoc∈rd×m,xnoc=[x1,x2,...,xd]t
ynoc∈rd×n,ynoc=[y1,y2,...,yd]l
其中:d为采样总数,m为测量变量总数,n为质量变量总数;
第二步:对测量变量数据集xnoc,质量变量数据集ynoc分别进行数据预处理,以消除其在水平和量纲上的差异,使得各个过程变量的均值为0,方差为1,得到预处理后的训练样本集
第三步:选用高斯径向基函数作为核函数计算核矩阵:
其中
第四步:由核矩阵kx,ky建立核典型相关分析模型,计算核矩阵k:
其中k∈rd×d。
第五步:核典型相关分析的模型参数可以通过对k矩阵进行特征值分解得到,但是该矩阵的维度等于样本维度,在样本很大时进行特征值分解的计算消耗量大、耗时长。因此,先对矩阵k采用
k=cw+ct
其中c∈rd×z,w∈rz×z,z为
对w+进行特征值分解:
w+=sλst
其中s∈rz×v,λ∈rv×v,w+为w的广义逆矩阵,v为kx的秩;
对矩阵c与矩阵s的乘积进行满秩分解得到f,g,其中f∈rd×v,g∈rv×v;
计算矩阵m:
m=gλgt
其中m∈rv×v;
对m进行特征值分解:
m=hωht
其中h∈rv×v,ω∈rv×v;
计算近似特征向量矩阵:
j=fh
其中j∈rd×v;
基于满秩分解的近似核矩阵的特征值分解为:
其中
从j中得到kx,ky的投影矩阵p,q:
其中p,q∈rd×v。
第六步:通过上一步骤中计算得到的投影矩阵p,q,计算训练样本集
e1=ptkx-ωqky
e2=qky-ωtptkx
其中
基于模型的残差矩阵,构建spe统计量进行故障检测:
spe统计量控制限spelimit服从卡方分布
gh=mean(spe)
2g2h=var(spe)
其中g,h为卡方分布参数,mean(·)为均值运算符号,var(·)为方差运算符号。
第七步:利用分布式控制系统采集新的待检测的二氧化碳吸收塔的数据集作为测试样本,其中测量变量数据集xtest,质量变量数据集ytest:
xtest∈rd×m,xtest=[x1,x2,…,xd]
ytest∈rd×n,ytest=[y1,y2,…,yd]
其中d为测试样本集的样本数,对其分别进行数据预处理,以消除其在水平和量纲上的差异,使得各个过程变量的均值为0,方差为1,得到预处理后的测试样本集
第八步:采用基于核矩阵近似的核典型相关分析模型对产生测试样本集的二氧化碳吸收塔进行在线故障检测,将测试样本集
同样按照第三步中的方法,选取高斯径向基函数作为核函数,由测试样本集与训练样本集,计算测试集的核矩阵:
其中
使用第五步中计算得到的投影矩阵p,q以及核矩阵
其中
基于测试样本集的残差矩阵,构建spetest统计量进行故障检测:
若spetest超过spelimit则检测到故障。
第九步:取出所述故障样本,得到故障样本集ff,将故障样本总数记为s,从训练样本集中取出与故障样本集中的样本数量相同的正常样本,记为正常样本集fn,得到待诊断数据集
第十步:定义标签数据矩阵l作为待诊断数据集x的故障标签:
其中
第十一步:对待诊断数据集x与标签数据矩阵l分别进行数据预处理,消除其在水平和量纲上的差异,使得各个过程变量的均值为0,方差为1,得到预处理后的待诊断数据集
按照第三步计算用于故障诊断的核矩阵kxd,kld:
其中
由核矩阵kxd,kld建立核典型相关分析模型,计算核矩阵kd:
其中
核典型相关分析的模型参数可以通过对kd矩阵进行特征值分解得到,但是该矩阵的维度等于样本维度,在样本很大时进行特征值分解的计算消耗量大、耗时长。选用第五步中的方法,求取基于满秩分解的近似核矩阵
其中
从jd中得到kxd的投影矩阵u,其中
计算kxd的得分矩阵:
t=kxdu
其中
第十二步:由得分矩阵t计算权重w:
其中w∈r(m+n)×η。
在权重w的指导下,计算待诊断数据集x中的过程变量和质量变量关于
其中kmi(·)表示核互信息的计算公式,tα表示得分矩阵t的第α列,wiα表示权重矩阵w的第i行,第α列的元素。观察故障关联度的大小,得到故障诊断结果,其中故障关联度大的变量为故障变量的可能性越大。
为了检验本发明的可行性,针对训练样本集和测试样本集均为5000个样本,在四种不同故障下,各重复试验5次,使用常规核矩阵特征值分解和使用核矩阵近似的特征值分解对于四种故障能都得到准确的故障诊断结果。为了验证基于满秩分解的核矩阵近似的特征值分解减少的计算损耗,表1记录了使用常规核矩阵特征值分解和使用核矩阵近似的特征值分解的运行时间。
表1基于核矩阵近似的二氧化碳吸收塔故障诊断方法特征值分解耗时比较