pls偏最小二乘法法s-plot图怎么看

2349人阅读
matlab与mathematica(65)
偏最小二乘法,它通过最小化误差的平方和找到一组数据的最佳函数匹配。 用最简的方法求得一些绝对不可知的真值,而令误差平方之和为最小。
很多其他的优化问题也可通过最小化能量或最大化熵用最小二乘形式表达。
偏最小二乘法
format short
pz=[191 36
mu=mean(pz);
sig=std(pz);
rr=corrcoef(pz);
data=zscore(pz);
x0=pz(:,1:n);y0=pz(:,n+1:end);
e0=data(:,1:n);f0=data(:,n+1:end);
num=size(e0,1);
chg=eye(n);
matrix=e0'*f0*f0'*e0;
[vec,val]=eig(matrix);
val=diag(val);
[val,ind]=sort(val,'descend');
w(:,i)=vec(:,ind(1));
w_star(:,i)=chg*w(:,i);
t(:,i)=e0*w(:,i);
alpha=e0'*t(:,i)/(t(:,i)'*t(:,i)); %计算alpha_i
chg=chg*(eye(n)-w(:,i)*alpha');
e=e0-t(:,i)*alpha';
beta=[t(:,1:i),ones(num,1)]\f0;
beta(end,:)=[];
cancha=f0-t(:,1:i)*beta;
ss(i)=sum(sum(cancha.^2));
for j=1:num
t1=t(:,1:i);f1=f0;
she_t=t1(j,:);she_f=f1(j,:);
t1(j,:)=[];f1(j,:)=[];
beta1=[t1,ones(num-1,1)]\f1;
beta1(end,:)=[];
cancha=she_f-she_t*beta1;
p_i(j)=sum(cancha.^2);
p(i)=sum(p_i);
Q_h2(i)=1-p(i)/ss(i-1);
Q_h2(1)=1;
if Q_h2(i)&0.0975
fprintf('提出的成分个数r=%d',i);
fprintf('交叉的有效性=%f',Q_h2(i));
beta_z=[t(:,1:r),ones(num,1)]\f0;
beta_z(end,:)=[];
xishu=w_star(:,1:r)*beta_z;
mu_x=mu(1:n);mu_y=mu(n+1:end);
sig_x=sig(1:n);sig_y=sig(n+1:end);
ch0(i)=mu_y(i)-mu_x./sig_x*sig_y(i)*xishu(:,i);
xish(:,i)=xishu(:,i)./sig_x'*sig_y(i);
sol=[ch0;xish]
save mydata x0 y0 num xishu ch0 xish
wx1=w_star(:,1)
wx2=w_star(:,2)
tx1=t(:,1)'
tx2=t(:,2)'
生成mydata数据,进行偏最小二乘检验
clc % 清屏
% 删除workplace变量
% 关掉显示图形窗口
format short
load('mydata.mat')%mydata为计算偏最小二乘保存的数据集,可以用于检验
%% 更直观的解释各个自变量的作用
bar(xishu')%分别画出三个自变量对三个因变量标准化后回归方程的系数的的长度图
axis tight
annotation('textbox',[0.26 0.14 0.086 0.07],'String',{'单杠'},'FitBoxToText','off');
annotation('textbox',[0.56 0.14 0.086 0.07],'String',{'弯曲'},'FitBoxToText','off');
annotation('textbox',[0.76 0.14 0.086 0.07],'String',{'跳高'},'FitBoxToText','off');%在指定位置加注释
%% 拟合效果的确定
%所有点都在对角线附近均匀分布,则效果较好
ch0=repmat(ch0,num,1);%repmat起复制矩阵组合为新矩阵的作用
yhat=ch0+x0* %计算y 的预测值
y1max=max(yhat);
y2max=max(y0);
ymax=max([y1y2max]);
cancha=yhat-y0; %计算残差
subplot(2,2,1)
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('跳高成绩预测')
%% 绘制拟合效果图和权重比重图
偏最小二乘回归≈多元线性回归分析+典型相关分析+主成分分析
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:91595次
积分:2355
积分:2355
排名:第14583名
原创:140篇
评论:22条
(3)(12)(4)(18)(2)(23)(27)(4)(8)(14)(5)(14)(4)(9)

我要回帖

更多关于 circos plot图怎么看 的文章

 

随机推荐