資源簡介
偏最小二乘法Matlab源代碼,自己編寫
代碼片段和文件信息
function?[k?b?y?T?W]=NEWPLS(XYm)
%PLS回歸主程序
%輸入自變量表X,因變量Y,主成分值m;
%輸出擬合參數:系數向量k,截距b,擬合值y,并繪出擬合效果圖
E0=zscore(X);
F0=zscore(Y);
E=E0;
F=F0;
W=[];
T=[];
P=[];
R=[];
WX=[];
Qh2=0;
R2=0;
for?i=1:m
????w=E‘*F/norm(E‘*F);
????t=E*w;
????p=E‘*t/(t‘*t);
????r=F‘*t/(t‘*t);
????E=E-t*p‘;
????F=F-t*r‘;
%????[w?t?p?r?E?F]=NPLS_1(EF);
????W=[Ww];
????T=[Tt];
????P=[Pp];
????R=[Rr];
%????Qh2=Qh2+(norm(t)).^2*(norm(p)).^2/(norm(E0‘fro‘)).^2;
%????R2=R2+(norm(t)).^2*(norm(r)).^2/(norm(F0)).^2;
????
%[rW?cW]=size(W);
%wx=eye(rW);
%for?i=1:cW-1
%????wx=wx*(eye(rW)-W(:i)*P(:i)‘);
%end
%????wx=wx*W(:
- 上一篇:分支定界法MATLAB程序及詳細過程
- 下一篇:求解一維非飽和土水分運動方程
評論
共有 條評論