偏最小二乘回归matlab程序代码

偏最小二乘回归matlab程序代码

ID:2567681

大小:28.00 KB

页数:6页

时间:2017-11-16

偏最小二乘回归matlab程序代码_第1页
偏最小二乘回归matlab程序代码_第2页
偏最小二乘回归matlab程序代码_第3页
偏最小二乘回归matlab程序代码_第4页
偏最小二乘回归matlab程序代码_第5页
资源描述:

《偏最小二乘回归matlab程序代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、偏最小二乘回归MATLAB程序代码单因变量functiony=pls(pz)[row,col]=size(pz);aver=mean(pz);stdcov=std(pz);%求均值和标准差rr=corrcoef(pz);  %求相关系数矩阵%data=zscore(pz);%数据标准化stdarr=(pz-aver(ones(row,1),:))./stdcov(ones(row,1),:); %标准化数据结果与zscore()一致x0=pz(:,1:col-1);y0=pz(:,end);%提取原始的自变量、因变量数据e0=stdarr(:,1:col-1);f0=stdarr(:,end

2、); %提取标准化后的自变量、因变量数据num=size(e0,1);%求样本点的个数temp=eye(col-1);%对角阵fori=1:col-1%以下计算w,w*和t的得分向量,   w(:,i)=(e0'*f0)/norm(e0'*f0);   t(:,i)=e0*w(:,i)     %计算成分ti的得分   alpha(:,i)=e0'*t(:,i)/(t(:,i)'*t(:,i)) %计算alpha_i,其中(t(:,i)'*t(:,i))等价于norm(t(:,i))^2   e=e0-t(:,i)*alpha(:,i)'   %计算残差矩阵   e0=e;    %计算w*

3、矩阵      ifi==1          w_star(:,i)=w(:,i);      else         forj=1:i-1             temp=temp*(eye(col-1)-w(:,j)*alpha(:,j)');         end         w_star(:,i)=temp*w(:,i);     end     %以下计算ss(i)的值   beta=[t(:,1:i),ones(num,1)]f0 %求回归方程的系数   beta(end,:)=[];  %删除回归分析的常数项   cancha=f0-t(:,1:i)*beta; 

4、  %求残差矩阵   ss(i)=sum(sum(cancha.^2)); %求误差平方和%以下计算press(i)   forj=1:num       t1=t(:,1:i);f1=f0;       she_t=t1(j,:);she_f=f1(j,:); %把舍去的第j个样本点保存起来       t1(j,:)=[];f1(j,:)=[];       %删除第j个观测值       beta1=[t1,ones(num-1,1)]f1; %求回归分析的系数       beta1(end,:)=[];          %删除回归分析的常数项       cancha=she_

5、f-she_t*beta1; %求残差向量       press_i(j)=sum(cancha.^2);    end   press(i)=sum(press_i)   ifi>1       Q_h2(i)=1-press(i)/ss(i-1)   else       Q_h2(1)=1   end   ifQ_h2(i)<0.0985       fprintf('提出的成分个数r=%d',i);       r=i;       break    endendbeta_z=[t,ones(num,1)]f0;  %求标准化Y关于主成分得分向量t的回归系数beta_z(end,

6、:)=[];     %删除常数项xishu=w_star*beta_z;  %求标准化Y关于X的回归系数,且是针对标准数据的回归系数,每一列是一个回归方程mu_x=aver(1:col-1);mu_y=aver(end);sig_x=stdcov(1:col-1);sig_y=stdcov(end);ch0=mu_y-mu_x./sig_x*sig_y*xishu; %计算原始数据的回归方程的常数项xish=xishu'./sig_x*sig_y; %计算原始数据的回归方程的系数,每一列是一个回归方程Rc=corrcoef(x0*xish'+ch0,y0)sol=[ch0;xish']  

7、   %显示回归方程的系数,每一列是一个方程,每一列的第一个数是常数项多因变量functiony=pls(pz,Xnum,Ynum)[row,col]=size(pz);aver=mean(pz);stdcov=std(pz);%求均值和标准差rr=corrcoef(pz);  %求相关系数矩阵data=zscore(pz);%数据标准化stdarr=(pz-aver(ones(row,1),:))./std

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。