python偏最小二乘法回归分析_偏最小二乘回归(PLSR)- 2 标准算法(NIPALS)

1 NIPALS 算法

Step1:对原始数据X和Y进行中心化,得到X0和Y0。从Y0中选择一列作为u1,一般选择方差最大的那一列。 注:这是为了后面计算方便,如计算协方差时,对于标准化后的数据,其样本协方差为cov(X,Y)=XTY/(n-1)。

Step2:迭代求解X与Y的变换权重(w1,c1)、因子(u1,t1),直到收敛 step 2.1:利用Y的信息U1,求X的变换权重w1(w1实现有X0到因子t1的变换,t1=X0*w1)及因子t1。从而将X0的信息用t1来近似表达。

30100443-461c7f42371f4e198e64109c3160bcfd.png (2.1)

30100444-9bdc61014f0b494383ea51e4281e5e51.png (2.2)

30100445-7dd8c96019c047feaf1b6fd09e5d4469.png (2.3) Step2.2:利用X的信息t1,求Y的变换权重c1(c1实现有Y0到因子u1的变换,u1=Y0*c1),并更新因子u1。从而将Y0的信息用t1来近似表达。

30100445-1e068b22c6ad477abebe251d205b4e7d.png (2.4)

30100446-bf23c304a36246a4bab883b149c5d26c.png (2.5) 30100446-587c1d887cdc47bba23f28d576a057cf.png (2.6) Step2.5:判断是否已找到合理解

30100447-77742e7c887c454195a618e1db19d50b.png (2.7)

30100448-caba1102628c419c85663df922dfa138.png<阈值(如30100448-67c2fd9c683a4918a46ba05cf4682fbf.png)则继续下面步骤;否则,取30100449-f8a45faf02b944c8b470dd9f63ced536.png,返回step2.1。 注:

1)以上过程的意义及其收敛性的直观分析

a)公式2.1,实际上求解了由Y的因子u1到X的回归模型的系数30100450-ab47ba1ad65e42429a0e3221faeacb0f.png,公式2.2与2.3将X映射为第一个因子t1。

b)同理,公式2.4,实际上求解了由X的因子t1到Y的回归模型的系数,公式2.5与2.6将X映射为第一个因子t1。

c)这里交替建立X与Y直接回归关系的方式,通常会很快收敛。

2)w1与c1的其他求法。[2,3]中已经证明以上求解过程收敛后找到的解w1与c1可以利用矩阵分析方法找到

a)特征值分解方法(Eigen Value Decomposition):w1是30100450-c5ecc60dc47c443092823c9ec0d3ce03.png的最大特征值的单位特征向量,c1是30100450-cb317ebd5e1f44f08794970045a905ac.png的最大特征值的单位特征向量,

b)SVD分解法(singular vector decomposition):w1和c1分别于对X0TY0进行SVD分解获得的第一对左奇异向量(left singular vector)和右奇异向量的单位

向量。

Step3:求X与Y的残差矩阵 step 3.1:求X的载荷(X-loading)p1(p1反映X0与因子t1的直接关系,30100451-d8cd76dbf7aa4b23bd0e1ea2913bd789.png

注:前面求得X的变换权重w1是由X0到t1的关系,此处的p1是由t1到X0的关系。而且,由于后续的Wi(i>1)是根据Xi的残差求得的,因此它无法反映T到X0的关系。所以,才要求出P以直接反映T到X0的关系)

30100452-716aabef996d4572bca47130aa003d61.png (2.8)

p1求解公式的推导如下 a)前面已求出t1,现在希望用t1来表达X0,建立回归模型

30100452-b217fade323c44f39bcca9c376b321ff.png

b)模型不能表达的信息即为X0的残差矩阵X1。

30100453-dc3b580dbeda4c92801eaa1ca5970808.png

c)上式的关键是求p1,其求解公式推导过程:对30100453-d5763a0753a543e997a5d0fb0cc9be0d.png转置得30100454-ca3de6db24fd455d8b801d327db297a1.png,两边右乘t1有30100454-ea46959573c7456dbcab02990bc94285.png,从而有

30100455-aba98a43c9234e90adaa6a0f14f6f793.png

注:p1代表因子t1在X上的载荷(loadings),它反映了原始变量X与第一个因子向量t1间的关系。

step 3.2:求X0的残差X1。此残差表达了u1所不能反映的X0中的信息。

30100455-3a66b16e0c6d4215afbfd2f5d4932d96.png (2,9)

step 3.3:求Y的载荷(Y-loading)q1(q1反映Y0与因子U1的关系,30100456-6aa2b3919a3d49118cecd043f17d1777.png

30100456-a16280f372854828b74532d1af941917.png (2.10)

step 3.4:建立X因子t1与Y因子u1间的回归模型30100457-99a5ad932a0c47c4927f866d2f83546a.png,用t1预测u1的信息。

30100457-b40d5e73878248f1beda70facc154b0f.png(2.11)

step 3.5:求Y0的残差Y1。此残差表达了X因子t1所不能预测的Y0中的信息

30100458-78e7a06c8bac41c1ac436360a651df87.png(2.12)

注:这里利用30100458-a059260fb88842038b78384764de8e75.png,建立t1与Y间的关系。

Step4:利用X1与Y1,重复上面步骤,求解下一批PLS参数(因子、转换权重、载荷、回归系数等)。

在这个算法中,当一个因子计算出来后,进一步计算出X(及Y)的残差。下一个因子是从当前残差矩阵计算出来,因此PLS模型参数(因子scores,loadings, weights)与最初的X0无关,而是与残差有关。

2 NIPALS-PLS 参数的理解

1)变换权向量w

30100459-4dbcd5521c8b44d4bd76494cd6c5fad5.png

在第二轮及以后的计算过程中,权向量wa将残差Xa-1变换为因子得分ta,而不是对原始预处理后的数据X0直接进行变换,这阻碍了对于因子的有效解释。实际上,权向量在PLS回归模型中的解释中用处不大。

2)构建X0到T直接联系的权向量R

30100459-6156fa14f37f4ff1bba9bb411a5661ac.png30100500-0ea7149f2537473caf9d444ee55c85ba.png

PLS算法执行完成后,我们得到所有的因子t,那么我们就可以直接建立原始数据X0与其之间的转换权重矩阵R。其实R就是由X0到T的回归系数,其计算公式为

30100501-e3377cadf5e44e31aea725ab6ad22fd6.png

3 NIPALS-PLS 的预测过程

当完成PLS模型构建后,我们得到的PLS模型参数包括: 1)转换权重:W(X-weights),C(Y-wights)

2)因子得分:T(X-factor scores),U(Y-factor scores)

3)载荷:P(X-loadings),Q(Y-loadings)

当来了一条新数据30100501-6433870f0da742a4adcae971a09ccdad.png,其预测计算过程如下 1)预处理:30100502-709e6ad371bc47ca993cc45dae631c05.png。注:预处理方法与建模时保持一致,这里公式采用中心化处理方法。

2)依次求出求30100502-ce00f769ac7944da83419a046de9b190.png的各因子和残差

30100503-7548d67fd0f347a4b967b563ee31cf32.png

30100503-1c5b6214a5fd41e4b3a4992da5aa7e9f.png

3)计算预测值

30100504-d5ab94af51b14ade925e4a852cee44fc.png

上面是由T到Y预测值的回归方程,而不是由X0到Y预测值的回归方程。如果在PLS建模过程中获得第2节中介绍的可将X0直接转换为T的权重R,那么就能获得一个针对X0的更直接的回归公式。

30100505-e68467d9748145a5b9a3ff7f97360759.png,回归系数30100505-26a50a12abe94caeb2eb9f5087bad95e.png

参考文献

[1] S. de Jong. SIMPLS: an alternative approach to partial least squares regression. Chemometrics and Intelligent Laboratory Systems, 18:251–263, 1993.

[2] R. Manne. Analysis of Two Partial-Least-Squares Algorithms for Multivariate Calibration. Chemometrics and Intelligent Laboratory Systems, 2:187–197, 1987.

[3] A. H¨oskuldsson. PLS Regression Methods. Journal of Chemometrics, 2:211–228,1988.

[4]

你可能感兴趣的:(python偏最小二乘法回归分析_偏最小二乘回归(PLSR)- 2 标准算法(NIPALS))