改进的递推主元分析及递推主元回归算法
程龙,王桂增
(清华大学自动化系,北京100084)
摘 要:为了加速模型在线更新的速度以更好地适应实际工业过程的动态变化,通过在已有递推主元分析(PCA)算法的基础上简化了自相关矩阵的递推公式,从而改进了基于秩1更新的递推PCA算法,把原来需要进行2次秩1更新的步骤简化为仅仅需要进行一次秩1更新,并在此基础上提出了递推主元回归算法。仿真结果表明,改进后的基于秩1更新的递推PCA算法比原来的基于秩l曼新的递推PCA算法缩短了近一半的运算时间,而新的递推主元回归算法,不但能够适应工业过程的动态变化,并且比批处理的方式节约了存储空间与计算时间。
关键词:递推主元分析;自相关阵;秩1更新;递稚主元回归
中图分类号:TP 27 文献标识码:A
Improved Recursive PCA a nd Recursive PCR Algorithms
CHENG Long,WANG Gui-zeng
(Department ofAutomation.Tsinghua University,Beringl00084,China)
Abstract.To accelerate the model 0n-line modificatlon a nd accommodate the industrial process change,an efficient recursive PCA al-gorithm using rank-one modification a nd a novel recursive PCR algorithm are proposed by improving the approach of updating correlationmatrix Simulation resuits show that the improved recursive PCA based on rank-one modification shotren the computational time in con-trast with the existing recursive PCA algorithm Moreover.the recursive PCR algorithm Call adapt process changes a nd need less corn-puting time a nd memm?usage than batch PCR algorithm
Key words:reellisive PCA;coneiation matrix;rank-one modification;recursive PCR
1引言
主元分析(PCA)是一种将多个相关变量转化为少数几个相互独立变量的统计分析方法。
主元分析由Pearson[1]最早提出,后经Hoteling[2]加以改进。主元分析可以将很多相关过程变量压缩为少数独立的变量,因此被广泛应用于过程监控[3],故障诊断[4]等领域。
实际的工业过程通常表现出时变特性,用主元分析法建立的模型随着时间的推移将出现明显的偏差,为此,需及时对模型进行更新,而如果采用将新数据和旧数据结合重新进行主元分析,计算量很大。针对上述情况,Wold提出了指数加权平均主元分析的方法[5],Rigopoulos等提出了滑动窗结合主元分析的方法[6],而Liw H等提出了递推PCA算法[7],对数据矩阵的均值、标准差进行递推更新,从而递推求出规范化后的数据矩阵,进而得出自相关阵的更新公式,最后利用秩1更新得出负荷向量和得分向量。
本文针对Li WH等提出的递推PCA算法,简化了自相关阵的递推公式,改进了基于秩1更新的递推PCA算法,并给出了输入输出变量协方差矩阵的递推公式,提出了一种新的主元回归递推算法(PCR),仿真实验证明了方法的有效性。
2改进的递推PCA递推算法
1)基于秩1更薪的递推PCA算法定义全部k个原始输入数据块组成的矩阵为
其中,每一行代表一个样本,每一列代表一个输入变量。
全部(k+1)个原始数据块组成的矩阵为Xok+1形式与Xok相同。若前K个数据块长度为Mk,考虑每采样一次进行一次递推,则包括新来数据的所有(k+1)个数据块的长度为Nk+1=Nk+1。Weihua Li H指出[7],每当新数据x0k+1来时。可以递推计算出原始输入数据矩阵中各变量的均值、标准差和规范化后的输人数据矩阵,进而得出自相关阵的递推公式。
均值向量的递推式为
上述各递推式中,  分别是递推前后均值向量,且为行向量,每一元素为对应输入变量的均值;  i分别为递推前后第i个变量的方差,  为新来数据向量  的第i个元素;R和  分别为递推前后规范化后输人数据阵的自相关矩阵;考虑规范化后的新来数据向量  后的输入自变量的均值向量的增量为图---
式中,  为对角阵,对角线元素为di(i=1,2,...,m),ε为常数.
可以证明[8],下面m次有理多项式的m个根对应于更新过的自相关矩阵的m个特征值λi。
特征值λi所对应的单位特征向量Pi可以通过下列计算:
Wemua Li H进一步指出。[7]可以用上述秩1更新的方法,利用Rk已经得出的特征值及特征向量信息结合自相关阵的递推公式得出更新过的负荷向量与得分向量。
设前一次自相关矩阵特征分解的结果为Rk=PkAkPTK,其中,PK每一列为单位特征向量,AK是对角矩阵,对角线上的元素为特征值。由于RK为对称矩阵,所以PK是正交矩阵。
把前一次自相关矩阵特征分解的结果代人自相关矩阵的递推计算式中得到:
式中,Ak2为对角矩阵,对角线上的元素为修正过的特征值;Pk+1=PKPK1PK2,其单位化后的每一列即为更新过的协方差矩阵RK+1的特征向量(负荷向量)。
2)改进的秩1更新递推PcA算法由于:
式中,Pk+1=PkPk+1,其每一列为更新过的相关矩阵Pk+1的单位特征向量(负荷向量)。
与原来的秩l更新递推PCA算法相比,改进过的算法只需要进行一次秩1更新就可以求出负荷向量,大大缩短了计算时间,且精度不变。
3主元回归PCR的递推算法
1)输入输出变量协方差阵的递推计算 在PCR中,需要对输出数据阵也进行规范化处理。其中输出数据阵的形式如下:
同样考虑每来一个新数据就递推一次的情况,仿照输入数据矩阵各参数递推式的推导,可得输出变量的均值向量的递推式为
式中,  为规范化后的新来数据.仿照自相关矩阵的简化递推公式的推导,协方差矩阵进一步可简化:
2)算法流程主元回归(PCR)首先在自变量
空间进行主成分分析(PCA),即将高维相关的原始变量投影到低维正交的特征变量空间上,再建立特征变量同输出间的回归关系。
设输入输出关系为
式中,a为取前α个主元;β为主元回归模型的的回归系数向量。
因此不用重新计算规范化后的输入输出变量的数据矩阵,而仅仅递推计算自变量的自相关阵和自变量因变量的协方差阵就能更新PCR的回归系数。
注意,这里的b^PCR是将主元回归模型转换为以原始变量作为输入变量时所得到的偏最小二乘回归模型的系数向量,而不是一般意义上的以原始变量作为输入变量时的最小二乘回归模型的系数向量。
递推PCR的算法流程如下:
①每来一组新数据,递推计算输人输出变量数据矩阵的均值,标准差,进而计算自相关阵R和协方差阵Rxy。
②由R的递推式采用秩1更新递推计算负荷向量。
③取前α个负荷向量组成负荷向量阵Pα,Pα的每一列对应一个负荷向量,把R,R,Pα代人式(28)中,更新PCR模型。
④对此后到来的新样本(输人数据),采用新的PCR模型对输出进行预报。
在上述递推PCR算法中,仅需要存储前一次递推计算的均值向量、标准差、自相关阵、协方差阵,不用存储原始输入输出数据阵,而均值向量、标准差、自相关阵、协方差阵的维数只与变量个数有关,因此大大减少了存储空间。随着数据的不断增加,如果采用批处理,存储空间将不断增大,而采用递推算法,存储空间没有变化。
4 PCR仿真结果与分析
下面以聚酯生产中终缩聚特性黏度的软测量建模为例,利用递推PCA算法提取得分向量与负荷向量,再建立起对应的主元回归模型(PCR),对聚酯特性黏度值进行估计。
特性黏度是聚酯切片最重要的质量指标,是表征分子量的参数。由于聚合物分子量与其物理机械性能有密切关系,加工后要求分子量控制在一定范围内,且生产中要求分子量基本不变化。而特性黏度是无法直接测量的参数,且与诸多因素有关,如最终缩聚釜和离开最终缩聚釜的熔体特性黏度、反应温度、反应压力、搅拌器转速、反应物料在釜内的停留时间、催化剂浓度等。
1)数据选择选取在连续时间段实际测量的700组数据进行仿真实验。其中,选取10个与特性黏度相关的变量作为输入,而特性黏度的分析值作为输出。
把700组数据分为3组,前300组数据作为初始建模数据,中间300组数据作为更新数据,最后100组数据作为测试数据。
特性黏度分析值趋势图,如图1所示。
由图可见,前300组数据,特性黏度分析值变化比较大(而实际输入自变量变化比较缓慢),从第300组开始,特性黏度分析值变化较为缓慢。从理论上,仅仅用前300组数据建立起的模型预测最后100组分析值是不够准确的,必须采用递推算法更新模型。
2)递推算法的运行时间比较在递推算法中,首先提取前300组数据的主元建立PCR模型,然后按照前面提到的递推PCR方法流程,用中间300组数据进行PCR模型的递推计算所得到的更新模型对后。100组数据进行输出估计,并与取前600组数据用PCR批处理方法所得的模型进行输出估计的时间进行比较,结果见表1。
由表1可知,利用递推公式更新参数较之批处理方法重新在整个数据集上计算模型参数的计算时间缩短近2/3。
求解负荷向量的计算时间,见表2。
由表2可以看出,改进过的基于秩l更新的递推PCA算法与原来的基于秩1更新的递推PCA算法相比减少一次秩l修正的步骤,计算时间缩短了约一半。
3)递推PCR算法的结果精度比较递推PCR算法相对于传统PCR算法的一个重要优点就是可以实时更新模型参数,从而使模型更好地适应工况的变化,使估计结果更准确。
2种模型对测试集(100组数据)进行估计的模型残差平方和的比较,见表3。
表3中的非递推PCR算法仅用前300组数据进行建模,而改进后基于秩l更新的递推算法在前300组数据模型的基础上用中间的:300组数据进行递推计算,而这300组数据在实际测量时相当于新来数据,也就是说,对原来在300组数据基础上建立起来的模型进行了更新,其实在实际生产中,只要来了一组新数据,就可以马上对模型施行更新,进而用更新过的模型进行预测。
由表3可以知,递推算法所得模型的估计性能优于非递推算法时的模型性能。
5结语
本文在已有的递推PCA算法的基础上,简化了自相关阵的更薪公式,改进了基于秩1更新的递推PCA算法,并提出了一种新的递推PCR算法。
仿真实验表明,递推算法所建建模比不采用递推算法所得模型跟踪效果要好。改进后的基于秩l更新的递推PCA算法不但在保持了原基于秩1更新的递推算法的精度,而且缩短了计算时间。在此基础上得到的递推主元分析算法,不仅能够适应过程的动态变化,且比批处理的方式节约了存储空间与计算时间。
|