1、人工智能 偏最小二乘法(PLS)人工智能课程论文论文题目: 偏最小二乘算法(PLS)回归建模 学生姓名: 张帅帅 学 号: 172341392 专 业: 机械制造及其自动化 所在学院: 机械工程学院 年 月 日目录偏最小二乘回归1摘要11偏最小二乘回归原理12一种更简洁的计算方法53案例分析6致谢15附件:16偏最小二乘回归摘要在实际问题中,经常遇到需要研究两组多重相关变量间的相互依赖关系,并研究用一组变量(常称为自变量或预测变量)去预测另一组变量(常称为因变量或响应变量),除了最小二乘准则下的经典多元线性回归分析(MLR),提取自变量组主成分的主成分回归分析(PCR)等方法外,还有近年发展起
2、来的偏最小二乘(PLS)回归方法。偏最小二乘回归提供一种多对多线性回归建模的方法,特别当两组变量的个数很多,且都存在多重相关性,而观测数据的数量(样本量)又较少时,用偏最小二乘回归建立的模型具有传统的经典回归分析等方法所没有的优点。偏最小二乘回归分析在建模过程中集中了主成分分析,典型相关分析和线性回归分析方法的特点,因此在分析结果中,除了可以提供一个更为合理的回归模型外,还可以同时完成一些类似于主成分分析和典型相关分析的研究内容,提供更丰富、深入的一些信息。本文介绍偏最小二乘回归分析的建模方法;通过例子从预测角度对所建立的回归模型进行比较。关键词:主元分析、主元回归、回归建模1偏最小二乘回归原
3、理考虑p个变量与m个自变量 的建模问题。偏最小二乘回归的基本作法是首先在自变量集中提出第一成分t(t是 的线性组合,且尽可能多地提取原自变量集中的变异信息);同时在因变量集中也提取第一成分u,并要求t与u相关程度达到最大。然后建立因变量与t的回归,如果回归方程已达到满意的精度,则算法中止。否则继续第二对成分的提取,直到能达到满意的精度为止。若最终对自变量集提取r个成分,偏最小二乘回归将通过建立与的回归式,然后再表示为与原自变量的回归方程式,即偏最小二乘回归方程式。为了方便起见,不妨假定p个因变量与m个自变量均为标准化变量。因变量组和自变量组的n次标准化观测数据阵分别记为: 偏最小二乘回归分析建
4、模的具体步骤如下:(1)分别提取两变量组的第一对成分,并使之相关性达最大。(2)假设从两组变量分别提出第一对t和u,t是自变量集,的线性组合:,u是因变量集的线性组合:。为了回归分析的需要,要求: t1和u1各自尽可能多地提取所在变量组的变异信息; t1和u1的相关程度达到最大。由两组变量集的标准化观测数据阵和,可以计算第一对成分的得分向量,记为和:第一对成分和的协方差可用第一对成分的得分向量和的内积来计算。故而以上两个要求可化为数学上的条件极值问题:利用Lagrange乘数法,问题化为求单位向量和,使最大。问题的求解只须通过计算矩阵的特征值和特征向量,且M的最大特征值为,相应的单位特征向量就
5、是所求的解,而可由计算得到。(3)建立,对的回归及,对的回归。假定回归模型为:其中分别是多对一的回归模型中的参数向量,和是残差阵。回归系数向量的最小二乘估计为:称为模型效应负荷量。(4)用残差阵和代替和重复以上步骤。记则残差阵。如果残差阵中元素的绝对值近似为0,则认为用第一个成分建立的回归式精度已满足需要了,可以停止抽取成分。否则用残差阵和代替和重复以上步骤即得:分别为第二对成分的权数。而为第二对成分的得分向量。分别为X,Y的第二对成分的负荷量。这时有(5)设nm数据阵的秩为r0表示在主对角线上方,k0表示在主对角线下方。(在这对角线元素就是特征值i)val,ind=sort(val,desc
6、end);%降序排列ind表示据单下标换算出全下标w(:,i)=vec(:,ind(1);%提出最大值对应的特征向量w_star(:,i)=chg*w(:,i);%计算w*的取值(w*是最大特征值对应的特征向量w*)t(:,i)=e0*w(:,i);%计算成分t的主元向量(T=E0*W*)p(48)(e0不是固定的在循环体内的)%第三步建立回归模型,并估计主成分系数pi pi=e0*t(:,i)/(t(:,i)*t(:,i);%计算第i个主成分系数向量pi =pi_i= E0*ti/(ti*ti) P(46)-(5-12)chg=chg*(eye(n)-w(:,i)*pi);%计算w到w*的变
7、换矩阵(w*为用为缩减的自变量数据矩阵X去求新的主元成分ti的对应的权值向量而wi为用为缩减的自变量数据矩阵X的残差矩阵Ei-1去求得ti对应的权值向量eye(n)=I ,I为单位向量)(下次循环用的)p(69) p(51)%计算数据残差Ei(作为初始矩阵计算下一个成分ti)e=e0-t(:,i)*pi;%计算残差矩阵e0=e;%将残差矩阵付给e0,再依次计算下一个主成分(循环计算出所有主成分)%第四步PLS确定主元r个数采用交叉检验法确定,一般r1;Q_h2(i)=1-press(i)/ss(i-1);elseQ_h2(1)=1;endif Q_h2(i)0表示在主对角线上方,k0表示在主对
8、角线下方。(在这对角线元素就是特征值i)val,ind=sort(val,descend);%降序排列ind表示据单下标换算出全下标w(:,i)=vec(:,ind(1);%提出最大值对应的特征向量w_star(:,i)=chg*w(:,i);%计算w*的取值(w*是最大特征值对应的特征向量w*)t(:,i)=e0*w(:,i);%计算成分t的主元向量(T=E0*W*)p(48)(e0不是固定的在循环体内的)%第三步建立回归模型,并估计主成分系数pi pi=e0*t(:,i)/(t(:,i)*t(:,i);%计算第i个主成分系数向量pi =pi_i= E0*ti/(ti*ti) P(46)-(
9、5-12)chg=chg*(eye(n)-w(:,i)*pi);%计算w到w*的变换矩阵(w*为用为缩减的自变量数据矩阵X去求新的主元成分ti的对应的权值向量而wi为用为缩减的自变量数据矩阵X的残差矩阵Ei-1去求得ti对应的权值向量eye(n)=I ,I为单位向量)(下次循环用的)p(69) p(51)%计算数据残差Ei(作为初始矩阵计算下一个成分ti)e=e0-t(:,i)*pi;%计算残差矩阵e0=e;%将残差矩阵付给e0,再依次计算下一个主成分(循环计算出所有主成分)%第四步PLS确定主元r个数采用交叉检验法确定,一般r1;Q_h2(i)=1-press(i)/ss(i-1);else
10、Q_h2(1)=1;endif Q_h2(i)0.0975fprintf(提出的成分个数r=%d,i);%p(68)fprintf( );fprintf(交叉的有效性=%f,Q_h2(i);r=ibreakendend%计算回归系数bi(求Y*关于自变量主元t的回归系数)beta_z= t(:,1:r),ones(num,1)f0;%求Y*关于自变量主元t的回归系数beta_z(end,:)=; %删除常数项%第五步根据所求相关回归系数求出自变量Y和X的回归系数,并求出原始回归方程的常数项最后建立回归方程xishu= w_star(:,1:r)*beta_z;%求Y*关于X*的回归系数,每一列
11、是一个回归方程mu_x=mu(1:n);mu_y=mu(n+1:end);%提出自变量和因变量的均值sig_x=sig(1:n);sig_y=sig(n+1:end);%提出自变量和因变量的标准差for i=1:m ch0(i)=mu_y(i)-mu_x./sig_x*sig_y(i)*xishu(:,i); % %计算原始数据的回归方程的常数项endfor i=1:mxish(:,i)=xishu(:,i)./sig_x*sig_y(i);%计算原始数据回归方程的系数,每一列是一个回归方程endsol=ch0;xish% %显示回归方程的系数,每一列是一个方程,每一列的第一个数是常数项,每一
12、列为一个因变量与自变量们的回归方程%此为还原为原始变量后的方程save mydata x0 y0 num xishu ch0 xishw1=w(:,1)w2=w(:,2)w3=w(:,3)w4=w(:,4)wx1=w_star(:,1)wx2=w_star(:,2)wx3=w_star(:,3)wx4=w_star(:,4)tx1=t(:,1)tx2=t(:,2)tx3=t(:,3)tx4=t(:,4)beta_z %回归系数xishu%系数矩阵,即未还原原始变量的系数,每一列为一个因变量与自变量的回归方程作图程序如下:load mydatach0=repmat(ch0,num,1);%以ch
13、0的内容堆叠在(numx1)的矩阵ch0yhat=ch0+x0*xish;%计算Y的预测值y1max=max(yhat);%求预测值的最大值y2max=max(y0),%求观测值的最大值ymax=max(y1max;y2max);%求预测值和观测值的最大值cancha=yhat-y0;%计算残差figure(2)subplot(2,2,1);%画直线y=x,并画预测图plot(0:ymax(1),0:ymax(1),yhat(:,1),y0(:,1),*);title(第一产业预测)subplot(2,2,2);plot(0:ymax(2),0:ymax(2),yhat(:,2),y0(:,2),O);title(第二产业预测);subplot(2,1,2);plot(0:ymax(3),0:ymax(3),yhat(:,3),y0(:,3),H);title(第三产业预测)figure(1)bar(xishu);title(回归系数直方图);% 拟合效果的确定%所有点都在对角线附近均匀分布,则效果较好- 20 -