偏最小二乘回归MATLAB程序代码_第1页
偏最小二乘回归MATLAB程序代码_第2页
偏最小二乘回归MATLAB程序代码_第3页
偏最小二乘回归MATLAB程序代码_第4页
偏最小二乘回归MATLAB程序代码_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

偏最小二乘回归MATLAB程序代码偏最小二乘回归MATLAB程序代码偏最小二乘回归MATLAB程序代码xxx公司偏最小二乘回归MATLAB程序代码文件编号:文件日期:修订次数:第1.0次更改批准审核制定方案设计,管理制度偏最小二乘回归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);

%提取标准化后的自变量、因变量数据

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*矩阵

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;

%求残差矩阵

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_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)<

fprintf('提出的成分个数r=%d',i);

r=i;

break

end

end

beta_z=[t,ones(num,1)]\f0;

%求标准化Y关于主成分得分向量t的回归系数

beta_z(end,:)=[];

%删除常数项

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']

%显示回归方程的系数,每一列是一个方程,每一列的第一个数是常数项多因变量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),:))./stdcov(ones(row,1),:);

%标准化自变量

n=Xnum;m=Ynum;

%n是自变量的个数,m是因变量的个数

x0=pz(:,1:n);y0=pz(:,n+1:end);%提取原始的自变量、因变量数据

e0=data(:,1:n);f0=data(:,n+1:end);

%提取标准化后的自变量、因变量数据

num=size(e0,1);%求样本点的个数

temp=eye(n);%对角阵

fori=1:n

%以下计算w,w*和t的得分向量,

matrix=e0'*f0*f0'*e0;

[vec,val]=eig(matrix)%求特征值和特征向量

val=diag(val);

%提出对角线元素

[val,ind]=sort(val,'descend');

w(:,i)=vec(:,ind(1))

%提出最大特征值对应的特征向量

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*矩阵

ifi==1

w_star(:,i)=w(:,i);

else

forj=1:i-1

temp=temp*(eye(n)-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;

%求残差矩阵

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_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)<

fprintf('提出的成分个数r=%d',i);

r=i;

break

end

end

beta_z=[t(:,1:r),ones(num,1)]\f0;

%求标准化Y关于t的回归系数

beta_z(end,:)=[];

%删除常数项

xishu=w_star(:,1:r)*beta_z;

%求标准化Y关于X的回归系数,且是针对标准数据的回归系数,每一列是一个回归方程

mu_x=aver(1:n);mu_y=aver(n+1:end);

sig_x=stdcov(1:n);sig_y=stdcov(n+1:end);

fori=1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论