Вы находитесь на странице: 1из 5

2.

3 Chng trnh my tnh ca cc phng php hi quy a bin


2.3.1 Phng php bnh phng ti thiu thng thng ( CLS)

* Cc bc tnh ton CLS trong phn mm Matlab 2012:


- Khi ng phn mm MATLAB
- Nhp cc ma trn d liu trong ca s WORKSPACE
+ Nhp ma trn nng X0 (mxk) ca m mu chun cha k cu t
+ Nhp ma trn tn hiu phn tch Y0(mxn) (n l s tn hiu o)
+ Nhp tn hiu phn tch Y ca mu cn nh phn
- Lu cc d liu va nhp vo thnh 1 file trong Matlab : CLS.mat. [6, 7].
- M mt M-file trong ca s EDITOR v vit cc cu lnh ti :
%Phuong phap CLS:
%Goi cac bien su dung trong phuong phap
load CLS.mat;
%Tinh ma tran he so hoi quy K:
K=inv(X0'*X0)*X0'*Y0 ;
%KIM TRA CHNH XC CA PHNG PHP:
%Nhap ma tran tin hieu do hap thu quang cua mau kiem tra: Yktra
%Nhap ma tran nong do cua mau ktra: X0ktra
%Tinh nong do mau kiem tra:
Xktra=Yktra*K'*inv(K*K');
%Tinh sai so giua nong do chuan voi nong do xac dinh duoc tu phuong phap
CLS:
Saiso=(X0ktra-Xktra)*100./X0ktra;
%TM NNG CA CHT TRONG MU BT K
%Nhap ma tran tin hieu do hap thu quang cua mau: Y
X=Y*K'*inv(K*K');
- Lu li M-file va thc hin c v t tn file: CLS
- Gi hm M-file va vit c trong ca s COMMAND WINDOW
>> CLS
- Chng trnh s t ng thc hin cc lnh theo yu cu v hin th kt
qu.
- Kch chut vo gi tr Saiso, X trong WORKSPACE thu c cc d
liu mong mun.
2.3.2 Phng php bnh phng ti thiu nghch o ( ILS)

* Cc bc tnh ton ILS trong phn mm Matlab2012:


- Khi ng phn mm MATLAB
- Nhp cc ma trn d liu trong ca s WORKSPACE
+ Nhp ma trn nng X0 (mxk) ca m mu chun cha k cu t
(m hng, k ct)
+ Nhp ma trn tn hiu phn tch Y0(mxn) (n l s tn hiu o)
+ Nhp tn hiu phn tch Y ca mu cn nh phn
- Lu cc d liu va nhp vo thnh 1 file trong Matlab : ILS.mat [6, 7]
- M mt M-file v vit cc cu lnh ti :
%Phuong phap ILS:
%Goi cac bien su dung trong phuong phap
load ILS.mat;
%Tinh ma tran he so hoi quy:
P=inv(Y0'*Y0)*Y0'*X0;
%KIM TRA CHNH XC CA PHNG PHP:
%Tinh nong do chat trong mau kiem tra:
Xktra=Yktra*P;
%Tinh sai so giua nong do chuan voi nong do xac dinh duoc tu ILS:
Saiso= (X0ktra-Xktra)*100./X0ktra
% TNH NNG CA CHT TRONG MU BT K
%Tinh nong do cua mau:
X=Y*P
- Lu li M-file va thc hin c: ILS.m
- Gi M-file va vit c trong ca s COMMAND WINDOW
>> ILS
- Chng trnh s t ng thc hin cc yu cu mong mun v tr li kt
qu di dng ma trn. Kch chut vo gi tr Saiso, X trong WORKSPACE hin
th cc ma trn s liu .
2.3.3 Phng php bnh phng ti thiu tng phn ( PLS)

* Cc bc tnh ton PLS trong phn mm Matlab 2012:


- Khi ng phn mm MATLAB
- Nhp cc ma trn d liu trong ca s WORKSPACE
+ Nhp ma trn nng Y (mxk) ca m dung dch chun cha k cu t (m
hng, k ct)
+ Nhp ma trn tn hiu phn tch X (mxn) (n l s tn hiu o)
+ Nhp tn hiu phn tch Xtest ca mu cn nh phn
+ Nhp tn hiu phn tch Xsam ca mu cn nh phn.
M ca s EDITOR v vit cc cu lnh ti :

+ Tinh so laten variable, chon so component (n < so mau)


[XL,YL,XS,YS,BETA,PctVar] = plsregress(X,Y,n);
>> plot(1:n,cumsum(100*PctVar(2,:)),'-bo');
xlabel('Number of PLS components');
ylabel('Percent Variance Explained in Y');

+ Chay lai vo so n thich hop


[XL,YL,XS,YS,BETA,PctVar] = plsregress(X,Y,n);
Xtest la ma tran tin hieu kiem chung
mo hinh
Xsam la ma tran tin hieu mau thuc
Ytest la ma tran nong do mau kiem
chung mo hinh
Ypred la ma tran nong do mau chuan tinh lai dc
tu ma tran BETA
Ysam la ma tran nong do mau thuc tinh
lai dc tu BETA
Ypred=[ones(size(X,1),1) X]*BETA;
Ytest=[ones(size(Xtest,1),1) Xtest]*BETA;
Ysam=[ones(size(Xsam,1),1) Xsam]*BETA;
size(X,1) : cho ra so dong cua ma tran X = so mau
[one(size(X,1),1) X] : them mot ma tran 1 co 1 cot, n hang vao ma tran X
+ chn ca s WORKPACE chn Ytest kim tra , chn Ysam thu c
hm lng hot cht c trong mu.
2.3.4 Phng php hi quy cu t chnh ( PCR)

* Cc bc tnh ton PCR trong phn mm Matlab2012:


- Khi ng phn mm MATLAB
- Nhp cc ma trn d liu trong ca s WORKSPACE
+ Nhp ma trn nng X0 (mxk) ca m mu chun cha k cu t (m hng, k
ct)
+ Nhp ma trn tn hiu phn tch Y0(mxn) (n l s tn hiu o)
+ Nhp tn hiu phn tch Y ca mu cn nh phn
- Lu cc d liu va nhp vo thnh 1 file trong Matlab: PCR.mat [6, 7].
% Phuong phap PCR:
load PCR.mat;
%Binh phuong tap so lieu chua bien phu thuoc Y0
D = Y0'*Y0;
% Su dung mot trong 3 ham tinh PC de xac dinh cac PC theo cau lenh
% su dung ham SVD
[V S] = svd(D);
% Tinh ma tran phan tram phuong sai cua cac PC
d = diag(S)/sum(diag(S))*100;
% Tu gia tri phan tram phuong sai cua cac PC, can cu vao yeu cau cu the cua
% bai toan de quyet dinh so PC lam co so cho khong gian moi cua tap so lieu
% (n):
f = V(:,1:n);
% Chuyen doi tap so lieu ban dau va tinh ma tran he so hoi qui voi 3 cau tu
chinh:
Yj = Y0*f;
F = inv(Yj'*Yj)*Yj'*X0;
Fj=f*F
% Nhap ma tran bien phu thuoc cua k mau can dinh phan va tinh nong do mau
% theo cong thuc:X=Y*Fj
% NEU MUON KIEM TRA DO CHINH XAC CUA PHUONG PHAP
% Nhap ma tran do hap thu quang cua mau kiem tra:Yktra
%Tinh nong do mau kiem tra theo PCR:
Xktra=Yktra*Fj;
%Tinh sai so giua nong do chuan voi nong do xac dinh duoc tu PLS:
Saiso=(X0ktra-Xktra)*100./X0ktra ;
% TINH NONG DO CUA CHAT TRONG MAU BAT KI.
%Nhap ma tran do hap thu quang cua mau thuc: Y
X=Y*Fj;
- Lu li M-file va thc hin c: PCR.m
- Gi hm M-file va vit c trong ca s COMMAND WINDOW :
>> PCR
- Kch chut vo gi tr Saiso, X trong WORKSPACE thu c cc d liu
mong mun.

Вам также может понравиться