tbd matlab,如何用matlab实现偏相关分析

matlab偏最小二乘分析(2009-11-20 16:43:07)转载▼

标签:杂谈

单因变量function y=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);%对角阵

for i=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*矩阵

if i

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值