基础部数学教研室第11章偏最小二乘回归分析数学建模算法与应用基础部数学教研室3/49数学建模在实际问题中,经常遇到需要研究两组多重相关变量间的相互依赖关系,并研究用一组变量(常称为自变量或预测变量)去预测另一组变量(常称为因变量或响应变量),除了最小二乘准则下的经典多元线性回归分析(MLR),提取自变量组主成分的主成分回归分析(PCR)等方法外,还有近年发展起来的偏最小二乘(PLS)回归方法。基础部数学教研室4/49数学建模偏最小二乘回归提供一种多对多线性回归建模的方法,特别当两组变量的个数很多,且都存在多重相关性,而观测数据的数量(样本量)又较少时,用偏最小二乘回归建立的模型具有传统的经典回归分析等方法所没有的优点。偏最小二乘回归分析在建模过程中集中了主成分分析,典型相关分析和线性回归分析方法的特点,因此在分析结果中,除了可以提供一个更为合理的回归模型外,还可以同时完成一些类似于主成分分析和典型相关分析的研究内容,提供一些更丰富、深入的信息。基础部数学教研室5/49数学建模本章介绍偏最小二乘回归分析的建模方法;通过例子从预测角度对所建立的回归模型进行比较。基础部数学教研室6/49数学建模11.1偏最小二乘回归分析考虑p个因变量12,,,pyyy与m个自变量12,,,mxxx的建模问题。偏最小二乘回归的基本作法是首先在自变量集中提出第一成分1u(1u是1,,mxx的线性组合,且尽可能多地提取原自变量集中的变异信息);同时在因变量集中也提取第一成分1v,并要求1u与1v相关程度达到最大。然后建立因变量1,,pyy与1u的回归,如果回归方程已达到满意的精度,则算法中止。基础部数学教研室7/49数学建模否则继续第二对成分的提取,直到能达到满意的精度为止。若最终对自变量集提取r个成分12,,,ruuu,偏最小二乘回归将通过建立1,,pyy与12,,,ruuu的回归式,然后再表示为1,,pyy与原自变量的回归方程式,即偏最小二乘回归方程式。基础部数学教研室8/49数学建模为了方便起见,不妨假定p个因变量1,,pyy与m个自变量1,,mxx均为标准化变量。自变量组和因变量组的n次标准化观测数据矩阵分别记为1111mnnmaaAaa,1111pnnpbbBbb.偏最小二乘回归分析建模的具体步骤如下基础部数学教研室9/49数学建模(1)分别提取两变量组的第一对成分,并使之相关性达最大。假设从两组变量分别提出第一对成分为1u和1v,1u是自变量集1[,,]TmXxx的线性组合(1)11111TmmuxxX,1v是因变量集1[,,]TpYyy的线性组合(1)11111TppvyyY。为了回归分析的需要,要求i)1u和1v各自尽可能多地提取所在变量组的变异信息;ii)1u和1v的相关程度达到最大。基础部数学教研室10/49数学建模由两组变量集的标准化观测数据矩阵A和B,可以计算第一对成分的得分向量,记为1ˆu和1ˆv11111(1)111ˆmnnmmaauAaa,(11.1)11111(1)111ˆpnnppbbvBbb.(11.2)基础部数学教研室11/49数学建模第一对成分1u和1v的协方差11Cov(,)uv可用第一对成分的得分向量1ˆu和1ˆv的内积来计算。故而以上两个要求可化为数学上的条件极值问题(1)(1)(1)(1)11ˆˆmax()()TTuvABABs.t.2(1)(1)(1)2(1)(1)(1)1,1.TT(11.3)基础部数学教研室12/49数学建模利用Lagrange乘数法,问题化为求单位向量(1)和(1),使(1)(1)1TTAB达到最大。问题的求解只须通过计算mm矩阵TTMABBA的特征值和特征向量,且M的最大特征值为21,相应的单位特征向量就是所求的解(1),而(1)可由(1)计算得到(1)(1)11TBA(11.4)基础部数学教研室13/49数学建模(2)建立1,,pyy对1u的回归及1,,mxx对1u的回归。假定回归模型为(1)11(1)11ˆ,ˆ,TTAuABuB(11.5)其中(1)111[,,]Tm,(1)111[,,]Tp分别是多对一的回归模型中的参数向量,1A和1B是残差阵。基础部数学教研室14/49数学建模回归系数向量(1)(1),的最小二乘估计为2(1)112(1)11ˆˆ,ˆˆ,TTAuuBuu(11.6)称(1)(1),为模型效应负荷量。基础部数学教研室15/49数学建模(3)用残差阵1A和1B代替A和B重复以上步骤。记(1)1ˆˆTAu,(1)1ˆˆTBu,则残差阵1ˆEAA,1ˆBBB。如果残差阵1B中元素的绝对值近似为0,则认为用第一个成分建立的回归式精度已满足需要了,可以停止抽取成分。否则用残差阵1A和1B代替A和B重复以上步骤即得(2)212[,,]Tm,(2)212[,,]Tp,基础部数学教研室16/49数学建模而(2)21ˆuA,(2)21ˆvB为第二对成分的得分向量,2(2)122ˆˆTAuu,2(2)122ˆˆTBuu分别为,XY的第二对成分的负荷量。这时有(1)(2)122(1)(2)122ˆˆ,ˆˆ.TTTTAuuABuuB基础部数学教研室17/49数学建模(4)设nm数据阵A的秩为min(1,)rnm,则存在r个成分12,,,ruuu,使得(1)()1(1)()1ˆˆ,ˆˆ.TrTrrTrTrrAuuABuuB(11.7)把11kkkmmuxx(1,2,,kr),代入(1)()1rrYuu,即得p个因变量的偏最小二乘回归方程式11jjjmmycxcx,1,2,,jp.(11.8)基础部数学教研室18/49数学建模(5)交叉有效性检验。一般情况下,偏最小二乘法并不需要选用存在的r个成分12,,,ruuu来建立回归式,而像主成分分析一样,只选用前l个成分(lr),即可得到预测能力较好的回归模型。对于建模所需提取的成分个数l,可以通过交叉有效性检验来确定。基础部数学教研室19/49数学建模每次舍去第i个观测数据(1,2,,in),对余下的1n个观测数据用偏最小二乘回归方法建模,并考虑抽取h(hr)个成分后拟合的回归式,然后把舍去的自变量组第i个观测数据代入所拟合的回归方程式,得到(1,2,,)jyjp在第i个观测点上的预测值()ˆ()ijbh。基础部数学教研室20/49数学建模对1,i2,,n重复以上的验证,即得抽取h个成分时第j个因变量(1,2,,)jyjp的预测误差平方和为2()1ˆPRESS()(())njijijihbbh,1,2,,jp,1[,,]TpYyy的预测误差平方和为1PRESS()PRESS()pjihh.基础部数学教研室21/49数学建模另外,再采用所有的样本点,拟合含h个成分的回归方程。这时,记第i个样本点的预测值为ˆ()ijbh,则可以定义jy的误差平方和为21ˆSS()(())njijijihbbh,定义的误差平方和为1SS()SS()pjjhh.基础部数学教研室22/49数学建模当PRESS()h达到最小值时,对应的h即为所求的成分个数l。通常,总有PRESS()h大于SS()h,而SS()h则小于SS(1)h。因此,在提取成分时,总希望比值PRESS()SS(1)hh越小越好;一般可设定限制值为0.05,即当22PRESS()SS(1)(10.05)0.95hh时,增加成分hu有利于模型精度的提高。基础部数学教研室23/49数学建模或者反过来说,当2PRESS()SS(1)0.95hh时,就认为增加新的成分hu,对减少方程的预测误差无明显的改善作用。基础部数学教研室24/49数学建模为此,定义交叉有效性为21PRESS()SS(1)hQhh,这样,在建模的每一步计算结束前,均进行交叉有效性检验,如果在第h步有2210.950.0985hQ,则模型达到精度要求,可停止提取成分;若20.0975hQ,表示第h步提取的hu成分的边际贡献显著,应继续第1h步计算。基础部数学教研室25/49数学建模11.2Matlab偏最小二乘回归命令plsregressMatlab工具箱中偏最小二乘回归命令plsregress的使用格式为[XL,YL,XS,YS,BETA,PCTVAR,MSE,stats]=plsregress(X,Y,ncomp)基础部数学教研室26/49数学建模其中X为n×m的自变量数据矩阵,每一行对应一个观测,每一列对应一个变量;Y为n×p的因变量数据矩阵,每一行对应一个观测,每一列对应一个变量;ncomp为成分的个数,ncomp的默认值为min(n-1,m)。返回值XL为对应于ˆi的m×ncomp的负荷量矩阵,它的每一行为对应于式(11.7)的第一式的回归表达式;YL为对应于ˆi的p×ncomp矩阵,它的每一行为对应于式(11.7)的第二式的回归表达式;基础部数学教研室27/49数学建模XS是对应于ˆiu的得分矩阵,Matlab工具箱中对应于式(11.3)的特征向量()i不是取为单位向量,()i取为使得每个ˆiu对应的得分向量是单位向量,且不同的得分向量是正交的;YS是对应于ˆiv的得分矩阵,它的每一列不是单位向量,列与列之间也不正交;BETA的每一列为对应于式(11.8)的回归表达式;PCTVAR是一个两行的矩阵,第一行的每个元素对应着自变量提出成分的贡献率,第二行的每个元素对应着因变量提出成分的贡献率;基础部数学教研室28/49数学建模MSE是一个两行的矩阵,第一行的第j个元素对应着自变量与它的前1j个提出成分之间回归方程的剩余标准差,第二行的第j元素对应着因变量与它的前1j个提出成分之间回归方程的剩余标准差;stats返回4个值,其中返回值stats.W的每一列对应着特征向量()i,这里的特征向量不是单位向量。基础部数学教研室29/49数学建模11.3案例分析例11.1本例采用兰纳胡德(Linnerud)给出的关于体能训练的数据进行偏最小二乘回归建模。在这个数据系统中被测的样本点,是某健身俱乐部的20位中年男子。被测变量分为两组。第一组是身体特征指标X,包括体重、腰围、脉搏。第二组变量是训练结果指标Y,包括单杠、弯曲、跳高。原始数据见表11.1(表略)。基础部数学教研室30/49数学建模解123,,xxx分别表示自变量指标体重、腰围、脉搏,123,,yyy分别表示因变量指标单杠、弯曲、跳高,自变量的观测数据矩阵记为203()ijAa,因变量的观测数据矩阵记为203()ijBb。基础部数学教研室31/49数学建模(1)数据标准化将各指标值ija转换成标准化指标值ija,(1)(1)ijjijjaas,1,2,,20i,1,2,3j,其中20(1)1120jijia,(1)(1)211()201njijjisa,(1,2,3j),即(1)(1),jjs为第j个自变量jx的样本均值和样本标准差。对应地,称(1)(1)jjjjxxs,1,2,3j,为标准化指标变量。基础部数学教研室32/49数学建模类似地,将ijb转换成标准化指标值ijb,(2)(2)ijjijjbbs,1,2,,20i,1,2,3j,其中20(2)1120jijib,(2)(2)211()201njijjisb,(1,2,3j),即(2)(2),jjs为第j个因变量jy的样本均值和样本标准差;对应地,称(2)(2)jjjjyys