偏最小二乘回归分析PLS

偏最小二乘回归是集主成分分析,典型相关分析和多元线性回归分析3种分析方法的优点于一身

  • MLR的缺点: 当自变量的数量大于样本量的时候,解不出θ \theta θ,回顾解析解
    θ = ( X T X ) − 1 X T Y \theta = (X^TX)^{-1}X^TY θ=(X T X )−1 X T Y 设X n ∗ k X_{nk}X n ∗k ​,当k > n k>n k >n时,( X T X ) k ∗ k (X^TX)_{kk}(X T X )k ∗k ​的秩为n,不是满秩的,所以没有逆矩阵R a n k ( A B ) ≤ R a n k ( B ) Rank(AB)\leq Rank(B)R a n k (A B )≤R a n k (B )
  • PCA的缺点: PCA只考虑了自变量的方差,然后选取了方差最大的几个正交变量,可以用于解决共线性问题(计量),没有考虑自变量对因变量的贡献
  • PLS: 偏最小二乘回归提供一种多对多线性回归建模的方法,特别当两组变量的个数很多,且都存在多重相关性,而样本又比较少的时候。

考虑P P P个因变量y 1 , y 2 , ⋯ , y p y_1,y_2,\cdots,y_p y 1 ​,y 2 ​,⋯,y p ​与m m m个自变量x 1 , x 2 , ⋯ , x m x_1,x_2,\cdots,x_m x 1 ​,x 2 ​,⋯,x m ​的回归问题。

首先在自变量集中提出第一成分u 1 u_1 u 1 ​(u 1 u_1 u 1 ​是x 1 , … , x n x_1,\ldots,x_n x 1 ​,…,x n ​的线性组合,且尽可能多地提取原自变量集中的变异信息);同时在因变量集中也提取第一成分v 1 v_1 v 1 ​,并要求u 1 u_1 u 1 ​与v 1 v_1 v 1 ​相关程度达到最大。 然后建立因变量y 1 , … , y p y_1,\ldots,y_p y 1 ​,…,y p ​与u 1 u_1 u 1 ​的回归,重复这个过程直到提取到足够的指定的成分。

计算步骤

先将X 与 Y X与Y X 与Y标准化
A = [ x 11 ⋯ x 1 m ⋮ ⋮ x n 1 ⋯ x n m ] B = [ y 11 ⋯ y 1 m ⋮ ⋮ y n 1 ⋯ y n m ] A = \begin{bmatrix} x_{11} & \cdots & x_{1m}\ \vdots & & \vdots \ x_{n1} & \cdots & x_{nm} \end{bmatrix} B = \begin{bmatrix} y_{11} & \cdots & y_{1m}\ \vdots & & \vdots \ y_{n1} & \cdots & y_{nm} \end{bmatrix}A =⎣⎢⎡​x 1 1 ​⋮x n 1 ​​⋯⋯​x 1 m ​⋮x n m ​​⎦⎥⎤​B =⎣⎢⎡​y 1 1 ​⋮y n 1 ​​⋯⋯​y 1 m ​⋮y n m ​​⎦⎥⎤​

为了回归分析的需要,要求

  • u 1 和 v 1 u_1和v_1 u 1 ​和v 1 ​各自尽可能多地提取所在变量组的变异信息
  • u 1 和 v 1 u_1和v_1 u 1 ​和v 1 ​的相关程度达到最大

计算ρ 1 与 γ 1 \rho_1与\gamma_1 ρ1 ​与γ1 ​

由两组变量集的标准化观察数据矩阵X 和 Y X和Y X 和Y,可以计算第一对成分的得分向量,记为u 1 ^ 和 v 1 ^ \hat{u_1}和\hat{v_1}u 1 ​^​和v 1 ​^​
u 1 ^ = A ρ 1 v 1 ^ = B γ 1 \hat{u_1} = A \rho_1 \ \hat{v_1} = B \gamma_1 \u 1 ​^​=A ρ1 ​v 1 ​^​=B γ1 ​

重复上面的步骤,得到r r r个成分
{ A = u 1 ^ σ 1 T + ⋯ + u r ^ σ r T + A r B = u 1 ^ τ 1 T + ⋯ + u r ^ τ r T + B r \begin{cases} A = \hat{u_1}\sigma_1^{T} + \cdots + \hat{u_r}\sigma_r^{T} + A_r \ B = \hat{u_1}\tau_1^{T} + \cdots + \hat{u_r}\tau_r^{T} + B_r \ \end{cases}{A =u 1 ​^​σ1 T ​+⋯+u r ​^​σr T ​+A r ​B =u 1 ​^​τ1 T ​+⋯+u r ​^​τr T ​+B r ​​

将u 1 = ρ 1 T X u_1 = \rho_1^T X u 1 ​=ρ1 T ​X代入Y = u 1 ^ τ 1 T + ⋯ + u r ^ τ r T Y=\hat{u_1}\tau_1^{T} + \cdots + \hat{u_r}\tau_r^{T}Y =u 1 ​^​τ1 T ​+⋯+u r ​^​τr T ​,即得P P P个因变量的偏最小二乘回归方程式
y j = c j 1 x 1 + … + c j m x m , j = 1 , 2 , … , p y_j = c_{j1}x_1 + \ldots + c_{jm}x_m, j= 1,2,\ldots,p y j ​=c j 1 ​x 1 ​+…+c j m ​x m ​,j =1 ,2 ,…,p

应该提取多个个成分,可以使用交叉有效性检验

每次舍去第i i i个观察数据,对余下的n − 1 n-1 n −1个观测数据用偏最小二乘回归方法,并考虑抽取h ( h ≤ r ) h(h\leq r)h (h ≤r )个肠粉后拟合的回归式,然后把舍去的自变量组第j j j个观测数据代入所拟合的回归方程式,得到y j ( j = 1 , 2 , ⋯ , p ) y_j(j=1,2,\cdots,p)y j ​(j =1 ,2 ,⋯,p )在第i i i观测点上的预测值为b ( i ) j ^ ( h ) \hat{b_{(i)j}}(h)b (i )j ​^​(h )

对i = 1 , 2 , … , n i=1,2,\ldots,n i =1 ,2 ,…,n重复以上的验证,即得抽取h h h个成分时第j j j个因变量y j ( j = 1 , 2 , … , p ) y_j(j=1,2,\ldots,p)y j ​(j =1 ,2 ,…,p )的预测误差平方和为
P R E S S j ( h ) = ∑ i = 1 n ( b ( i ) j − b ^ ( i ) j ( h ) ) 2 , j = 1 , 2 , … , p PRESS_j(h) = \sum_{i=1}^n(b_{(i)j}-\hat{b}{(i)j}(h))^2,j=1,2,\ldots,p P R E S S j ​(h )=i =1 ∑n ​(b (i )j ​−b ^(i )j ​(h ))2 ,j =1 ,2 ,…,p
Y Y Y的预测误差平方和为
P R E S S ( h ) = ∑ i = 1 p P R E S S j ( h ) PRESS(h) = \sum
{i=1}^pPRESS_j(h)P R E S S (h )=i =1 ∑p ​P R E S S j ​(h )

另外,再采用所有的样本点,拟合含h h h个成分的回归方程。这时,记第i i i个样本点的预测值为b ^ i j ( h ) \hat{b}{ij}(h)b ^i j ​(h ),则可以定义y j y_j y j ​的误差平方和为
S S j ( h ) = ∑ i = 1 n ( b i j − b ^ i j ( h ) ) 2 SS_j(h) = \sum
{i=1}^n(b_{ij}-\hat{b}{ij}(h))^2 S S j ​(h )=i =1 ∑n ​(b i j ​−b ^i j ​(h ))2
定义 h h h成分的误差平方和
S S ( h ) = ∑ j = 1 p S S j ( h ) SS(h) = \sum
{j=1}^p SS_j(h)S S (h )=j =1 ∑p ​S S j ​(h )

当P R E S S ( h ) PRESS(h)P R E S S (h )达到最小值时,对应的h h h即为所求的成分l l l个数。通常,总有P R E S S ( h ) > S S ( h ) PRESS(h) > SS(h)P R E S S (h )>S S (h ),而S S ( h ) < S S ( h − 1 ) SS(h) < SS(h-1)S S (h )<S S (h −1 )。因此在提取成分时,总是希望P R E S S ( h ) S S ( h − 1 ) \frac{PRESS(h)}{SS(h-1)}S S (h −1 )P R E S S (h )​越小于好,一般可以设定阈值为0.05,判定规则为,当
P R E S S ( h ) S S ( h − 1 ) ≤ ( 1 − 0.05 ) 2 \frac{PRESS(h)}{SS(h-1)} \leq (1-0.05)^2 S S (h −1 )P R E S S (h )​≤(1 −0 .0 5 )2
时,新加成分对回归改善是有帮助的

因此,可以定义交叉有效性
Q h 2 = 1 − P R E S S ( h ) S S ( h − 1 ) Q_h^2 = 1 – \frac{PRESS(h)}{SS(h-1)}Q h 2 ​=1 −S S (h −1 )P R E S S (h )​
在每一步计算结束前,计算交叉有效性,在第h h h步有Q h 2 ^ < 1 − 0.9 5 2 \hat{Q_h^2} < 1 – 0.95^2 Q h 2 ​^​<1 −0 .9 5 2,则模型到达精度,可以停止提取成分

from sklearn.cross_decomposition import PLSRegression
pls = PLSRegression(n_compoents=k)
pls.fit(X,Y)
y_pred = pls.predict(X_test)

Original: https://blog.csdn.net/weixin_52185313/article/details/124002018
Author: PD我是你的真爱粉
Title: 偏最小二乘回归分析PLS

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622963/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球