1、基于R语言的PLS算法的实现及研究,目录,使用的开发工具 偏最小二乘的设计思想 基于R语言、MATLAB的偏最小二乘的实现 通径分析 测定系数 实验分析,使用的开发工具,R 语言(R是用于统计分析、绘图的语言和操作环境。它是一个用于统计计算和统计制图的优秀工具。)MATLAB(它是一种以矩阵运算为基础的交互式程序语言。它作为一种编程语言和可视化工具,可解决工程、科学计算和数学学科中许多问题。),偏最小二乘回归法,最小二乘,偏最小二乘,1.数目较少 2.无多重共线性 3.各解释变量与反应变量之间的关系易于解释,1.在自变量存在严重多重共线性时可以进行回归建模; 2.在样本点个数比变量个数(维数)
2、明显过少时可以进行 回归建模; 3. PLS模型可以识别系统信息与噪声; 4. PLS模型中,每一个自变量的回归系数容易解释; 5. PLS最终回归模型中包含原有的所有自变量。,偏最小二乘回归法,算法的设计思想,两组潜变量分别最大程度承载自变量与因变量的变异信息; 二者之间的协方差最大化(相关程度最大)。,算法的设计思想,提取多少个主成分最合适?,交叉性检验,=0.0975,实例分析(基于MATLAB),实例分析,在testpls01.m文件中添加下列几行代码。 %以下计算决定系数的R2 SST=sum(ppz(:,10)-mu(1,10).2); SSR= sum(ch0+ppz(:,1:9
3、)*xish-mu(1,10).2); RR=SSR/SST;,得到复测定系数为 R2=0.927,由表可知,当我们主成分取三个,才能更好的拟合方程,拟合结果如下 y=0.0916+0.2229x1+0.2167x2+0.0964x3+0.0292x4+(-0.1552)x5+1.0706x6+ (-5.8149)x7+-0.0155 x8+0.0194x9,实例分析(基于R),(1)pls包的安装以及载入 install.packages(“pls“) library(pls),(2)数据的导入 C1C2-read.csv(“C:UsersAdministratorDesktopdatada
4、ta2.csv“) #导入自变量和因变量的样本数据,(3)数据的标准化 Xpls1-plsr(YX,ncomp=3,validation=“LOO“,jackknife=TRUE) #进行偏最小二乘回归,模型存为对象pls1,summary(pls1,what=“all“) #显示回归结果(包括PRESS与变异解释度) 其中,validation=“LOO“表示使用留一交叉验证计算PRESS,jackknife=TRUE,表示使用jackknife法估计回归系数方差(为后面的显著性检验做准备)在没给定成分个数的情况下,会默认使用所有的主成分进行回归,因此我们需要在选择的成分个数尽可能小的前提下
5、,选择使PRESS最小或几乎不变的成分个数假设选定了成分个数为m,重新进行回归,并对回归系数假设检验。,其中CV即为不同主成分个数对应的PRESS(残差值),adjcv为调整后的PRESS。TRAINING:%varianceexplained一栏为主成分对各变量的累积贡献率由结果可知,主成分个数为4个时,模型在经过留一交叉验证法后求得的PRESS总和最小,随着成分个数的增加,PRESS值也没有太大改变,并且4个成分对各个因变量的累积贡献率也基本达到了稳定,因此定下回归的成分个数m=4,(5)指定主成分个数之后,进行第二次线性曲线拟合,最后求出因变量和自变量的相关系数。 根据成分数m=4,建立
6、最终模型: pls2coef(pls2) #得到回归系数 ,4comps,表1 因变量与自变量之间的标准回归系数,y1=0.147022336x1+0.106558962x2+0.100451920x3+0.104259945x4-0.059733499x5+0.605248435x6-0.478575361x7-0.008575145x8+0.015589996x9以此类推y2,y3,y4,y5,y6,y7,通径分析,概念: 多元线性回归系数间不能直接比较各因子间的效应大小,因为各回归系数间都带有不同的量纲,再者多变量的关系中,往往都不是独立的,有的还要研究xi通过xj对因变量y的影响,而通
7、径系数就能有效的表示相关变量间原因对结果的直接影响或间接影响的效应,从而区分因子的相对重要性及其关系。 作用: 通径分析(pathanalysis)可用于分析多个自变量与因变量之间的线性关系,是回归分析的拓展,可以处理较为复杂的变量关系。如当自变量数目比较多,且自变量间相互关系比较复杂(如:有些自变量间的关系是相关关系,有些自变量间则可能是因果关系)或者某些自变量是通过其他的自变量间接地对应变量产生影响,这时可以采用通径分析。,通径分析,思路: 通径分析在多元回归的基础上将相关系数分解为直接通径系数(某一自变量对因变量的直接作用)和间接通径系数(该自变量通过其他自变量对因变量的间接作用)。通径
8、分析的理论已证明,任一自变量xi与因变量Y之间的简单相关系数(riy)=xi与Y之间的直接通径系数(Piy)+所有xi与Y的间接通径系数,任一自变量xi对Y的间接通径系数=相关系数(rij)通径系数(Pij)。,实例分析,运用SPSS软件做逐步回归得到通径系数。 运用SPSS软件只需要“AnalyzeRegressionLinear”这一个程序就可以获得通径系数。我们现在以数据表1中药量效关系为例,建立线性回归方程并计算通径系数,2. 用matlab通过偏最小二乘回归计算得到通径系数,测定系数,通过两种方法的到的结果如下表:,结论,方法一利用SPSS的逐步回归得到直接通径系数后删除变量提高方程的拟合效果没有作用,反而使得R2值下降了,方法二基于MATLAB的偏最小二乘回归得到直接通径系数后删除变量对方程的拟合效果具有提高的作用,这个实验说明了筛选变量对方程的拟合效果是具有重要意义的。,谢谢观看!,
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1