NMR Batch Correction Example Script: Difference between revisions
From Powers Wiki
(Added to Category) |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
== PLS Fit Model == | == PLS Fit Model == | ||
X = | first_value = your_choice1 %%You choose here | ||
second_value = your_choice2 %%You choose here too | |||
X = whole_dataset ([first_value:second_value],:); %%This selects a subset of data from your first choice to your second choice | |||
clsD = class_info (dummy_matrix); | |||
result = pls(X, clsD, @suv, [7,1], 1); | result = pls(X, clsD, @suv, [7,1], 1); | ||
mn = result.mean.X;sd = result.scale.X; | mn = result.mean.X; | ||
sd = result.scale.X; | |||
Xscaled = (X-(repmat(mn,[size(X,1),1])))./(repmat(sd,[size(X,1),1]));%size(Xscaled) | Xscaled = (X-(repmat(mn,[size(X,1),1])))./(repmat(sd,[size(X,1),1]));%size(Xscaled) | ||
XPLSfit = result.T*result.P'; | XPLSfit = result.T*result.P'; | ||
Line 21: | Line 25: | ||
Note: mean can be replaced with median in a median of median model. | Note: mean can be replaced with median in a median of median model. | ||
[[category:Data_Processing_and_Analysis]] | [[category:Data_Processing_and_Analysis]] |
Latest revision as of 05:31, 20 January 2022
PLS Fit Model
first_value = your_choice1 %%You choose here second_value = your_choice2 %%You choose here too X = whole_dataset ([first_value:second_value],:); %%This selects a subset of data from your first choice to your second choice clsD = class_info (dummy_matrix); result = pls(X, clsD, @suv, [7,1], 1); mn = result.mean.X; sd = result.scale.X; Xscaled = (X-(repmat(mn,[size(X,1),1])))./(repmat(sd,[size(X,1),1]));%size(Xscaled) XPLSfit = result.T*result.P'; XscaledNew = Xscaled - XPLSfit; XNew = (XscaledNew.*(repmat(sd,[size(XscaledNew,1),1]))) + (repmat(mn,[size(XscaledNew,1),1]));
Mean of Mean Model
Xall = [Xtrain;Xtest]; refX = median(median(Xall)); mnXtrain = mean(mean(Xtrain)); newXtrain = Xtrain/repmat(mnXtrain, [size(Xtrain, 1), size(Xtrain, 2)]); newXtrain = newXtrain*repmat(refX, [size(Xtrain, 1), size(Xtrain, 2)]); mnXtest = mean(mean(Xtest)); newXtest = Xtest/repmat(mnXtest, [size(Xtest, 1), size(Xtest, 2)]); newXtest = newXtest*repmat(refX, [size(Xtest, 1), size(Xtest, 2)]);
Note: mean can be replaced with median in a median of median model.