PLSR的扩展性质

PLS回归算法可以分为两类,PLSR1和PLSR2,分别对应一个或者多个相应变量,本文为了简单起见,只讨论PLSR1这种情况。

下面主要讨论一下PLS1的系数计算和推导性质


1.基本性质

在前面偏最小二乘法 基本性质推导已经介绍了基本的性质,这里不再赘述,这里,根据PLS1的特点,重新定义一下基本公式

参照传统,公式中的下标做了调整,跟常见的文献和参考书中的下标表示一致

                                                                             \bg_white \fn_jvn \dpi{120} \bg_white \fn_jvn \\E_0=X \\F_0 = y \\v_n =F^T_{n-1}E_{n-1}w_n /\lambda \\ t_n =E_{n-1}w_n \\u_n = F_{n-1}v_n \\ p_n = \frac{E_{n-1}^Tt_n}{\left \| t_n \right \|^2} \\ q_n= \frac{F_{n-1}^Tt_n}{\left \| u_n \right \|^2}\\ r_n = \frac{F_{n-1}^Tt_n}{\left \| t_n \right \|^2} \\E_n = E_{n-1} - t_np_n^T \\F_n = F_{n-1} - t_nr_n^T

当响应变量为一个向量的时候,可以看到w_n \propto E^T_{n-1}F_{n-1},而v_n,r_n已经退化成标量,假如做归一化的,则恒为1


2 PLSR系数计算

2.1 基于得分矩阵的回归系数

                                                \small \\ E = t_1p_1^T+t_2p_2^T+...+t_rp_r^T=T*P^T \\ F = t_1r_1^T+t_2r_2^T+...+t_rr_r^T+F^* = T*R^T

求得系数r后,新的样本可以通过计算其得分,乘以回归系数r,得到预测值。这个方法是T关于F的最小二乘估计,在模型的解释上不是很理想,因此,在实际中,用的似乎比较少,至少我很少看到。

2.2 基于X的回归系数

在多数的情况下面,建模一般都想建立X关于Y的回归模型

                                              \small \\ E_n = E_{n-1}(I-w_{n-1}*p_{n-1}^T) =E_0\prod_i^{n-1}(I-w_ip_i^T) \\t_n = E_nw_n=E_0\prod_i^{n-1}(I-w_ip_i^T)w_n

                                           z_n=\prod_i^{n-1}(I-w_ip_i^T)w_n\Rightarrow t_n = E_0z_n\Rightarrow F_0 = E_0ZR^T

                                              B = ZR^T

考虑到计算需要,系数B可以推导出不同的形式。在PLSR1中,系数只是一个向量,不是数组

权值向量z可以看作w的变异版本,通过z,得分可以直接从原始的数据X数据直接得到,不需要再经过残差矩阵。从上述中,z的表达公式可以看出,Z的最小二乘解为

                                                Z= (E_0^TE_0)^{-}E_0^TT

下面介绍一下Z的其他表达形式,首先看一下z_n,p_n之间的关系

                                            z_i^Tp_j = z_i^TE_0^Tt_j/(t_j^Tt_j) = t_i^Tt_j/(t_j^Tt_j) = \begin{Bmatrix} 0,i=j\\ 1 ,i\neq j \end{Bmatrix}

P^T*Z = I_a  ,a 表示潜在变量的数量。

由Z的表达公式可以知道,Z所span的空间和W所span的空间是一样,可以由同一组基构成。

因此,Z可以表达为Z= WG,G是待确定的矩阵,由此可以得到

                                           P^T*Z =P^TWG =I_a\Rightarrow G = (P^TW)^{-1}

                                          Z= W(P^TW)^{-1}

最后则有b = Zr= W(P^TW)^{-1}r

类似地还可以得到b = W(W^TX^TXW)^{-1}W^TX^Ty

推导这么多公式地意义在于计算的需要,为了修改原先的算法,首先弄明白算法的原理,然后寻求尽量简单直观的表达公式,保证运算的准确性。如上述的两个关于b的公式,显然第一个要简洁多,但也需要看到,第二个公式只有一个未知的变量

另外,再想想最小二乘法的表达式,上述b的公式2很值得回味,看似杂乱中,体现出一些美感

                                                             b = (X^TX)^{-1}X^Ty


3 PLSR的其他性质

性质一

t_i = X(X^TX)^{-1}X^Tt_i

由于t_i = Xz_i  得到 t_iX各列的一个线性组合,所以,其在X的投影即为自身

性质二

                                        p_i = E_{i-1}^Tt_i/(t_i^Tt_i)=(E_0-\sum_{1}^{i-1}t_kp_k^T)^Tt_i/(t_i^Tt_i)\\ \Rightarrow p_i = E_0^Tt_i/(t_i^Tt_i)

性质三

 

\\p_i^T(X^TX)^-p_j = t_i^T/(t_i^Tt_i)X(X^TX)^-X^Tt_j/(t_j^Tt_j)\\ = t_i^T/(t_i^Tt_i)t_j/(t_j^Tt_j)=\begin{Bmatrix} 1/(t_i^Tt_i) i=i\\0 ,i\neq j \end{Bmatrix}

p_i是得分关于残差矩阵的最小二乘系数,本身并不存在正交,但是在(X^TX)^-空间内,或者说关于(X^TX)^-共轭正交。

性质四

\\M = (X^TX)^{-} \\T = X(X^TX)^{-}X^TT=XMX^TT \\X^TT=P (T^TT)= P(P^TMP)^{-1} \\\Rightarrow T =XMP(P^TMP)^{-1}

性质五

PLSR的系数求解是首先求y关于T的系数,因此y首先投影到T空间中,求得投影,再得到回归系数

y = Tb\Rightarrow \widetilde{y} = T(T^TT)^{-1}T^Ty

利用性质四,将上述公式进行化简得到

                                                \\\widetilde{y} = T(T^TT)^{-1}T^Ty \\ \widetilde{y} = XMP(P^TMP)^{-1}(T^TT)^{-1}((P^TMP)^{-1})^T(XMP)^Ty \\=XMP(P^TMP)^{-1}P^TMX^Ty

性质六

                                           E_n = E_0-\sum_{1}^{n}t_ip_i^T=E0-\sum_{1}^{n}t_i(t_i^Tt_i)^{-1}t_i^TE0

                                                              \\\tau =T(T^TT)T^T =\sum_{1}^{n}t_i(t_i^Tt_i)^{-1}t_i^T \\\tau^\perp = I_Q-\tau \\E_n = \tau^\perp E_0

很容易理解,X的残差矩阵就是提取与T所span的空间正交的部分。也可以换一个角度去看,用P的角度,由于P并非正交,所以并不能表示成上述那样的形式,但是我们也提到过,P是关于M共轭正交的,因此,采用一种斜投影的形式去表示P与残差En的关系。

\\t_i=XMp_i(p_i^TMp_i)^{-1} \\

E_n = E_0-\sum_{1}^{n}t_ip_i^T=E_0-\sum_{1}^{n}E_0Mp_i(p_i^TMp_i)^{-1}p_i^T \\

E_n = E_0-\sum_{1}^{n}t_ip_i^T=E_0-\sum_{1}^{n}E_0Mp_i(p_i^TMp_i)^{-1}p_i^T \\

由于\sum_{1}^{n}p_ip_i^T =PP^T,且有(P^TMP)^{-1}为对角阵,综上得到

E_n = E_0-\sum_{1}^{n}E_0MP(P^TMP)^{-1}P^T \\

\\\texttt{P} = (MP(P^TMP)^{-1}P^T)^T = P(P^TMP)^{-1}P^TM\\ \texttt{P}^\perp=I_Q- P(P^TMP)^{-1}P^TM \\ E_n = E_0(\texttt{P}^\perp)^T

小结一下,残差矩阵可以表达为如下这两种形式,在结果是等价的,几何意义上的区别是,前者是通过列空间,后者是通过行空间。所有才有左乘和右乘的区别。

\\E_n = \tau^\perp E_0= E_0(\texttt{P}^\perp)^T


PLSR的计算非常之多,虽然万变不离其宗,但是算法之间并不完全等价,有兴趣可以参考论文 A comparison of nine PLS1 algorithms。按文献描述,最稳定者还是最传统的NIPALS算法。

PLSR本质上是一种对原数据空间一种低秩逼近的方法,像共轭梯度法,按照一定的准则,每次确定一个求解方向,在残差基础上,不断做正交或者共轭正交的分解,用低维的空间逼近原先的空间。这种空间降维的方式可以克服纬度灾难,使得解更加稳定可靠。得到低维空间也可以表达为Krylov空间,以后再谈谈PLSR和共轭梯度,krylov空间三者之间的关系

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值