偏最小二乘回归分析实例
原文:http://blog.csdn.net/qq_34861102/article/details/77102683
plsregress命令
- 步骤
- 数据标准化
- 求相关系数矩阵
- 分别提出自变量组合因变量组的成分
- 求两个成分对标准化指标变量和成分变量之间的回归方程
- 求因变量组与自变量组之间的回归方程
- 模型的解释与检验
实例代码
ab0 = load('data.txt'); %均值和方差 mu = mean(ab0); sig = std(ab0); %标准化以后的自变量和因变量数据 a = ab(:,[1:end-1]); b = ab(:,end); [XL YL XS YS BETA PCTVAR MSE status] = plsregress(a,b); %求自变量的主成分系数 xw = a\XS; %求因变量的主成分系数 yw = b\YS; ncomp = input('请根据PCTVAR的值确定提出成分对的个数'); [XL2 YL2 XS2 YS2 BETA2 PCTVAR2 MSE2 status2] = plsregress(a,b,ncomp); %自变量的个数 n = size(a,2); %原始数据回归方程的常数项 beta3(1) = mu(end) - mu(1:n)./sig(1:n)*BETA2([2:end]).*sig(end); beta3([2:n+1]) = (1./sig(1:n))'*sig(n+1:end).*BETA2([2:end]); %直方图 bar(BETA2','k'); %y的预测值 yhat = repmat(beta3(1),[size(a,1),1]) + ab0(:,[1:n])*beta3([2:end])'; %预测值的最大值 ymax = max([yhat;ab0(:,end)]);