本文建立偏最小二乘法(PLS)迴歸(PLSR)模型,以及預測效能評估。為了建立一個可靠的模型,我們還實現了一些常用的離群點檢測和變數選擇方法,可以去除潛在的離群點和只使用所選變數的子集來 "清洗 "你的資料。
這個例子說明了如何使用基準近紅外資料建立PLS模型。
plot(X'); % 顯示光譜資料。
xlabel('波長指數');
ylabel('強度');
引數設定
A=6; % 潛在變數(LV)的數量。
method='center'; % 用於建立PLS模型的X的內部預處理方法
PLS(X,y,A,method); % 建立模型的命令
pls.m函數返回一個包含成分列表的物件PLS。結果解釋。
regcoef_original:連線X和y的迴歸係數。
X_scores:X的得分。
VIP:預測中的變數重要性,評估變數重要性的一個標準。
變數的重要性。
RMSEF:擬合的均方根誤差。
y_fit:y的擬合值。
R2:Y的解釋變異的百分比。
說明如何對PLS模型進行K折交叉驗證
clear;
A=6; % LV的數量
K=5; % 交叉驗證的次數
plot(CV.RMSECV) % 繪製每個潛在變數(LVs)數量下的RMSECV值
xlabel('潛在變數(LVs)數量') % 新增x標籤
ylabel('RMSECV') % 新增y標籤
返回的值CV是帶有成分列表的結構資料。結果解釋。
RMSECV:交叉驗證的均方根誤差。越小越好
Q2:與R2含義相同,但由交叉驗證計算得出。
optLV:達到最小RMSECV(最高Q2)的LV數量。
說明如何對PLS建模進行MCCV。與K-fold CV一樣,MCCV是另一種交叉驗證的方法。
% 引數設定
A=6;
method='center';
N=500; % Monte Carlo抽樣的數量
% 執行mccv.
plot(MCCV.RMSECV); % 繪製每個潛在變數(LVs)數量下的RMSECV值
xlabel('潛在變數(LVs)數量');
MCCV
MCCV是一個結構性資料。結果解釋。
Ypred:預測值
Ytrue:真實值
RMSECV:交叉驗證的均方根誤差,越小越好。
Q2:與R2含義相同,但由交叉驗證計算得出。
說明如何對PLS建模進行DCV。與K-fold CV一樣,DCV是交叉驗證的一種方式。
% 引數設定
N=50; % Monte Carlo抽樣的數量
dcv(X,y,A,k,method,N);
DCV
說明離群點檢測方法的使用情況
A=6;
method='center';
F=mc(X,y,A,method,N,ratio);
結果解釋。
predError:每個抽樣中的樣本預測誤差
MEAN:每個樣本的平均預測誤差
STD:每個樣本的預測誤差的標準偏差
plot(F) % 診斷圖
注:MEAN值高或SD值高的樣本更可能是離群值,應考慮在建模前將其剔除。
A=6;
fold=5;
car(X,y,A,fold);
結果解釋。
optLV:最佳模型的LV數量
vsel:選定的變數(X中的列)。
plotcars(CARS); % 診斷圖
注:在這幅圖中,頂部和中間的面板顯示了選擇變數的數量和RMSECV如何隨著迭代而變化。底部面板描述了每個變數的迴歸係數(每條線對應一個變數)如何隨著迭代而變化。星形垂直線表示具有最低RMSECV的最佳模型。
load corn_m51; % 範例資料
width=15; % 視窗大小
mw(X,y,width);
plot(WP,RMSEF);
xlabel('視窗位置');
注:從該圖中建議將RMSEF值較低的區域納入PLS模型中。
N=500;
method='center';
UVE
plot(abs(UVE.RI))
結果解釋。RI:UVE的可靠性指數,是對變數重要性的測量,越高越好。
A=6;
N=10000;
method='center';
FROG=rd_pls(X,y,A,method,N);
N: 10000
Q: 2
model: [10000x700 double]
minutes: 0.6683
method: 'center'
Vrank: [1x700 double]
Vtop10: [505 405 506 400 408 233 235 249 248 515]
probability: [1x700 double]
nVar: [1x10000 double]
RMSEP: [1x10000 double]
xlabel('變數序號');
ylabel('選擇概率');
結果解釋:
模型結果是一個矩陣,儲存了每一個相互關係中的選擇變數。
概率:每個變數被包含在最終模型中的概率。越大越好。這是一個衡量變數重要性的有用指標。
最受歡迎的見解
3.matlab中的偏最小二乘迴歸(PLSR)和主成分迴歸(PCR)
5.R語言迴歸中的Hosmer-Lemeshow擬合優度檢驗