刘毅,金福江,高增梁
(1.特种装备制造与先进加工技术教育部/浙江省重点实验室 浙江工业大学化工机械设计研究所,杭州310032;2.华侨大学信息科学与工程学院,福建厦门361021)
随着DCS在化工过程的普遍应用,数据驱动的软测量建模方法被广泛用于估计产物等难以在线测量的质量信息。常用的方法有偏最小二乘回归等多变量统计方法、神经网络、支持向量机回归SVR(Support Vector Regression)等[1-2]。在解决小样本情况下的非线性建模问题方面,SVR等稀疏核学习SKL(Sparse Kernel Learning)方法的推广性能更好[3],是目前化工过程软测量建模较为有效的途径之一[1,4-9]。
大部分化工过程都是非线性的,过程变量间相关且含有噪声[1-2]。因此,建模前进行有效的变量选择和信息提取能降低模型的复杂度。常用的方法有用于提取高斯信息的主元分析PCA(Principal Component Analysis);用于提取非高斯信息的独立成分分析ICA(Independent Component Analysis);在高维特征空间处理高斯信息的核主元分析KPCA(Kernel PCA)等[7-9]。文献[7]指出变量间的相关性会降低SVR的推广能力,并比较了这三种方法在SVR降维预处理的应用,结果表明KPCA和ICA能提取更高阶的信息,效果优于PCA,仿真结果表明KPCA结果最好。文献[8—9]将KPCA或ICA等方法用于SVR软测量模型的输入变量选择,也提高了模型的预报精度。然而,KPCA只能在高维特征空间提取二阶统计量等高斯信息,ICA只能在原变量空间提取非高斯信息。因此,为了在高维特征空间提取高阶统计量等非高斯信息,文献[10]提出了核独立成分分析KICA(Kernel ICA)。最近,KICA被引入化工过程监控和故障诊断等领域,以求获得更好的监测效果[11-14]。
近年来,为适应多品种、小批量和高质量的市场竞争需求,间歇过程在精细化工和生物制药等行业得到广泛应用[15]。间歇过程为非稳态操作,其动态和非线性特性较连续过程更为显著。同时,间歇过程的很多重要变量通常无法在线测量,且没有准确的机理模型可利用,研究如何及时获得间歇过程的状态信息对保障其产品质量具有重要意义。因此,笔者将KICA用于间歇过程软测量建模输入变量的特征提取,以在高维特征空间提取更能反映过程特征的非高斯信息,从而为进一步建立更为简单和有效的软测量模型奠定基础。
一大类非线性过程可表示为[5-6]
式中:uk,yk——k时刻过程的调节变量和被控变量;nu,ny——相应阶次;f(·)——未知的非线性函数;xk——过程的广义输入变量。
与神经网络相比,以SVR为代表的SKL辨识方法采用结构风险最小化原则,能够保证在小样本情况下建立的非线性辨识模型推广性能较好,且模型较容易获得[3-9]。根据统计学习理论[2],采用SKL辨识模型获得f(·)的预测输出:
式中:αk——SKL模型的参数,可离线学习得到固定的参数,或在线自适应调整参数[4],亦可两者相结合。SKL的主要方法包括SVR或稀疏最小二乘SVR(Sparse Least Squares-SVR,SLSSVR)[9]或关联向量机[2]等,可统一表示为[5]
式中:NSV——支持向量个数;K〈xi,xk〉——满足Mercer定理的核函数[2];b——偏置。为便于和文献[7—9]等提出的建模方法比较,笔者在具体的应用中采用常用的离线SVR算法。
ICA作为一种新的统计信号处理方法,较PCA更有效利用了高阶信息统计量,可在统计独立意义下分离混合信号。因此,ICA在盲源信号分离、混合语音分离、生物医学信号处理、图像处理、人脸识别等领域已获得了成功的应用[7],但在化工过程的应用还相对较少。
ICA的基本思想是假设过程测量信号是由一些相互独立的信号源、过程噪声及干扰混合叠加而成的,依照信息论准则从中分离或提取出尽可能相互独立的特征信号。假设k时刻的输入变量xk=[xk,1,…,xk,n]T∈Rn×1(数据已经过白化处理[7])是m 个非高斯分布的独立源信号sk=[sk,1,…,sk,m]T∈Rm×1的线性组合,即:
式中:A=[a1,…,an]T∈Rn×m——混叠系数矩阵。ICA主要思想是在尽量少的假设条件下(假设各成分均统计独立且服从非高斯分布)估计出A和sk。在A和独立成分向量sk都未知的情况下,求取一分离矩阵W,以便从观测信号中分离出源信号,即:
式中:z——概率密度函数为f(z)的随机变量;zG——与z具有相同方差特性的高斯变量;H(·)——随机变量的微分熵;η——正常数;G(·)——非二次函数[7]。为得到所有独立成分,需最大化函数JG[7],即:
区别于传统的PCA等多变量统计方法,ICA提取的独立成分不仅是不相关的,而且是统计独立的。此外,它提取了过程的高阶统计量信息,从而能更好描述过程变量的特征。
ICA本质上是一种线性变换方法,KICA[10-14]等核方法的主要思想是通过非线性映射Ф(·)将原空间中的向量xk映射到高维特征空间H,然后在H里构建线性算法以解决非线性问题。如果xk各坐标分量间的相互作用仅限于内积<·,·>,就可使用满足Mercer条件的核函数来代替内积运算,即K(xi,xj)=〈Φ(xi),Φ(xj)〉,从而无需计算Ф(·)以避免维数灾难。
将训练样本集S中的N个输入变量xi∈Rn×1(i=1,…,N)通过非线性映射Ф(·)映射到高维特征空间H,先利用KPCA进行白化处理,即在特征空间H对协方差矩阵进行PCA处理[10-14]。定义Θ=[Ф(x1),…,Ф(xN)],则相应的协方差矩阵如下[12]:
采用核函数来代替内积运算以避免维数灾难,即定义核矩阵K,其元素可表示为Ki,j=K(xi,xj)=〈Ф(xi),Ф(xj)〉,∀i,j=1,…,N,则对CH特征值分解可转化为对核矩阵K进行。首先需要对K进行标准化处理,即中心化[12]:
其次,进行压缩处理[12]:
对某一映射到特征空间的测试变量xq,经过标准化处理后,可按照如下白化处理[12]:
数据变量在H中白化后,按照2.1节的ICA处理方法获得分离矩阵W,即可获得H中的独立成分。ICA在处理接近高斯分布的观测数据时性能下降,且对于离群点较敏感。KICA从近高斯分布的数据中提取独立成分的能力较强,因而对各种非高斯分布(尤其是近高斯分布)具有鲁棒性。此外,KICA在高维空间的白化处理采用的是KPCA算法。因此,在一定程度上可以认为,KICA的信息提取能力相当于KPCA与ICA的综合。
KICA在化工过程的应用还较少,主要限于过程监测与故障诊断领域[11-14]。笔者以常见的发酵过程为例,将其用于间歇过程软测量建模输入变量的信息提取,目的是为了在简化输入变量后,提高后续软测量模型的性能。所提出的软测量建模方法称为KICA-SKL(相应的,以下仿真中采用SVR模型的方法记为KICA-SVR),其流程如图1所示。
图1 KICA-SKL软测量建模方法流程
从图1给出的流程可知,所提出的KICASKL建模方法分成两个阶段:先将输入变量的信息在高维特征空间有效地提取出来,去除输入变量的相关性;然后再进行建模,最终可以获得更好的建模效果。
链激酶SK(streptokinase)是β-溶血性链球菌的一些菌株产生的血纤维蛋白酶原的活化剂之一,在临床上用于溶血栓药物时有广阔前景,也是欧洲主要使用的溶血栓药物。由于发酵过程的复杂性,且缺乏关键生化变量的在线检测仪器,对SK流加发酵过程进行有效的在线控制存在一定的困难[4]。因此,建立活性菌体质量分数(Xa)和SK产物质量分数(P)的在线预报模型,能够给SK流加发酵过程的在线控制和优化提供重要的信息[4,15]。
SK流加发酵过程的数学模型和补料策略详见文献[4]。在此基础上,对仿真实验进行如下设计,以更加符合实际的发酵过程:
a)将批次反应时间由默认的12h变为10h~13h,Xa和P每1h化验一次。
b)每批次设置的初始条件不同,补料策略亦有相应变化以增强批次间的不确定性,所以过程变量均包含白噪声。
c)考虑的输入变量包括发酵罐体积、底物质量分数、总菌体质量分数以及它们相应的滞后[4];
d)只考虑8批次培养以检验KICA-SVR对小样本的建模能力,其中前5批次训练,后3批次测试。
为了验证KICA对带有噪声的输入变量的信息提取能力,并和文献[7—9]的方法比较,同时构造了ICA-SVR,KPCA-SVR,PCA-SVR等软测量模型。值得指出的是,由于考虑了输入变量的滞后,故所比较的实际上是文献[9]提出的动态ICASVR和动态PCA-SVR等方法。如图1所示,所有相应的SVR软测量模型都采用常用的交叉验证法进行训练。
表1给出了KICA-SVR,ICA-SVR,KPCASVR,PCA-SVR,SVR共5种建模方法针对SK发酵过程Xa和P的在线预报性能比较。以预报的均方误差RMSE(Root Mean Squares Error, RMSE作为性能指标,最小的误差以粗体并加下划线表示。
从表1可知采用信息提取的模型都比普通的SVR方法预报精度更高,KICA-SVR都能够获得比KPCA-SVR,ICA-SVR和PCA-SVR更好的效果,这和文献[7]指出的结论类似(即核信息提取方法优于普通低维空间的信息提取方法)。其中,KPCA-SVR和ICA-SVR的效果差不多,这是由于不同批次反映出来的非线性特性和非高斯特性并不一致。针对非线性特性表现较强而非高斯特性表现较弱的批次时,KPCA会优于ICA;反之,ICA会优于KPCA。然而,在实际过程中,间歇过程的非线性特性以及批次与批次间的不确定性等信息并无法得到,变量的噪声特性往往比较复杂且事先很难知道。由于KICA可大致等同于在KPCA处理后再进行ICA信息提取,因而能够更有效处理未知噪声情况下的输入变量。
表1 不同方法对SK发酵过程生化变量的建模性能比较
图2和图3分别给出了5种方法在预测第8批次(该批次发酵时间最长)Xa的结果,图2为预测结果,图3为预测绝对误差结果比较。
图2 KICA-SVR和其他方法预报Xa的比较
图3 KICA-SVR和其他方法预报Xa误差的比较
从图中可知没有预处理的结果最差,尤其是在发酵过程的后半阶段。PCA-SVR波动较大,没有明显的规律。KPCA-SVR和ICA-SVR总体的预测情况较好,其中KPCA-SVR在终点处预测结果较好;ICA-SVR则在前期和中期预测结果较好。这是因为该批次长度最长,终点处的样本点和训练样本差异较大,表现出来的非线性程度也较大,故而核方法处理非线性的优势能够体现。KICA-SVR的预测结果总体是较稳定的,且在发酵过程末端的预测结果最好,这能为实际发酵过程的放罐提供有用的信息。该批次预报P也有类似的结果,限于篇幅不再列出。以上分析进一步验证了使用KICA进行预处理是一种比较好的选择,更加符合化工过程,尤其是间歇过程的实际情况。
有效选择输入变量能够建立更好的软测量模型。笔者将KICA用于间歇过程软测量建模输入变量的信息提取,便于在高维空间提取它们的高阶统计信息,从而消除输入变量中的自相关与互相关等特性。在发酵过程软测量建模的结果表明,KICA优于传统ICA或KPCA等其他信息提取方法,所提出的KICA-SKL建模方法也更加适合间歇过程的软测量建模。
[1] KADLEC P,GABRYS B,STRANDT S.Data-driven Soft Sensors in the Process Industry[J].Computers and Chemical Engineering,2009(33):795-814.
[2] 金福江,周丽春.化工软测量技术研究与进展[J].化工进展,2005,24(12):1379-1383.
[3] BISHOP C M.Pattern Recognition and Machine Learning[M].New York:Springer,2006.
[4] DESAI K,BADHE Y,TAMBE S S,et al.Soft-sensor Development for Fed-batch Bioreactors Using Support Vector Regression[J].Biochemical Engineering Journal,2006,27(03):225-239.
[5] LIU Yi,GAO Yanchen,GAO Zengliang,et al.Simple Nonlinear Predictive Control Strategy for Chemical Processes Using Sparse Kernel Learning with Polynomial Form[J].Industrial &Engineering Chemistry Research,2010,49(17):8209-8218.
[6] LIU Yi,WANG Haiqing,YU Jiang,et al.Selective Recursive Kernel Learning for Online Identification of Nonlinear Systems with NARX Form[J].Journal of Process Control,2010,20(02):181-194.
[7] CAO Lijia,CHUA K S,CHONG W K,et al.A Comparison of PCA,KPCA and ICA for Dimensionality Reduction in Support Vector Machine[J].Neurocomputing,2003,55(01):321-336.
[8] 李哲,田学民.基于辅助变量KNN分析的软测量建模方法[J].化工学报,2008,59(04):941-946.
[9] 陈爱军.最小二乘支持向量机及其在工业过程建模中的应用[D].杭州:浙江大学,2006.
[10] BACH F R,JORDAN M I.Kernel Independent Component Analysis[J].Journal of Machine Learning Research,2002(03):1-48.
[11] LEE J M,QIN S J,LEE I B.Fault Detection of Non-linear Processes Using Kernel Independent Component Analysis[J].The Canadian Journal of Chemical Engineering,2007,85(08):526-536.
[12] ZHANG Yingwei,QIN S J.Fault Detection of Nonlinear Processes Using Multiway Kernel Independent Component Analysis[J].Industrial and Engineering Chemistry Research,2007,46(23):7780-7787.
[13] ZHANG Yingwei.Fault Detection and Diagnosis of Nonlinear Processes Using Improved Kernel Independent Component Analysis(KICA)and Support Vector Machine(SVM)[J].Industrial and Engineering Chemistry Research,2008,47(18):6961-6971.
[14] 邓晓刚,田学民.基于SKICA的非线性过程缓变故障检测方法研究[J].仪器仪表学报,2009,30(07):1359-1362.
[15] ALFORD J S.Bioprocess Control:Advances and Challenges[J].Computers and Chemical Engineering,2006,30(10):1464-1475.