在实际问题中,经常遇到需要研究两组多重相关变量间的相互依赖关系,并研究用一组变量(常称为自变量或预测变量)去预测另一组变量(常称为因变量或响应变量), 除了最小二乘准则下的经典多元线性回归分析(MLR),提取自变量组主成分的主成分回归分析(PCR)等方法外,还有近年发展起来的偏最小二乘(PLS)回归方法。
偏最小二乘回归提供一种多对多线性回归建模的方法,特别当两组变量的个数很多,且都存在多重相关性,而观测数据的数量(样本量)又较少时,用偏最小二乘回归建立的模型具有传统的经典回归分析等方法所没有的优点。 偏最小二乘回归分析在建模过程中集中了主成分分析,典型相关分析和线性回归分析方法的特点,因此在分析结果中,除了可以提供一个更为合理的回归模型外,还可以同时完成一些类似于主成分分析和典型相关分析的研究内容,提供更丰富、深入的一些信息。
今天我们学习偏最小二乘回归分析的建模方法;通过例子从预测角度对所建立的回归模型进行比较。
偏最小二乘回归
考虑 p 个变量 y1 , y2 ,... , yp " 与 m 个自变量 x1 , x2 ,... , xm " 的建模问题。
偏最小二乘回归的基本作法是首先在自变量集中提出第一成分 t1 ( t1 是 x1 ,... , xm" 的线性组合,且尽可能多地提取原自变量集中的变异信息);同时在因变量集中也提取第一成分u1 , 并要求 t1 与 u1 相关程度达到最大。然后建立因变量 y1, ..., yp与 t1的回归,如果回归方程已达到满意的精度,则算法中止。否则继续第二对成分的提取,直到能达到满意的精度为止。若最终对自变量集提取 r 个成分 t1 ,t2 ,... ,tr ,偏最小二乘回归将通过建立 y1 ,... , yp 与 t1 ,t2 ,... ,tr 的回归式,然后再表示为 y1 ,... , yp " 与原自变量的回归方程式, 即偏最小二乘回归方程式。
为了方便起见,不妨假定 p 个因变量 y1 ,... , yp 与 m 个自变量 x1 ,... , xm 均为标准化变量。因变量组和自变量组的n 次标准化观测数据阵分别记为
偏最小二乘回归分析建模的具体步骤如下:
(1)分别提取两变量组的第一对成分,并使之相关性达最大。
假设从两组变量分别提出第一对成分为t1 和u1 ,t1 是自变量集 X (x1 ,... , xm )T = 1 的线性组合:
u1 是因变量集
的线性组合:
为了回归分析的需要,要求:
① t1 和 u1 各自尽可能多地提取所在变量组的变异信息;
② t1 和 u1 的相关程度达到最大。
由两组变量集的标准化观测数据阵 E0 和 F0 ,可以计算第一对成分的得分向量,记 为 tˆ1 和 uˆ1 :
第一对成分 t1 和 u1 的协方差Cov(t1 ,u1 ) , 可用第一对成分的得分向量 tˆ1 和 uˆ1 的内积来计算。故而以上两个要求可化为数学上的条件极值问题:
利用Lagrange乘数法,问题化为求单位向量 w1和v1,使
最大。问题的求解只须通过计算 m× m 矩阵
的特征值和特征向量。
且 M 的最大特征值为θ12 ,相应的单位特征向量就是所求的解 w1,而 v1 可由 w1计算得到
(2)建立 y1 ,... , yp " 对 t1 的回归及 x1 ,... ,xm " 对 t1 的回归。 假定回归模型为
其中
分别是多对一的回归模型中的参数向量, E1和 F1是残差阵。回归系数向量 α1 , β1 的最小二乘估计为
称 α1 , β1 为模型效应负荷量。
(3)用残差阵 E1和 F1代替 E0 和 F0 重复以上步骤。
记
则残差阵
如果残差阵 F1 中元素的绝对值近似为 0,则认为用第一个成分建立的回归式精度已满足需要了,可以停止抽取成分。否则用残差阵 E1和 F1代替 E0 和 F0 重复以上步骤即得:
分别为第二对成分的权数。而
v 为第二对成分的得分向量。
分别为 X ,Y 的第二对成分的负荷量。这时有
(4)设 n × m 数据阵 E0 的秩为 r ≤ min(n −1,m) ,则存在 r 个成分 t1 ,t2 , ...,tr " , 使得
把 tA=wk1x1+...+wkmxm(k=1,2,...,,r)
代入 Y = t1β1 +...+ tr βr ,即得 p 个因变量的偏最小二乘回归方程式
(5)交叉有效性检验。
一般情况下,偏最小二乘法并不需要选用存在的 r 个成分 t1 ,t2 ,... ,tr来建立回归式,而像主成分分析一样,只选用前l个成分(l ≤ r ),即可得到预测能力较好的回归模型。对于建模所需提取的主成分个数l,可以通过交叉有效性检验来确定。
每次舍去第i 个观测(i = 1,2,", n ),用余下的 n −1个观测值按偏最小二乘回归方法建模,并考虑抽取h 个成分后拟合的回归式,然后把舍去的第i 个观测点代入所拟合的回归方程式,得到 yj ( j =1,2,.. , p) 在第i 个观测点上的预测值yˆ(i)j(h) 。对 i = 1,2,..., n 重复以上的验证,即得抽取 h 个成分时第 j 个因变量 yj ( j =1,2,.. , p) " 的预测误差平方和为
Y= ( y1 ,... , yp ) T的预测误差平方和为
另外,再采用所有的样本点,拟合含h 个成分的回归方程。这时,记第i 个样本点 的预测值为 yijˆ (h) ,则可以定义 yj 的误差平方和为
定义Y 的误差平方和为
当 PRESS(h) 达到最小值时,对应的 h 即为所求的成分个数。通常,总有PRESS(h) 大于SS(h) ,而SS(h) 则小于SS(h −1)。因此,在提取成分时,总希望比值 PRESS(h) SS(h −1) 越小越好;一般可设定限制值为 0.05,即当
时,增加成分 t h有利于模型精度的提高。或者反过来说,当
时,就认为增加新的成分 th ,对减少方程的预测误差无明显的改善作用。
为此,定义交叉有效性为
这样,在建模的每一步 计算结束前,均进行交叉有效性检验,如果在第 h 步有
则模型达到精度要求,可停止提取成分;若 Qh2 ≥0.0975 ,表示第h 步提取的 th 成分的边际 贡献显著,应继续第 h +1步计算。
• END •
模友们可能已经发现:现在公众号推送文章的顺序,已经不会按时间排列了。这种变化,可能会让各位模友错过我们每天的推送。
所以,如果你还想像往常一样,聚焦数模乐园,就需要将“数模乐园”标为星标公众号,同时在阅读完文章后,别忘了给一个“在看”哦。
星标步骤
(1)点击页面最上方“数模乐园”,进入公众号主页
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
扫码关注我们
2020国际赛QQ参赛群
球分享
球点赞
球在看