變量選擇之SCAD算法 | 您所在的位置:網(wǎng)站首頁(yè) › 屬猴的和屬兔的屬相合不合 › 變量選擇之SCAD算法 |
變量選擇之SCAD算法
2017-06-27
收藏
變量選擇之SCAD算法 本文提出了一種用于同時(shí)達(dá)到選擇變量和預(yù)測(cè)模型系數(shù)的目的的方法——SCAD。這種方法的罰函數(shù)是對(duì)稱且非凹的,并且可處理奇異陣以產(chǎn)生稀疏解。此外,本文提出了一種算法用于優(yōu)化對(duì)應(yīng)的帶懲罰項(xiàng)的似然函數(shù)。這種方法具有廣泛的適用性,可以應(yīng)用于廣義線性模型,強(qiáng)健的回歸模型。借助于波和樣條,還可用于非參數(shù)模型。更進(jìn)一步地,本文證明該方法具有Oracle性質(zhì)。模擬的結(jié)果顯示該方法相比主流的變量選擇模型具有優(yōu)勢(shì)。并且,模型的預(yù)測(cè)誤差公式顯示,該方法實(shí)用性較強(qiáng)。 SCAD的理論理解 在總結(jié)了現(xiàn)有模型的一些缺點(diǎn)之后,本文提出構(gòu)造罰函數(shù)的一些目標(biāo): 罰函數(shù)是奇異的(singular) 連續(xù)地壓縮系數(shù) 對(duì)較大的系數(shù)產(chǎn)生無(wú)偏的估計(jì) SCAD模型的Oracle性質(zhì),使得它的預(yù)測(cè)效果跟真實(shí)模型別無(wú)二致。 并且,這種方法可以應(yīng)用于高維非參數(shù)建模。 SCAD的目標(biāo)函數(shù)如下:
SCAD的罰函數(shù)與$\theta$的(近似)關(guān)系如下圖所示。
可見,罰函數(shù)可以用二階泰勒展開逼近。 ![]() Hard Penality,lasso,SCAD的系數(shù)壓縮情況VS系數(shù)真實(shí)值的情況如下圖所示。
可以看到,lasso壓縮系數(shù)是始終有偏的,Hard penality是無(wú)偏的,但壓縮系數(shù)不連續(xù)。而SCAD既能連續(xù)的壓縮系數(shù),也能在較大的系數(shù)取得漸近無(wú)偏的估計(jì)。 這使得SCAD具有Oracle性質(zhì)。 SCAD的缺點(diǎn) 模型形式過于復(fù)雜 迭代算法運(yùn)行速度較慢 在low noise level的情況下表現(xiàn)較優(yōu),但在high noise level的情況下表現(xiàn)較差。 SCAD的實(shí)現(xiàn) SCAD迭代公式 SCAD的目標(biāo)函數(shù)如下:
時(shí),罰函數(shù)可以用二階泰勒展開逼近。
從而,有如下迭代公式: ![]() 根據(jù)以上公式,代入迭代步驟,即可實(shí)現(xiàn)算法。 SCAD的R實(shí)現(xiàn) ##------數(shù)據(jù)模擬-------- library(MASS) ##mvrnorm() ##定義一個(gè)產(chǎn)生多元正態(tài)分布的隨機(jī)向量協(xié)方差矩陣 Simu_Multi_Norm |
CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有 |