cumsum函数
A = [1 4 7; 2 5 8; 3 6 9]
B = cumsum(A)
A = [1 3 5; 2 4 6]
B = cumsum(A,2)
数据标准化
zcore标准化
2021b代码
zcore标准化目的是去除量纲,使得方差相等。
ab=zscore (S) ;
ab=zscore (S) ;
a=ab(:,[1:3]); b=ab( : ,[4 :end]);
求相关系数矩
r=corrcoef (S);
分别提出自变量组和因变量组的成分
[XL,YL,XS,YS,BETA,PCTVAR,MSE,stats ] =plsregress (a ,b);
% PCTVAR是_个两行矩阵,第一行的每个元素对应着自变量提出成分的贡献率,第二行的每个元素对
% 应着因变量提出成分的贡献率
contr=cumsum(PCTVAR,2);
xw=a\XS;
yw=b\YS;
x的 系数(竖的看)对比:
y的 系数(竖的看)对比:
求因变量组与子变量组之间的回归方程。
[XL2,YL2,XS2,YS2,BETA2,PCTVAR2,MSE2,stats2] =plsregress (a,b,ncomp)
BETA2为标准化前的系数(竖着看):
beta3(1, : ) =mu (n+1:end)-mu (1 :n)./sig (1:n)* BETA2([2:end] , : ).* sig (n+1:end);
beta3([2:n+1],:)=(1./ sig(1:n) )' * sig (n+1:end).* BETA2([2:end], :)
系数(竖着看)
反标准化
bar函数
绘制反zcore化前的图像
bar(xBETA2);
legend({'图例1', '图例2','图例2'})
labels = {'单杠', '弯曲', '酬工'};
xticklabels(labels)
求预测值
20个样本,三个特征
yhat =repmat (beta3 (1,:),[size(a,1),1] )+ab0(:,[1:n] ) * beta3( [2:end], :)
求预测值和观测值的最大值(画图用)
ymax =max([yhat ;ab0( : , [n+1:end])]);%求预测值和观测值的最大值
画图分析
在这个预测图上,如果
所有点都能在图的对角线附近均匀分布’则方程的拟合值与原值差异很小,这个方程的拟
合效果就是令人满意的。