1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
[m,n] = size(A_pp);
erreur = -ones(m, 8) ; % initialisation
parfor i=1:m;
for j= 2:4;
if A_pp(i,j) == 0;
Xval = Xval;
Xcal = Xcal;
Xfb120 = Xfb120;
Xpred = Xpred;
elseif A_pp(i,j) == 1;
[Xcal, ~, ~] = snv(Xcal);
[Xval, ~, ~] = snv(Xval);
[Xfb120, ~, ~] = snv(Xfb120);
[Xpred, ~, ~] = snv(Xpred);
elseif A_pp(i,j) == 2;
width = A_pp(i,7);
order = A_pp(i,5);
deriv = A_pp(i,6);
[Xcal, ~] = savgol(Xcal,width,order,deriv);
[Xval, ~] = savgol(Xval,width,order,deriv);
[Xfb120, ~] = savgol(Xfb120,width,order,deriv);
[Xpred, ~] = savgol(Xpred,width,order,deriv);
elseif A_pp(i,j) == 3;
[Xcal,~,~,~] = mscorr(Xcal);
[Xval,~,~,~] = mscorr(Xval);
[Xfb120,~,~,~] = mscorr(Xfb120);
[Xpred,~,~,~] = mscorr(Xpred);
end
if j == 4;
LV = A_pp(i,1);
modl = pls(Xcal, Ycal, LV, options);
% pred = pls(Xval,modl,options);
valid = pls(Xval,Yval,modl,options);
pred120 = pls(Xfb120,modl,options);
Ypred120 = pred120.yhat;
valid120 = pls(Xfb120,Yfb120,modl,options);
erreur_temp = [valid.rmsec(LV),...
valid.rmsep(LV),...
valid120.rmsep(LV),...
alid.r2c(LV),...
valid.r2p(LV),...
valid120.r2p(LV),...
(max(Yval)-min(Yval))/valid.rmsep(LV)]
erreur(i,:) = erreur_temp ; %RER
Xcal = X_ini;
Xval = X_ini1;
Xpred = X_ini2;
Xfb120 = X_ini3;
end
end
end |
Partager