拓端tecdat|Python高維統(tǒng)計建模變量選擇:SCAD平滑剪切絕對偏差懲罰、Lasso懲罰函數(shù)比
原文鏈接:http://tecdat.cn/?p=24940?
原文出處:拓端數(shù)據(jù)部落公眾號
變量選擇是高維統(tǒng)計建模的重要組成部分。許多流行的變量選擇方法,例如 LASSO,都存在偏差。帶平滑削邊絕對偏離(smoothly clipped absolute deviation,SCAD)正則項的回歸問題或平滑剪切絕對偏差 (SCAD) 估計試圖緩解這種偏差問題,同時還保留了稀疏性的連續(xù)懲罰。
懲罰最小二乘法
一大類變量選擇模型可以在稱為“懲罰最小二乘法”的模型族下進行描述。這些目標函數(shù)的一般形式是

其中?

?是設(shè)計矩陣,?

?是因變量的向量,?

?是系數(shù)的向量,

?是由正則化參數(shù)索引的懲罰函數(shù)?

.
作為特殊情況,請注意 LASSO 對應(yīng)的懲罰函數(shù)為?

,而嶺回歸對應(yīng)于?

. 回想下面這些單變量懲罰的圖形形狀。

SCAD
Fan和Li(2001)提出的平滑剪切絕對偏差(SCAD)懲罰,旨在鼓勵最小二乘法問題的稀疏解,同時也允許大值的?β
. SCAD懲罰是一個更大的系列,被稱為 "折疊凹陷懲罰",它在以下方面是凹的, R+?和?R-
. 從圖形上看,SCAD 懲罰如下所示:

有點奇怪的是,SCAD 懲罰通常主要由它的一階導(dǎo)數(shù)定義?

, 而不是?

. 它的導(dǎo)數(shù)是

其中 a?是一個可調(diào)參數(shù),用于控制?β 值的懲罰下降的速度,以及函數(shù)?

?等于?

?如果?

, 否則為 0。
我們可以通過分解懲罰函數(shù)在不同數(shù)值下的導(dǎo)數(shù)來獲得一些洞察力?λ:

對于較大的 β 值?(其中?

),懲罰對于 β 是恒定的。換句話說,在 β?變得足夠大之后,β 的較高值?不會受到更多的懲罰。這與 LASSO 懲罰形成對比,后者具有關(guān)于 |β|的單調(diào)遞增懲罰:

但是,這意味著對于大系數(shù)值,他們的 LASSO 估計將向下偏置。
另一方面,對于較小的 β 值?(其中 |β|≤λ),SCAD 懲罰在 β 中是線性的。對于 β?的中等值(其中?
),懲罰是二次的。
分段定義,pλ(β) 是

在 Python 中,SCAD 懲罰及其導(dǎo)數(shù)可以定義如下:
def scad:
s_lar
iudic =np.lgicand
iscsat = (vl * laval) < np.abs
lie_prt = md_val * pab* iliear
return liprt + urtirt + cosaat
使用 SCAD 擬合模型
擬合懲罰最小二乘模型(包括 SCAD 懲罰模型)的一種通用方法是使用局部二次近似。這種方法相當(dāng)于在初始點 β0 周圍擬合二次函數(shù) q(β),使得近似:
關(guān)于 0 對稱,
滿足 q(β0)=pλ(|β0|),
滿足 q ′ (β0) = p′λ (| β0 |)。
因此,逼近函數(shù)必須具有以下形式
對于不依賴于 β 的系數(shù) a?和 b 。上面的約束為我們提供了一個可以求解的兩個方程組:
為了完整起見,讓我們來看看解決方案。重新排列第二個方程,我們有
將其代入第一個方程,我們有
因此,完整的二次方程是
現(xiàn)在,對于系數(shù)值的任何初始猜測 β0,我們可以使用上面的 q?構(gòu)造懲罰的二次估計。然后,與初始 SCAD 懲罰相比,找到此二次方的最小值要容易得多。
從圖形上看,二次近似如下所示:
將 SCAD 懲罰的二次逼近代入完整的最小二乘目標函數(shù),優(yōu)化問題變?yōu)椋?/p>
忽略不依賴于 β 的項,這個最小化問題等價于
巧妙地,我們可以注意到這是一個嶺回歸問題,其中?
回想一下,?嶺回歸?是
這意味著近似的 SCAD 解是

最受歡迎的見解
1.matlab偏最小二乘回歸(PLSR)和主成分回歸(PCR)
2.R語言高維數(shù)據(jù)的主成分pca、 t-SNE算法降維與可視化分析
3.主成分分析(PCA)基本原理及分析實例
4.基于R語言實現(xiàn)LASSO回歸分析
5.使用LASSO回歸預(yù)測股票收益數(shù)據(jù)分析
6.r語言中對lasso回歸,ridge嶺回歸和elastic-net模型
7.r語言中的偏最小二乘回歸pls-da數(shù)據(jù)分析
8.r語言中的偏最小二乘pls回歸算法
9.R語言線性判別分析(LDA),二次判別分析(QDA)和正則判別分析(RDA)