偏最小二乘(PLS)原理分析&Python实现

本文详细介绍了偏最小二乘(PLS)回归的原理,包括其与主成分分析(PCA)的关系、实现步骤、主成分求解及回归系数计算。此外,还探讨了PLS中数据标准化的重要性、PCA原理、残差矩阵的计算以及交叉验证的目的。最后,提供了PLS的Python代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1  偏最小二乘的意义

2​ ​​​​​​PLS实现步骤

3 弄懂PLS要回答的问题

4 PLS的原理分析

4.1 自变量和因变量的主成分求解原理

4.1.1 确定目标函数

4.1.2 投影轴w1和v1的求解

4.2 求解回归系数

5 第3章问题解答

5.1 PCA原理

5.2 为什么要对X、Y标准化?

5.3 如何求自变量和因变量的第一主成分

5.4 为什么要计算残差矩阵?为什么要不停地用残差矩阵替换原来的自变量和因变量;

5.5 为什么要进行交叉性检验?

6 PLS代码实现——Python


1  偏最小二乘的意义​​​​​​​

回归是研究因变量对自变量的依赖关系的一种统计分析方法,目的是通过自变量的给定值来估计或预测因变量的值。

当自变量只有一个时,常用的回归方法有一元线性回归(SLR);当自变量有多个时,常用的回归方法有多元线性回归(MLR)、主成分回归(PCR)、偏最小二乘回归(PLS)等,这几种回归方法的联系和区别如下:

 从中可以看出,偏最小二乘是主成分分析+线性回归的合体,集合了两者的优点。一般来说,能用主成分分析,就一定能用偏最小二乘。当数据量小,甚至比变量维数还小,而相关性又比较大时使用,偏最小二乘是优于主成分回归。

2​ ​​​​​​PLS实现步骤

设自变量矩阵是X,因变量矩阵是Y:
① 标准化自变量矩阵和因变量矩阵,标准化后的矩阵是E和F;
②​​​​​​​ 求解自变量和因变量的第一主成分t1、u1;
③ 建立自变量E、因变量E和第一主成分t1、u1的回归方差,并计算残差矩阵E1、F1;
④ 用E1、F1代替E、F形成新的自变量、因变量,求解新的自变量和因变量的第一主成分t2、u2,即为原来自变量和因变量的第二主成分。
⑤ 建立新的自变量E1、因变量F1(残差矩阵)和第二主成分t2、u2的回归方程,并计算残差矩阵E2,F2;
⑥ 重复④、⑤步直至求出所有的主成分或者满足条件为止;
⑦ 交叉性检验,确定满足条件的主成分个数;
⑧ 建立回归方程,计算出回归系数。

3 弄懂PLS要回答的问题

① PCA的原理​​​​​​​;
② 为什么要对X、Y标准化;
③ 如何求自变量和因变量的第一主成分;
④ 为什么要计算残差矩阵?为什么要不停地用残差矩阵替换原来的自变量和因变量;
⑤ 为什么要进行交叉性检验?

4 PLS的原理分析

从PLS的求解步骤可以看出,有两个关键点:

① 求解自变量和因变量的主成分;

② 求解回归系数。

4.1 自变量和因变量的主成分求解原理

设有p个自变量,q个以因变量,样本点个数为n,则可以得到自变量和因变量的数据表:

X=\left [ x^1,x^2,......,x^p\right ], Y=\left [ y^1,y^2,......,y^q \right ]
其中,x^iy^i是n维列向量。

偏最小二乘的思想是求解主成分的同时要保证自变量和因变量的相关性最大。即求解X的主成分t1和Y的主成分u1,t1和u1需要满足如下要求:

(1) t1和u1应尽可能大地携带他们各自数据表中的变异信息;
(2) t1与u1的相关程度能够达到最大。

从上述原理可以看出,PLS和PCA求解主成分都是一个目标函数最大值求解的问题。区别在于两者的目标函数不一样。所以同样地,PLS求解主成分有关键的两个步骤:

1、确定目标函数;

2、求解目标函数取最大值时的投影轴w1和v1。

4.1.1 确定目标函数

① 要使主成分t1尽可能携带X的信息或者u1尽可能携带Y的信息,则有:

Var(t1)\rightarrow max,Var(u1)\rightarrow max 
② 要使主成分t1和u1之间的相关程度最高,则有:

corr(t1,u1)\rightarrow max

要同时满足以上两个要求,则目标函数可表示成:

\sqrt{Var(t1)}\times \sqrt{Var(u1)}\times corr(t1,u1)=cov(t1,u1)\rightarrow max

因为t1、u1分别是X、Y投影得到,设t投影轴为w1、v1,则有:

t1=Ew1,u1=Fv1

又w1、v1为方向向量,且E、F已经标准化,列向量的均值为0,则目标函数可转换为:

cov(Fw1,Ev1)=v1^TE^TFw1

其中,

​​​​​​​\\\begin{Vmatrix} w1 \end{Vmatrix}^2=1 ,\begin{Vmatrix} v1 \end{Vmatrix}^2=1

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dfreedom.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值