以下为《偏最小二乘法》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
偏最小二乘法(PLS)
1、解决自变量多重共线性问题的方法还是比较多的,例如,自变量筛选、主成分回归、岭回归和偏最小二乘回归等方法,其中主成分回归(主成分回归,草堂君在前面其实已经介绍过,就是首先用主成分分析进行降维(存在共线性问题的多个自变量浓缩成少数几个主成分),然后再用提取的主成分对因变量建立多元回归模型)和偏最小二乘回归是比较相似的方法。
在实际问题中,经常遇到需要研究两组多重相关变量间的相互依赖关系,并研究用 一组变量(常称为自变量或预测变量)去预测另一组变量(常称为因变量或响应变量), 除了最小二乘准则下的经典多元线性回归分析(MLR),提取自变量组主成分的主成分回归分析(PCA)等方法外,还有近年发展起来的偏最小二乘(PLS)回归方法。
在一个算法下,可以同时实现回归建模(多元线性回归)、数据结构简化(主成分分析)以及两组变量之间的相关性分析(典型相关分析)。
2、什么时候会用到偏最小二乘回归:在高通量数据分析中,由于自变量数目大于病例数(即未知数大于方程个数),无法直接使用传统的统计分析模型,最小二乘法有时会失效,遇到这种情况需要先进行降维处理。
→常见的降维处理的方法除了LASSO(套索算法),还有一种叫做偏最小二乘回归
3、主要应用的领域:主要用于解决多对多的线性回归分析问题,尤其是变量之间存在多重相关性、变量多但样本容量小、异方差等问题时,使用最小二乘法回归具有经典线性回归无法比拟的优势。
Edges:偏最小二乘法回归的分析过程集中了主成分分析、典型相关分析、线性回归分析等多种方法的特点,所以对问题的分析更加深入,提供的信息更加丰富,获得的结果更加合理。
4、偏最小二乘回归的特点:
(1)能够在自变量存在严重多重相关性的条件下进行回归建模;
(2)允许在样本点个数少于变量个数的条件下进行回归建模;
(3)偏最小二乘回归在最终模型中将包含原有的所有自变量;
(4)偏最小二乘回归模型更易于辨识系统信息与噪声(甚至一些非随机性的噪声);
(5)在偏最小二乘回归模型中,每一个自变量的回归系数将更容易解释。
5、主成分回归在提取主成分时,是不考虑自变量与因变量之间相关关系的,完全根据自变量之间的相关关系(相关系数矩阵或协方差矩阵),提取对自变量具有代表性的主成分。而偏最小二乘回归在提取主成分时,除了考虑自变量之间的相关关系以外,还充分考虑每个自变量与因变量的相关性,提取出与因变量相关性较强,又能代表自变量的主成分。
基于这个目的,偏最小二乘回归不是从所有自变量中提取主成分,而是只选取与因变量有相关性的自变量,对这些自变量提取主成分。因为这些自变量与因变量有相关性,偏向因变量,所以称为偏最小二乘回归。
6、建模方法:
PLS方法是建立在X(自变量)与Y(因变量)矩阵基础上的双线性模型,可以看做是由外部关系(即独立的X块和Y块) 和内部关系(即两块间的联系) 构成。
自变量:p个
因变量:q个
为研究因变量和自变量的统计关系,观测了n个样本点
→分别构成自变量与因变量的数据表X(从X中取t个)和Y(从Y中取u个)→要求:(1)t和u应尽可能大地携带它们各自数据表中的变异信息;(2)t和u的相关程度能够达到最大。
偏最小二乘回归的基本作法是首先在自变量集中提出第一成分 t1 ( t1 是 x1 ,... , xm" 的线性组合,且尽可能多地提取原自变量集中的变异信息);同时在因变量集中也提取第一成分u1 , 并要求 t1 与 u1 相关程度达到最大。然后建立因变量 y1, ..., yp与 t1的回归,如果回归方程已达到满意的精度,则算法中止。否则继续第二对成分的提取,直到能达到满意的精度为止。若最终对自变量集提取 r 个成分 t1 ,t2 ,... ,tr ,偏最小二乘回归将通过建立 y1 ,... , yp 与 t1 ,t2 ,... ,tr 的回归式,然后再表示为 y1 ,... , yp " 与原自变量的回归方程式, 即偏最小二乘回归方程式。
建立自变量的潜变量关于因变量的潜变量的线形回归模型,间接反映自变量与因变量之间的关系。该算法在建立回归的过程中,既考虑了尽量提取Y和X中的主成分(PCA—Principal Component Analysis,主成分分析的思想),又考虑了使分别从X和Y提取出的主成分之间的相关性最大化(CCA,典型相关性,的思想)。
Matlab算法分析:
1function [so,Rc,Rp,R,RMSEC,RMSEP]=PLS(pz,verifydata)
2%函数假设数据集的最后一项是因变量,且只有这一个因变量
3%输入文件名、自变量个数和因变量个数
4%数据加载及其标准化
5
6mu=mean(pz);sig=std(pz); %求均值和标准差
7rr=corrcoef(pz); %求相关系数矩阵
8data=zscore(pz); %数据标准化,变量记做 X*和 Y*
9x0=pz(:,1:end-1);y0=pz(:,end); %原始的自变量和因变量数据
10e0=data(:,1:end-1);f0=data(:,end); %标准化后的自变量和因变量数据
11n=size(e0,2); m=1;
12
13num=size(e0,1); %求样本点的个数
14chg=eye(n); %w 到 w*变换矩阵的初始化
15for i=1:n
16 %以下计算 w,w*和 t 的得分向量,
17 matrix=e0'*f0*f0'*e0;
18 [vec,val]=eig(matrix); %求特征值和特征向量
19 val=diag(val); %提出对角线元素,即提出特征值
20 [val,ind]=sort(val,'descend');
21 w(:,i)=vec(:,ind(1)); %提出最大特征值对应的特征向量
22 w_star(:,i)=chg*w(:,i); %计算 w*的取值
23 t(:,i)=e0*w(:,i); %计算成分 ti 的得分
24 alpha=e0'*t(:,i)/(t(:,i)'*t(:,i)); %计算 alpha_i
25 chg=chg*(eye(n)-w(:,i)*alpha'); %计算 w 到 w*的变换矩阵
26 e=e0-t(:,i)*alpha'; %计算残差矩阵
27 e0=e;
28 %以下计算 ss(i)的值
29 beta=t\f0; %求回归方程的系数,数据标准化,没有常数项
30 cancha=f0-t*beta; %求残差矩阵
31 ss(i)=sum(sum(cancha.^2)); %求误差平方和
32 %以下计算 press(i)
33 for j=1:n 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 % 显示光谱数据。
xlabel('波长指数');
ylabel('强度');
参数设定:
A=6; % 潜在变量(LV)的数量。
method='center'; % 用于建立PLS模型的X的内部预处理方法
PLS(X,y,A,method); % 建立模型的命令
/
/
regcoef_original:连接X和y的回归系数。
X_scores:X的得分。
VIP:预测中的变量重要性,评估变量重要性的一个标准。
变量的重要性。
RMSEF:拟合的均方根误差。
y_fit:y的拟合值。
R2:Y的解释变异的百分比。
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《偏最小二乘法》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。