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

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

MATLAB偏最小二乘回歸(PLSR)和主成分回歸(PCR)分析光譜數(shù)據(jù)|附代碼數(shù)據(jù)

2023-02-09 23:30 作者:拓端tecdat  | 我要投稿

全文鏈接:http://tecdat.cn/?p=2655

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

此示例顯示如何在matlab中應(yīng)用偏最小二乘回歸(PLSR)和主成分回歸(PCR),并討論這兩種方法的有效性

當(dāng)存在大量預(yù)測變量時,PLSR和PCR都是對因變量建模的方法,并且這些預(yù)測變量高度相關(guān)或甚至共線性。兩種方法都將新的預(yù)測變量(稱為成分)構(gòu)建為原始預(yù)測變量的線性組合,但它們以不同的方式構(gòu)造這些成分。PCR創(chuàng)建成分來解釋預(yù)測變量中觀察到的變異性,而根本不考慮因變量。另一方面,PLSR確實(shí)將因變量考慮在內(nèi),因此通常會導(dǎo)致模型能夠使用更少的成分來適應(yīng)因變量。

加載數(shù)據(jù)

加載包括401個波長的60個汽油樣品的光譜強(qiáng)度及其辛烷值的數(shù)據(jù)集。

set(gcf,'DefaultAxesColorOrder',jet(60));xlabel('Wavelt Inde'); ylabel('Oct'); axis('tiht');grid on

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

Matlab中的偏最小二乘法(PLS)回歸模型,離群點(diǎn)檢測和變量選擇

左右滑動查看更多

01

02

03

04

使用兩個擬合數(shù)據(jù)

使PLSR模型擬合10個PLS成分和一個因變量。

為了充分?jǐn)M合數(shù)據(jù),可能需要十個成分,但可以使用此擬合的診斷來選擇具有更少成分的更簡單模型。例如,選擇成分?jǐn)?shù)量的一種快速方法是將因變量中解釋的方差百分比繪制為成分?jǐn)?shù)量的函數(shù)。

在實(shí)踐中,在選擇成分?jǐn)?shù)量時可能需要更加謹(jǐn)慎。例如,交叉驗(yàn)證是一種廣泛使用的方法,稍后將在本示例中進(jìn)行說明。目前,上圖顯示具有兩個成分的PLSR解釋了觀察到的大部分方差y。計(jì)算雙組分模型的擬合因變量。

接下來,擬合具有兩個主要成分的PCR模型。第一步是X使用該pca函數(shù)執(zhí)行主成分分析,并保留兩個主成分。然后,PCR只是這兩個成分的因變量的線性回歸。當(dāng)變量具有非常不同的可變性時,通常首先通過其標(biāo)準(zhǔn)偏差來規(guī)范每個變量。

從某種意義上說,上圖中的比較并不合理 - 通過觀察雙組分PLSR模型預(yù)測因變量的程度來選擇成分?jǐn)?shù)(兩個),并且沒有說明為什么PCR模型應(yīng)該限制相同數(shù)量的成分。然而,使用相同數(shù)量的成分,PLSR做得更好。實(shí)際上,觀察上圖中擬合值的水平分布,使用兩個分量的PCR幾乎不比使用常數(shù)模型好?;貧w的r方值證實(shí)了這一點(diǎn)。

比較兩種模型的預(yù)測能力的另一種方法是在兩種情況下將因變量繪制成兩個預(yù)測變量。

如果不能以交互方式旋轉(zhuǎn)圖形,有點(diǎn)難以看到,但上面的PLSR圖顯示了緊密分散在平面上的點(diǎn)。另一方面,下面的PCR圖顯示點(diǎn)幾乎沒有線性關(guān)系。

請注意,盡管兩個PLS成分是觀察到的更好的預(yù)測因子,但下圖顯示它們解釋的方差比例比PCR中使用的前兩個主成分少。

PCR曲線一致性較高的事實(shí)表明,為什么使用兩種成分的PCR相對于PLSR在擬合時表現(xiàn)很差。PCR構(gòu)建成分以便最好地解釋X,因此,前兩個成分忽略了數(shù)據(jù)擬合中觀察到的重要信息y。

擬合更多成分

隨著在PCR中添加更多成分,它必然會更好地?cái)M合原始數(shù)據(jù)y,這僅僅是因?yàn)樵谀承r候,大多數(shù)重要的預(yù)測信息X將存在于主要成分中。例如,使用10個成分時,兩種方法的殘差遠(yuǎn)小于兩個成分的殘差。

交叉驗(yàn)證

在預(yù)測未來變量的觀察結(jié)果時,選擇成分?jǐn)?shù)量以減少預(yù)期誤差通常很有用。簡單地使用大量成分將很好地?cái)M合當(dāng)前觀察到的數(shù)據(jù),但這是一種導(dǎo)致過度擬合的策略。過于擬合當(dāng)前數(shù)據(jù)會導(dǎo)致模型不能很好地推廣到其他數(shù)據(jù),并對預(yù)期誤差給出過度樂觀的估計(jì)。

交叉驗(yàn)證是一種更加統(tǒng)計(jì)上合理的方法,用于選擇PLSR或PCR中的成分?jǐn)?shù)量。它通過不重復(fù)使用相同的數(shù)據(jù)來擬合模型和估計(jì)預(yù)測誤差來避免過度擬合數(shù)據(jù)。因此,預(yù)測誤差的估計(jì)不會樂觀地向下偏差。

pls可以選擇通過交叉驗(yàn)證來估計(jì)均方預(yù)測誤差(MSEP),在這種情況下使用10倍CV。

plsreg(X,y,10,'CV',10);

對于PCR,crossval結(jié)合用于計(jì)算PCR的平方誤差之和,可以再次使用10倍交叉驗(yàn)證來估計(jì)MSEP。

?sum(crossval(@?pcrsse,X,y,'KFold',10),1)/?n;

PLSR的MSEP曲線表明兩個或三個成分好。另一方面,PCR需要四個成分才能獲得相同的預(yù)測精度。

事實(shí)上,PCR中的第二個成分會增加模型的預(yù)測誤差,這表明該成分中包含的預(yù)測變量的組合與其沒有很強(qiáng)的相關(guān)性y。再次,這是因?yàn)镻CR構(gòu)建成分來解釋X,而不是y。

模型簡約

因此,如果PCR需要四個成分來獲得與具有三個成分的PLSR相同的預(yù)測精度,那么PLSR模型是否更加簡約?這取決于您考慮的模型的哪個方面。

PLS權(quán)重是定義PLS分量的原始變量的線性組合,即,它們描述了PLSR中的每個分量依賴于原始變量的權(quán)重。

類似地,PCA載荷描述了PCR中每個成分依賴于原始變量的強(qiáng)度。

對于PLSR或PCR,可以通過檢查每個成分最重要的變量來為每個成分提供有意義的解釋。例如,利用這些光譜數(shù)據(jù),可以根據(jù)汽油中存在的化合物解釋強(qiáng)度峰值,然后觀察特定成分的權(quán)重挑選出少量這些化合物。從這個角度來看,更少的成分更易于解釋,并且由于PLSR通常需要更少的成分來充分預(yù)測因變量,因此會導(dǎo)致更簡約的模型。

另一方面,PLSR和PCR都導(dǎo)致每個原始預(yù)測變量的一個回歸系數(shù)加上截距。從這個意義上講,兩者都不是更簡約,因?yàn)闊o論使用多少成分,兩種模型都依賴于所有預(yù)測變量。更具體地,對于這些數(shù)據(jù),兩個模型都需要401個光譜強(qiáng)度值以進(jìn)行預(yù)測。

然而,最終目標(biāo)可能是將原始變量集減少到仍然能夠準(zhǔn)確預(yù)測因變量的較小子集。例如,可以使用PLS權(quán)重或PCA載荷來僅選擇對每個成分貢獻(xiàn)最大的那些變量。如前所示,來自PCR模型擬合的一些成分可主要用于描述預(yù)測變量的變化,并且可包括與因變量不強(qiáng)相關(guān)的變量的權(quán)重。因此,PCR會導(dǎo)致保留預(yù)測不必要的變量。

對于本例中使用的數(shù)據(jù),PLSR和PCR所需的成分?jǐn)?shù)量之間的差異不是很大,PLS權(quán)重和PCA載荷選擇了相同的變量。其他數(shù)據(jù)可能并非如此。

有問題歡迎下方留言!

點(diǎn)擊文末?“閱讀原文”

獲取全文完整資料。

本文選自《偏最小二乘回歸(PLSR)和主成分回歸(PCR)分析光譜數(shù)據(jù)》。

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

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


MATLAB偏最小二乘回歸(PLSR)和主成分回歸(PCR)分析光譜數(shù)據(jù)|附代碼數(shù)據(jù)的評論 (共 條)

分享到微博請遵守國家法律
仙游县| 喜德县| 报价| 靖江市| 静乐县| 南川市| 灌云县| 奎屯市| 彭泽县| 临沂市| 南靖县| 大新县| 贵州省| 新昌县| 岳阳市| 怀柔区| 镇赉县| 巴塘县| 游戏| 梅河口市| 原平市| 惠水县| 顺平县| 罗平县| 微山县| 资中县| 林甸县| 大庆市| 二连浩特市| 保康县| 湟中县| 清徐县| 屏南县| 高尔夫| 平塘县| 福鼎市| 江城| 大荔县| 镇平县| 胶州市| 乡宁县|