1、基于基于R语言的语言的PLS算法的实现及研究算法的实现及研究精1目录使用的开发工具偏最小二乘的设计思想基于R语言、MATLAB的偏最小二乘的实现通径分析测定系数实验分析精2使用的开发工具R 语言(R是用于统计分析、绘图的语言和操作环境。它是一个用于统计计算和统计制图的优秀工具。)MATLAB(它是一种以矩阵运算为基础的交互式程序语言。它作为一种编程语言和可视化工具,可解决工程、科学计算和数学学科中许多问题。)精3偏最小二乘回归法最小二乘偏最小二乘1.数目较少2.无多重共线性3.各解释变量与反应变量之间的关系易于解释1.在自变量存在严重多重共线性时可以进行回归建模;2.在样本点个数比变量个数(维
2、数)明显过少时可以进行 回归建模;3.PLS模型可以识别系统信息与噪声;4.PLS模型中,每一个自变量的回归系数容易解释;5.PLS最终回归模型中包含原有的所有自变量。精4偏最小二乘回归法 两组潜变量分别最大程度承载自变量与因变量的变异信息;二者之间的协方差最大化(相关程度最大)。精5提取多少个主成分最合适?精6交叉性检验121(1)111qhjjhhqhhjjPRESSPRESSQSSSS =0.0975精7实例分析(基于MATLAB)芦荟大黄素大黄素大黄酸大黄酚大黄素甲醚厚朴酚和厚朴酚橙皮苷辛弗林d-乳酸x1x2x3x4x5x6x7x8x9y10.06250.04680.09450.072
3、40.02650.00720.01380.24480.21980.06250.0450.03170.05580.08990.02140.01640.01340.49130.48650.05250.00750.00850.01260.01390.00630.02130.0160.02860.01760.030.0350.02780.04340.05320.01550.02390.01610.16610.07090.040.0180.00970.02320.01590.00360.01790.01220.41990.42490.060.0340.02330.06310.06540.01840.01
4、170.00850.19360.07220.060.02270.01040.031950.02130.04780.00320.0030.35480.37160.06750.10060.08750.18410.21190.0680.01360.0140.20780.12390.05750.1060.0960.19820.17010.04950.00450.00790.08720.05360.13250.0540.04410.08710.09980.02770.08710.00420.06660.04710.19精8实例分析成分个数Q2h临界值110.097520.46350.09753-0.48
5、880.0975在testpls01.m文件中添加下列几行代码。%以下计算决定系数的R2SST=sum(ppz(:,10)-mu(1,10).2);SSR=sum(ch0+ppz(:,1:9)*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精9实例分析(基于R)(1)pls包的安装以及载入insta
6、ll.packages(pls)library(pls)(2)数据的导入C1C2-read.csv(C:UsersAdministratorDesktopdatadata2.csv)#导入自变量和因变量的样本数据(3)数据的标准化X-scale(C1)Ypls1summary(pls1,what=all)#显示回归结果(包括PRESS与变异解释度)其中,validation=LOO表示使用留一交叉验证计算PRESS,jackknife=TRUE,表示使用jackknife法估计回归系数方差(为后面的显著性检验做准备)在没给定成分个数的情况下,会默认使用所有的主成分进行回归,因此我们需要在选择的
7、成分个数尽可能小的前提下,选择使PRESS最小或几乎不变的成分个数假设选定了成分个数为m,重新进行回归,并对回归系数假设检验。1comps2comps3comps4comps5comps6comps7comps8compsX50.18268.72589.81696.9399.1899.7399.9599.99y140.40087.27187.27391.3398.2499.7899.8899.92y236.12188.32288.92994.3198.999.8199.9499.99y30.0020.0100.01525.325.3972.2188.888.8y49.35734.29239.7
8、9845.6146.0254.5781.6197.36y511.61612.00025.29426.2532.7333.3581.2799.84y653.51765.22676.81676.9482.9796.2397.199.48y75.77711.74877.40577.8278.285.186.3693.03其中CV即为不同主成分个数对应的PRESS(残差值),adjcv为调整后的PRESS。TRAINING:%varianceexplained一栏为主成分对各变量的累积贡献率由结果可知,主成分个数为4个时,模型在经过留一交叉验证法后求得的PRESS总和最小,随着成分个数的增加,PRES
9、S值也没有太大改变,并且4个成分对各个因变量的累积贡献率也基本达到了稳定,因此定下回归的成分个数m=4精11(5)指定主成分个数之后,进行第二次线性曲线拟合,最后求出因变量和自变量的相关系数。根据成分数m=4,建立最终模型:pls2coef(pls2)#得到回归系数,4comps表1 因变量与自变量之间的标准回归系数y1y2y3y4y5y6y7x10.14700.1428-0.1394-0.02220.0558-0.1759-0.0898x20.10660.1041-0.0924-0.02930.0351-0.1541-0.0220 x30.10050.0948-0.0668-0.01050.
10、0491-0.1668-0.0355x40.10430.1082-0.1753-0.09640.0005-0.1324-0.0011x5-0.0573-0.10460.34890.24360.2033-0.2552-0.1489x60.60520.6484-0.36140.1250-0.01580.1448-0.1664x7-0.4786-0.4532-0.1848-0.5423-0.29330.11940.4879x8-0.0086-0.0276-0.2297-0.07670.0855-0.1309-0.3258x90.0156-0.0108-0.13950.01850.1334-0.148
11、6-0.3768y1=0.147022336x1+0.106558962x2+0.100451920 x3+0.104259945x4-0.059733499x5+0.605248435x6-0.478575361x7-0.008575145x8+0.015589996x9以此类推y2,y3,y4,y5,y6,y7精12通径分析概念:概念:多元线性回归系数间不能直接比较各因子间的效应大小,因为各回归系数间都带有不同的量纲,再者多变量的关系中,往往都不是独立的,有的还要研究xi通过xj对因变量y的影响,而通径系数就能有效的表示相关变量间原因对结果的直接影响或间接影响的效应,从而区分因子的相对重要
12、性及其关系。作用:作用:通径分析(pathanalysis)可用于分析多个自变量与因变量之间的线性关系,是回归分析的拓展,可以处理较为复杂的变量关系。如当自变量数目比较多,且自变量间相互关系比较复杂(如:有些自变量间的关系是相关关系,有些自变量间则可能是因果关系)或者某些自变量是通过其他的自变量间接地对应变量产生影响,这时可以采用通径分析。精13通径分析思路:思路:通径分析在多元回归的基础上将相关系数分解为直接通径系数(某一自变量对因变量的直接作用)和间接通径系数(该自变量通过其他自变量对因变量的间接作用)。通径分析的理论已证明,任一自变量xi与因变量Y之间的简单相关系数(riy)=xi与Y之
13、间的直接通径系数(Piy)+所有xi与Y的间接通径系数,任一自变量xi对Y的间接通径系数=相关系数(rij)通径系数(Pij)。精14实例分析x1x2x3x4x5x6x7x8x9y-0.0250.763-0.582-0.779-0.4560.436-0.70.1080.344x1x2x3x4x5x6x7x8x9y0.1523 0.1388 0.1278 0.0395-0.0658 0.5360-0.565-0.0490.0701 1.运用SPSS软件做逐步回归得到通径系数。运用SPSS软件只需要“AnalyzeRegressionLinear”这一个程序就可以获得通径系数。我们现在以数据表1中药量效关系为例,建立线性回归方程并计算通径系数2.用matlab通过偏最小二乘回归计算得到通径系数精15测定系数精16 删除变量R2原数据00.927方法一X10.9211方法二X40.9337通过两种方法的到的结果如下表:结论,方法一利用SPSS的逐步回归得到直接通径系数后删除变量提高方程的拟合效果没有作用,反而使得R2值下降了,方法二基于MATLAB的偏最小二乘回归得到直接通径系数后删除变量对方程的拟合效果具有提高的作用,这个实验说明了筛选变量对方程的拟合效果是具有重要意义的。精17精18