最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Matlab中的偏最小二乘法(PLS)回歸模型,離群點檢測和變量選擇|附代碼數(shù)據(jù)

2023-05-30 22:53 作者:拓端tecdat  | 我要投稿

全文下載:http://tecdat.cn/?p=22319

最近我們被客戶要求撰寫關于偏最小二乘法(PLS)回歸的研究報告,包括一些圖形和統(tǒng)計輸出。

本文建立偏最小二乘法(PLS)回歸(PLSR)模型,以及預測性能評估。為了建立一個可靠的模型,我們還實現(xiàn)了一些常用的離群點檢測和變量選擇方法,可以去除潛在的離群點和只使用所選變量的子集來 "清洗?"你的數(shù)據(jù) 。

步驟

  • 建立PLS回歸模型

  • PLS的K-折交叉驗證

  • PLS的蒙特卡洛交叉驗證(MCCV)。

  • PLS的雙重交叉驗證(DCV)

  • 使用蒙特卡洛抽樣方法進行離群點檢測

  • 使用CARS方法進行變量選擇。

  • 使用移動窗口PLS(MWPLS)進行變量選擇。

  • 使用蒙特卡洛無信息變量消除法(MCUVE)進行變量選擇

  • 進行變量選擇

建立PLS回歸模型

這個例子說明了如何使用基準近紅外數(shù)據(jù)建立PLS模型。

plot(X');???????????????%?顯示光譜數(shù)據(jù)。 xlabel('波長指數(shù)'); ylabel('強度');

參數(shù)設定

A=6;????????????????????%?潛在變量(LV)的數(shù)量。 method='center';????????%?用于建立PLS模型的X的內部預處理方法 PLS(X,y,A,method);??%?建立模型的命令

pls.m函數(shù)返回一個包含成分列表的對象PLS。結果解釋。

regcoef_original:連接X和y的回歸系數(shù)。
X_scores:X的得分。
VIP:預測中的變量重要性,評估變量重要性的一個標準。
變量的重要性。
RMSEF:擬合的均方根誤差。
y_fit:y的擬合值。
R2:Y的解釋變異的百分比。

PLS的K折交叉驗證

說明如何對PLS模型進行K折交叉驗證

clear; A=6;??????????????????????????%?LV的數(shù)量 K=5;??????????????????????????%?交叉驗證的次數(shù)

plot(CV.RMSECV)???????????????%?繪制每個潛在變量(LVs)數(shù)量下的RMSECV值 xlabel('潛在變量(LVs)數(shù)量')??????????%?添加x標簽 ylabel('RMSECV')??????????????%?添加y標簽

返回的值CV是帶有成分列表的結構數(shù)據(jù)。結果解釋。

RMSECV:交叉驗證的均方根誤差。越小越好
Q2:與R2含義相同,但由交叉驗證計算得出。
optLV:達到最小RMSECV(最高Q2)的LV數(shù)量。

蒙特卡洛交叉驗證(MCCV)的PLS

說明如何對PLS建模進行MCCV。與K-fold CV一樣,MCCV是另一種交叉驗證的方法。

%?參數(shù)設置 A=6; method='center'; N=500;??????????????????????????%?Monte?Carlo抽樣的數(shù)量 %?運行mccv. plot(MCCV.RMSECV);??????????????%?繪制每個潛在變量(LVs)數(shù)量下的RMSECV值 xlabel('潛在變量(LVs)數(shù)量');

MCCV

MCCV是一個結構性數(shù)據(jù)。結果解釋。

Ypred:預測值
Ytrue:真實值
RMSECV:交叉驗證的均方根誤差,越小越好。
Q2:與R2含義相同,但由交叉驗證計算得出。

PLS的雙重交叉驗證(DCV)

說明如何對PLS建模進行DCV。與K-fold CV一樣,DCV是交叉驗證的一種方式。

%?參數(shù)設置 N=50;?????????????????????????????????%?Monte?Carlo抽樣的數(shù)量 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值高的樣本更可能是離群值,應考慮在建模前將其剔除。

使用CARS方法進行變量選擇。

A=6; fold=5; car(X,y,A,fold);

結果解釋。

optLV:最佳模型的LV數(shù)量
vsel:選定的變量(X中的列)。

plotcars(CARS);?%?診斷圖

注:在這幅圖中,頂部和中間的面板顯示了選擇變量的數(shù)量和RMSECV如何隨著迭代而變化。底部面板描述了每個變量的回歸系數(shù)(每條線對應一個變量)如何隨著迭代而變化。星形垂直線表示具有最低RMSECV的最佳模型。

使用移動窗口PLS(MWPLS)進行變量選擇

load?corn_m51;??????????????????????%?示例數(shù)據(jù) width=15;???????????????????????????%?窗口大小 mw(X,y,width); plot(WP,RMSEF); xlabel('窗口位置');

注:從該圖中建議將RMSEF值較低的區(qū)域納入PLS模型中。

使用蒙特卡洛無信息變量消除法(MCUVE)進行變量選擇

N=500; method='center'; UVE

plot(abs(UVE.RI))

結果解釋。RI:UVE的可靠性指數(shù),是對變量重要性的測量,越高越好。

進行變量選擇

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('選擇概率');

結果解釋:

模型結果是一個矩陣,儲存了每一個相互關系中的選擇變量。
概率:每個變量被包含在最終模型中的概率。越大越好。這是一個衡量變量重要性的有用指標。

本文摘選?《?Matlab中的偏最小二乘法(PLS)回歸模型,離群點檢測和變量選擇?》?,點擊“閱讀原文”獲取全文完整資料。

點擊標題查閱往期內容

R語言實現(xiàn)偏最小二乘回歸法 partial least squares (PLS)回歸
R語言中的block Gibbs吉布斯采樣貝葉斯多元線性回歸R語言Lasso回歸模型變量選擇和糖尿病發(fā)展預測模型
R語言實現(xiàn)貝葉斯分位數(shù)回歸、lasso和自適應lasso貝葉斯分位數(shù)回歸分析
Python貝葉斯回歸分析住房負擔能力數(shù)據(jù)集
Python用PyMC3實現(xiàn)貝葉斯線性回歸模型
R語言區(qū)間數(shù)據(jù)回歸分析
R語言用LOESS(局部加權回歸)季節(jié)趨勢分解(STL)進行時間序列異常檢測
PYTHON用時變馬爾可夫區(qū)制轉換(MRS)自回歸模型分析經(jīng)濟時間序列
R語言隨機森林RandomForest、邏輯回歸Logisitc預測心臟病數(shù)據(jù)和可視化分析
基于R語言實現(xiàn)LASSO回歸分析
Python用PyMC3實現(xiàn)貝葉斯線性回歸模型
使用R語言進行多項式回歸、非線性回歸模型曲線擬合
R語言中的偏最小二乘回歸PLS-DAR語言生態(tài)學建模:增強回歸樹(BRT)預測短鰭鰻生存分布和影響因素
R語言實現(xiàn)偏最小二乘回歸法 partial least squares (PLS)回歸
Matlab中的偏最小二乘法(PLS)回歸模型,離群點檢測和變量選擇
偏最小二乘回歸(PLSR)和主成分回歸(PCR)
R語言如何找到患者數(shù)據(jù)中具有差異的指標?(PLS—DA分析)


Matlab中的偏最小二乘法(PLS)回歸模型,離群點檢測和變量選擇|附代碼數(shù)據(jù)的評論 (共 條)

分享到微博請遵守國家法律
昌宁县| 汉阴县| 聂拉木县| 手游| 延长县| 阿拉尔市| 南投市| 洛川县| 铁力市| 体育| 乐东| 定南县| 大庆市| 凤庆县| 三亚市| 石柱| 赣州市| 柞水县| 乳源| 普定县| 山阳县| 金昌市| 贞丰县| 巨野县| 资中县| 太谷县| 绿春县| 黄梅县| 彭山县| 扎赉特旗| 长丰县| 桐庐县| 枞阳县| 招远市| 茂名市| 资兴市| 西平县| 田东县| 新疆| 青冈县| 福安市|