黄 新,刘伟平
(湖南城市学院 a.管理学院,b.图书馆,湖南 益阳 413000)
近红外光谱是一种简单、快速、无破坏性的新型绿色分析检测技术,被广泛应用于食品检测、环境保护、石油化工以及中药光谱分析等领域[1].近红外光谱数据分析的困难在于波长变量之间通常存在严重的多重共线性,同时含有大量无信息波长甚至是噪声波长,如果直接对全光谱进行建模分析不仅会增加模型的复杂程度与计算代价,甚至还会降低模型的预测性能.因此,光谱变量选择已经成为近红外光谱数据分析中一个关键的环节,对提高模型的预测能力和稳健性具有重要的意义.
目前,为了提高模型的预测能力,国内外学者们提出了一系列基于PLS的变量筛选方法.其中有代表性的方法有:无用信息删除(uninformative variable elimination,UVE)[2-3];移动窗口偏最小二乘(moving window partial least squares,MWPLS)[4];自适应竞争权值采样(the competitive adaptive reweighted sampling method)[5-6]等.
为进一步提高变量选择结果的稳健性,本文将变量重要性融入到PLS 中,提出了一种新的基于变量重要性的偏最小二乘特征变量筛选方法(VISPLS),它是基于变量重要性的向前变量选择算法.同时,选择斯皮尔曼(Spearman)相关系数、肯德尔(Kendall)相关系数、选择性比(selectivity ratio,SR)、投影变量重要性(variable importance in projection VIP)来度量变量的重要性,并用2 个真实的近红外光谱数据集来评估VISPLS 的性能,旨在提高系统预测性能.
偏最小二乘(partial least squares,PLS)法融合了多元线性回归分析、主成分分析和典型相关分析3 种分析方法,由Wold 引入化学计量学,成为近红外数据分析的主要方法[7].给定1 个n×p自变量矩阵X,每行代表1 个样本,每列表示1个变量.则n×q因变量矩阵Y可记为
X=(x1,x2,…,xn)T,Y=(y1,y2,…,yq)T.
其中,xi(i=1,2,…,n)是1 个p维的列向量;y j(j=1,2,…,q)是1 个n维的列向量;T表示向量或矩阵的转置.
偏最小二乘首先运用主成分分析和典型相关分析方法,分别在数据X和Y中提取主成分t1和u1,t1和u1应满足下列2 个条件:
1)t1和u1应该尽可能多地包含原始数据矩阵中的信息;
2)t1和u1之间的相关程度应该尽可能最大.
得到第1 个主成分t1和u1后,偏最小二乘再结合多元线性回归分析方法,分别执行X对t1和Y对t1的回归.若方程已经满足精度要求,则算法停止;否则,继续利用X被t1解释后的残余信息及Y被t1解释后的残余信息进行第2 成分的提取,如此进行,直到达到满意的精度为止.
Wold[8]提出的非线性迭代偏最小二乘算法(nonlinear iterative partial least squares,NIPALS)是实现偏最小二乘回归的基本方法.在此基础上,目前有多种算法能够实现偏最小二乘回归.下面采用Lewi[9]在1995 年提出的算法.
1)从矩阵Y中任选1 列,用u表示;
2)令w=XTu;
3)v=Xw,;
4)c=YTv;
5)u=Yc,;
6)重复步骤2)~步骤5),直到收敛;
7)计算残差矩阵,X←X-vvTX,Y←Y-vvTY.
PLS 回归是一个迭代的过程,即提取第一个主成分后,按步骤7)计算残差矩阵,然后应用残差矩阵代替原来的数据矩阵,算法重新开始,直到达到原始矩阵X的秩r.为避免过拟合,一般采用交互检验来确定最优的主成分数.在提取r个主成分后,能够得到n×r矩阵V和U,p×r矩阵W和q×r矩阵C,它们的列分别由构成.这样,PLS回归模型就能够写成矩阵形式
Y=XB+E.
其中,E是残差矩阵.这个方程和通常的岭回归、多元线性回归和主成分回归模型有一样的形式.然而,比较这些模型,矩阵B有以下形式:
B=W(PTW)-1CT.
其中,W=XTU;P=XTV(VTV)-1;C=YTV(VTV)-1.
利用矩阵V列的正交性,矩阵B又可写成
B=XTU(VTXXTU)-1VTY.
Spearman 相关系数又称秩相关系数[10],是利用2 个变量的秩次大小作线性相关分析,对原始变量的分布不作要求,属于非参数统计方法.设X=(x1,x2,…,xn),Y=(y1,y2,…,yn),将x1,x2,…,xn和y1,y2,…,yn按照升序进行排列,则X与Y的Spearman 相关系数为
肯德尔(Kendall)相关系数又称一致性系数[11],是表示多列等级变量相关程度的一种方法.X与Y存在组元素对(xi,yj),i≠j,i≥1,j≤n.Kendall 相关系数为
其中,N0是元素对总数;1N为X与Y正相关的元素对总数;N2为X与Y负相关的元素对总数;N3为X中相同元素对(xi=xj)总数;N4为Y中相同元素对(yi=yj)总数.
基于PLS,Kvalheim[12]提出了变量选择性比(selectivity ratio,SR)的方法用于变量选择.此法原理简单,它认为被模型解释得越多的变量越重要.建立PLS 模型后,可以得到每个变量被模型所解释的方差和未被解释的方差.在给定PLS的回归系数b的条件下,有
其中,Si,exp为第i个变量的解释方差;Si,res为第i个变量的残差方差.
Favilla 等提出了 variable importance in projection(VIP)[13],其中第j个变量的VIP值为
其中,wjf是主成分数f下第j个变量的权重值;SSYf是主成分数f的解释方差平方和;m是变量个数;SSYtotal是因变量的平方总和.
针对近红外光谱数据的特点,选择常用的斯皮尔曼(Spearman)相关系数、肯德尔(Kendall)相关系数、选择性比(selectivity ratio,SR)、投影变量重要性(variable importance in projection,VIP)来度量变量的重要性,利用变量的重要性和PLS 来筛选波长变量.VISPLS 是基于相关变量重要性的向前变量选择算法.VISPLS 算法步骤如下:
1)标准化近红外光谱数据矩阵X和Y.令M={x1,x2,…,xp}表示整个变量集.
2)按照式(1)~式(4)分别计算相关变量的重要性,并按数值的绝对值大小顺序排序;依次挑选系数最大时所对应的1 个变量,建立PLS 回归模型;然后记录均方根误差(RMSE).这样就得到P个PLS 回归模型和P个RMSE值.
3)选择P个RMSE值中最小值所对应的变量集,在这个变量集上建立最优的PLS模型.RMSE的计算公式为
其中,yi和分别表示第i个样本的实际值和预测值[14].
选择2 个真实的近红外光谱数据来评估VISPLS 算法的性能.RMSEOPT表示优化集的均方根误差,RMSETEST表示测试集的预测均方根误差,nLV表示PLS 模型的成分数,nVar表示VISPLS模型选择的变量数,Threshold表示最优模型对应的阈值.基于斯皮尔曼相关系数、肯德尔相关系数、选择性比、投影变量重要性的4 种偏最小二乘特征变量筛选方法分别记为:SpearmanPLS,KendallPLS,SRPLS 和VIPPLS.VISPLS 算法代码是基于R 语言(版本4.1)编写.
Corn 数据有80 个样本,波长为1 100~2 498 nm,并以间隔2 nm 取值,这样总共有700 个变量[5].这80 个样本是运用“m5spec”,“mp”和“m6spec”3 种不同的近红外光谱仪测量得到的.在本研究中,只应用预测矩阵“m5spec”与油量(oil)因变量来评估VISPLS 算法.图1 是数据集Corn的光谱图.Corn 数据的80 个样本被随机地分成训练集(train set,40)、优化集(optimization set,20)和测试集(test set,20).
图1 数据集Corn 的光谱图
比较 VIPPLS,SRPLS,KendallPLS 和SpearmanPLS 4 种方法,VIPPLS 的预测精度是最好的,见表1.4 种方法选择的的变量与波长区间分别列于图2.由图2 可知,基于变量重要性筛选变量能够提高PLS 模型的预测性能.
图2 Corn 数据集上4 种方法选择的波长变量
Gasoline 数据[15]是另一个近红外光谱数据集,它包含60 个样本,近红外谱是根据漫反射度的函数log(1/R)从900~1 700 nm中以2 nm为间隔测量出来的,共有401 个变量或波长(wavelengths)(见图3).
图3 数据集Gasoline 的光谱图
Gasoline数据的60 个样本被随机地分成训练集(train set,30)、优化集(optimization set,15)和测试集(test set,15).
比较表2 中4 种方法可知,VIPPLS 取得了最好的预测精度.VIPPLS,SRPLS,KendallPLS和SpearmanPLS 4 种方法选择的的变量与波长区间见图4.
表2 数据集 Gasoline 的预测结果
图4 Gasoline 数据上4 种方法选择的波长变量
近红外光谱数据通常包含成百上千个变量,变量数远远大于样本数,研究者普遍认为,通过选择有信息的变量或者删除无用的变量后,建立的模型能够明显地提高模型的稳健性和预测精度.如何从这些数据中选择重要的光谱变量是近红外光谱建模的关键问题.本文将变量重要性融入到偏最小二乘回归中,提出了一种新的基于变量重要性的偏最小二乘特征变量筛选方法VISPLS.选择Spearman 相关系数、Kendall 相关系数、SR 系数和VIP 系数4 个指标来度量近红外光谱变量的重要性,然后对变量重要性进行排序,再运用PLS 进行变量筛选.VISPLS 是一种基于变量重要性的前向迭代算法,通过2 个真实的近红外光谱数据研究表明,VISPLS 可以更好地挖掘变量间的相互关系,能够有效提高近红外光谱模型预测性能.