改进的偏最小二乘回归模型及应用
2021-02-23郑列,张彦
郑 列,张 彦
(湖北工业大学理学院,湖北 武汉 430068)
随着高速网络的普及和数据存储的发展,人类生活中产生并被记录的数据越来越多,从用户的使用习惯到用户的浏览记录均会被存储并用于分析;与此同时,数据的形式也越来越多样化,无论是金融市场中股价的波动还是视频图像中包含的信息都是数据的表现形式。数据涉及的领域也越来越广泛,从线上消费到生物基因都可以成为数据分析的对象。在各种大型数据层出不穷的情况下,对于特征数量大于样本数量的高维数据进行分析已经变得越来越重要。对于这种样本数量小于特征数量的情况,很多传统的数据分析方法无法被有效运用,为避免这种“维数灾难”问题,主要采用两类降维方式:一类是特征选择,另一类是特征组合[1-2]。此外,切片逆回归模型、向前回归(FR)法、变系数模型、可加模型等模型同样被提出并用于高维数据的分析[3-4]。除上述模型外,1983年S.Wold和C.Albano[5]等人发明的偏最小二乘法(PLS),天生就具有处理特征数大于样本数这类高维数据的优点[6-7]。在传统的PLS模型中,仅使用线性回归模型,对于非线性关系的拟合效果不佳[8-10]。为解决这一问题,可以基于stacking集成思想的方式对PLS模型中的线性拟合过程进行改进。stacking集成思想类似于神经网络的拟合方式[11],为避免过拟合情况的发生并改善模型对超参数的敏感性,可以选择带有不同正则项的模型进行集成,例如Lasso回归、弹性网等模型[12]。基于上述思路,stacking-plsr模型可以对样本量较少的高维数据进行建模,实现多变量对多变量的非线性拟合过程,相较于现有方法减少了计算量,降低了模型对超参数的敏感性,使得模型更不容易出现过拟合现象。
1 stacking-plsr模型理论
stacking-plsr模型(stacking partial least squares regression model),即基于stacking集成思想的非线性偏最小二乘回归模型,研究的是两组变量X和Y之间的非线性回归关系。
设自变量X为p维数据,即
X=[x1,x2,…,xp]
因变量Y为q维数据,即
Y=[y1,y2,…,yq]
样本容量为n。通过对数据进行标准化,避免量纲影响。令标准化后的自变量矩阵
E0=[e1,e2,…,ep]
标准化后的因变量矩阵
F0=[f1,f2,…,fq]
1)提取自变量与因变量主成分。
首先,求E0的第一个主成分t1,t1=E0w1。其中,w1是E0的第一个轴。为保证解的唯一性,令w1为一个单位向量,即‖w1‖=1。然后,求F0的第一个主成分u1,u1=F0c1。其中,c1是F0的第一个轴,为保证解的唯一性,令c1是一个单位向量,满足‖c1‖=1。
根据传统PLS模型的基本原理,选取第一个主成分的求解问题可以表示为求解有约束条件下的极值问题:
t1=E0w1
u1=F0c1
2)基于stacking集成思想计算当前主成分对因变量的非线性拟合。
计算t1对E0和F0的两个线性回归方程,是传统的PLS模型推导过程中存在的线性拟合步骤,传统的PLS模型以及由其衍生出来的KPLS模型方法都没有改变这里的线性拟合过程。为使得当前主成分能更好地对因变量进行拟合,stacking-plsr模型在求得t1和u1后,下一步需要求t1对E0的线性回归方程和t1对F0的基于stacking集成思想的回归方程。本文使用stacking集成思想集成一元线性回归、Lasso回归和弹性网三种模型进行回归拟合。
在求得自变量和因变量的主成分后,令t1对E0和F0建立两个回归方程:
F0=S1(t1)+F1
其中:F0=[f1,f2,…,fq],S1(t1)=[s11(t1),s12(t1),…,s1q(t1)],F1=[ε1,ε2,…,εq],Sk(tk)中k代表第k个主成分分别对q个因变量特征构建的基于stacking集成思想的非线性方程拟合矩阵。以f1为例,上述回归方程可写成:
f1=s11(t1)+ε1
skj中k代表第k个主成分,j代表第j个因变量,s11(t1)是t1对f1构建的基于stacking思想拟合回归方程的预测值。
3)迭代求得最终非线性模型。
用E1和F1取代E0和F0,求第二个轴w2和c2以及第二个主成分t2和u2,有t2=E1w2和u2=F1c2。与第二步中建立核回归方程的方法相同,令t2对E1和F1建立两个回归方程:
F1=S2(t2)+F2
重复第三步的计算过程,直到所有主成分被求出或当前主成分满足终止要求时,停止计算。设最终提取h个主成分,得出的最终预测结果为:
E0=g1(t1)+g2(t2)+…+gh(th)
F0=S1(t1)+S2(t2)+…+Sh(th)
其中:g1,g2,…,gh为基于一元线性回归构建的拟合模型;S1,S2,…,Sh为基于stacking思想构建的拟合模型。
根据上述理论绘制出stacking-plsr模型的详细拟合过程(图1)。
图 1 stacking-plsr模型的拟合过程
2 stacking-plsr模型与多项式KPLS模型等价性
KPLS模型存在多种不同的升维映射方式,如多项式核函数、径向基核函数等。虽通过使用对应的核方法可以简化模型的计算,但其计算量仍然较大。本文提出的stacking-plsr模型能够在降低计算量的同时,在一定程度上等价于多项式核偏最小二乘回归模型,当多项式的最高次数degree取k,提取h个主成分时,对两种模型的等价性进行分析。
在多项式核偏最小二乘回归模型中,当提取第一个主成分时,自变量X的矩阵从原来的X=[x1,x2,…,xp]映射成X=[x1,x2,…,xp,x12,x1x2,…x1xp,x22,…,xpk]。映射后的自变量矩阵相比于原始矩阵增加了非常多的交叉项和高次项,并且增加的特征项随次数k的增加呈几何倍增加。设映射后的自变量矩阵的维度是n×η。
其中第一主成分
t1=E0w1=w1,1x1+…+w1,pxp+
w1,p+1x12+…+w1,p+px1xp+…+w1,ηxpk
x12φ1,p+1+…+x1xpφ1,p+p+…+xpkφ1,η
在stacking-plsr模型中,对于提取的第一个主成分
t1=E0w1=w1,1x1+…+w1,pxp
将得到的第一主成分t1使用多项式核进行高维映射,得到主成分矩阵
T1=[t1,t12,…,t1k]
基于stacking集成思想,结合一元线性回归、Lasso回归和弹性网构建多个回归方程。
一元线性回归:
Lr(T1)∝a1t1
Lasso回归:
Lasso(T1)∝b1t1+b2t12+…+bkt1k
弹性网:
Elastic(T1)∝d1t1+d2t12+…+dkt1k
根据stacking集成思想,则
stacking(T1)∝e1Lr(T1)+
e2Lasso(T1)+e3Elastic(T1)
关于F0的回归方程F0=stacking(T1)+F1,其中:
stacking(T1)∝θ1t1+θ2t12+…+θkt1k
∝x1ψ1,1+…+xpψ1,p+
x12ψ1,p+1+…+x1xpψ1,p+p+…+xpkψ1,η
通过对比多项式核偏最小二乘回归模型和stacking-plsr模型中第一主成分t1与F0构建的回归方程可知,两种模型构建的回归方程的核的形式完全相同,故stacking-plsr模型和多项式核偏最小二乘回归模型具有一定程度上的等价性,并且stacking-plsr模型能够在解决非线性拟合的同时,较少地增加计算量。在非线性拟合过程中,基于stacking集成思想,结合一元线性回归、Lasso回归和弹性网构建回归方程,能够起到变量筛选的作用,使模型更不容易过拟合并且对超参数degree的敏感度较小。
3 模型评价指标
为客观衡量模型对数据的拟合效果和预测能力,需要采用一些指标来判断模型在测试集上预测结果的精确度,为全方位反映模型的预测能力,采用均方误差(MSE)、拟合优度(R2)、平均相对误差(ARE)三项指标对stacking-plsr模型的拟合效果进行检验。
均方误差
其中,n为样本容量,q为因变量特征个数,yij的下标i表示第i个样本,下标j表示第j个因变量。MSE≥0且MSE的值越小,表明模型预测精度越高。
拟合优度
平均相对误差
ARE≥0,且ARE的值越小,表明模型预测精度越高。
4 实证分析
4.1 数据来源
本文使用的数据来源于湖北省统计局官网和2019年湖北省统计年鉴,选取1995-2018年湖北省的4项人口数据和25项经济数据作为样本进行分析。
4.2 全样本stacking-plsr模型的拟合过程
根据提出的stacking-plsr模型理论对1995-2018年湖北省的4项人口规模指标和25项经济指标进行分析,stacking-plsr模型中的超参数degree的值取5。在建模过程中,由于样本量较少,均使用全部样本对stacking过程中的一元线性回归、Lasso回归、弹性网模型进行训练,并使用所有样本对三种模型进行stacking集成过程的拟合。
根据stacking-plsr模型的要求,为避免29项特征量纲的影响,标准化自变量与因变量数据,计算出E0和F0。根据stacking-plsr模型的计算流程,提取出自变量和因变量的第一主成分,使用第一主成分对标准化后的因变量进行拟合。在这一过程中,传统的PLS模型不考虑当前主成分与各因变量是否为线性关系,直接使用一元线性回归对数据进行拟合,这就是传统PLS模型中需要改进的地方。使用stacking的集成思想对这一拟合过程进行改进,使其可以满足对非线性关系的拟合。在4个因变量中,常住人口与第一主成分的线性关系最弱,其相关系数仅为0.491,表明仅使用线性拟合效果欠佳。以常住人口为例,详细展示stacking集成思想的拟合过程(图2)。
(a)一元线性回归
图 3 不同主成分个数对应的SSh
使用4种拟合方式对4项人口指标进行拟合。为比较4种拟合方式的拟合效果,计算4种拟合方式的MSE,具体结果见表1。
表1 第一主成分不同拟合方式的MSE
在4种不同拟合模型中,一元线性回归的拟合效果最差,stacking集成后的模型拟合效果最好。根据stacking-plsr模型的理论,计算出E1和F1并重复上述步骤,按照stacking-plsr模型理论的要求,计算当前主成分的SSh,确定主成分个数,建立最终的拟合模型。
当主成分个数大于3时,不同主成分个数对应的SSh变化不明显,这在一定程度上表明主成分个数确定为3较为合适。基于建立的stacking-plsr模型对4项人口指标的预测值,为衡量模型的拟合程度。分别计算城镇人口、乡村人口、户籍人口、常住人口和模型总体的MSE、R2和ARE三项指标,具体结果见表2。
表2 全样本stacking-plsr模型拟合精度评价
4.3 stacking-plsr模型鲁棒性检验
使用全样本stacking-plsr模型对原始数据进行预测,预测结果较好,但是否出现过拟合的现象无法确定。为衡量stacking-plsr模型的鲁棒性,将原始数据划分为训练集和测试集。
训练集的样本数量依次从15取到22,对应的测试集的样本数量依次是从9取到2。在确定后的训练集和测试集样本数量后,对应每种情况随机生成200次训练集和测试集,并对每次生成训练集和测试集建立stacking-plsr模型。由于不同训练集所对应的主成分个数不同,为避免过拟合情况的发生,对建立的模型均只提取2个主成分,超参数degree取5,对每种情况下的200次训练集和测试集进行训练和预测,计算测试集预测值与真实值的MSE和ARE。
结合图4和图5可知,随着测试集样本数量的增加,200次模型预测结果的MSE和ARE的均值呈现出略微增加的状态,但总体而言相对稳定,未出现较大的波动。当用于测试模型拟合效果的测试集样本数量大于等于4时,200次stacking-plsr模型MSE和ARE的方差波动较小,即基于stacking-plsr模型的预测值与真实值之间的差异波动较为稳定。当测试集样本数量较小且随机产生的测试数据集包含极端样本时,容易导致模型预测结果误差较大,进而导致200次stacking-plsr模型的MSE和ARE方差较大。这也在一定程度上证明stacking-plsr模型的鲁棒性良好。
图 4 随机生成样本预测值的MSE和ARE分布
图 5 不同样本量对应预测值MSE和ARE的均值与方差
4.4 stacking-plsr模型敏感性检验
为探究超参数degree对satcking-plsr模型拟合的影响,将全部样本分成训练集和测试集进行分析。由于人口数据和经济数据均随时间呈现出较为明显的增长或降低趋势,即对于年份在两端的样本点较容易出现极端情况,也避免随机生成测试集带来的随机误差,故选取3个年份位于四分位点的样本作为测试集,即以2001年、2007年和2013年的数据作为测试集,以其他年份的样本数据作为训练集,并固定提取的主成分个数,对模型的敏感性进行分析。
根据图6可知,对于提取不同主成分个数的stacking-plsr模型,当超参数degree改变时,模型的MSE指标均波动较小,模型的ARE指标波动相对较大,尤其是提取3或4个主成分时,对应不同超参数degree的模型的ARE波动较大。
图 6 超参数degree不同取值下全样本模型拟合程度
观察主成分为3或4的模型对应的ARE指标的变化曲线发现,两条曲线的变化趋势无显著性差别,考虑当提取3或4个主成分时模型出现一定程度的过拟合现象。当提取的主成分个数为1或2,超参数degree≥3时,对应拟合模型的MSE和ARE相较于超参数degree=2的模型有所下降并波动较小,这表明当模型没有出现过拟合现象时,超参数degree的取值对模型的拟合效果存在影响。模型主成分个数选取合适时,模型对于超参数degree的变化敏感性较低,即stacking-plsr模型在超参数degree的敏感性方面表现较好,不易因超参数degree的取值出现过拟合情况,这也在一定程度上表明基于stacking集成思想对传统PLS模型进行改进是合适的。
4.5 模型对比
为比较改进的stacking-plsr模型和传统的PLS模型拟合效果之间的差异,使用相同训练集和测试集对两种模型的拟合效果进行对比分析,为避免模型出现过拟合情况的影响,将全部样本划分成训练集和测试集进行预测。为避免随机生成测试集时容易包含极端样本的情况和随机生成带来的误差,同样以2001年、2007年和2013年的数据作为训练集,以其他年份的样本数据作为训练集,比较两种模型的拟合效果。两种模型拟合时均提取3个主成分,通过两种模型拟合全样本后得出的模型,对全样本数据进行预测。
为直观展示两个部分样本模型之间的差别,按照时间顺序,分别对城镇人口、乡村人口、户籍人口和常住人口的真实值和两种模型的预测值绘制时序图。
根据图7所示,对比两种模型的预测结果可以发现,stacking-plsr模型在城镇人口、乡村人口、户籍人口和常住人口等4个方面的拟合效果均优于传统的PLS模型,尤其是在常住人口方面,传统的PLS模型未能成功预测其变化趋势,这表明改进后的stacking-plsr模型拟合效果更好。为具体衡量两种模型的拟合效果之间的差别,分别计算两种模型预测值的MSE和ARE两项指标。
(a)城镇人口
根据表3可知,基于stacking-plsr模型计算的测试数据集对应的预测值,其预测精度在所有方面均优于传统的PLS模型。对于4项人口指标而言,stacking-plsr模型的预测精度在MSE这一指标上降低了68.26%,在ARE这一指标上降低了34.44%。这表明stacking-plsr模型能够继承PLS模型的优点,对高维数据进行拟合,同时经过stacking集成思想的改进能使模型更有效地拟合非线性数据,拟合精度更高。
表3 两种部分样本模型拟合程度评价指标
5 结论
本文将stacking集成思想引入PLS模型进行改进,提出新的stacking-plsr模型,改善了传统PLS模型对非线性数据拟合效果不佳的情况,提升了在高维数据情况下多变量非线性关系的拟合精度。对于提出的stacking-plsr模型,使用1995-2018年的29项数据进行实证分析,并与传统的PLS模型的拟合效果进行对比,结果表明stacking-plsr模型对测试集的预测结果在MSE和ARE两个方面均优于PLS模型。
此外,对于改进的stacking-plsr的鲁棒性和敏感性进行分析,结果表明stacking-plsr模型对于输入模型的训练集有较好的包容性,极端数据对于stacking-plsr模型的拟合效果和预测精度影响较小,即stacking-plsr模型的鲁棒性良好;对于超参数degree而言,当主成分个数选取合适时,超参数degree取值较大时并未导致模型的预测精度出现较大改变,即stacking-plsr模型在超参数degree取值较大时敏感性较低,模型不易因超参数degree出现过拟合情况。
本文主要讨论的问题是如何在高维数据情况下多变量对多变量构建非线性拟合模型并进行预测,stacking-plsr模型同样可以应用于其他领域的预测工作之中。