代碼
// elasticnet code snippet
proc glmselect data=BIAO.fitness plots=coefficients;
model Weight = Age Oxy Runtime RunPulse RstPulse MaxPulse /selection = elasticnet(choose=AICC);
partition fraction(validate=0.3); /* Optionally partition data for validation */
run;
// lasso code snippet
proc glmselect data=BIAO.fitness plots=coefficients;
model Weight = Age Oxy Runtime RunPulse RstPulse MaxPulse /selection = lasso(choose=AICC);
partition fraction(validate=0.3); /* Optionally partition data for validation */
run;
操作步驟及程序設(shè)定
- 登錄 SAS Studio 后,創(chuàng)建一個(gè)新文件夾 (例如截圖中的 wei0908)

- 選中你創(chuàng)建的新文件夾,并點(diǎn)擊上傳圖標(biāo),上傳你的數(shù)據(jù)文件

- 在右側(cè),點(diǎn)擊多點(diǎn)按鈕,選擇 “新建導(dǎo)入數(shù)據(jù)“

- 將左側(cè)的 wei0908 文件夾下的 Fitness.xlsx 文件拖到右側(cè)的畫(huà)布上。

- 默認(rèn)情況下,導(dǎo)入的數(shù)據(jù)集名為 “import”; 點(diǎn)擊 “更改” 按鈕,將數(shù)據(jù)集名稱(chēng)重命名為 Fitness。

- 點(diǎn)擊 “運(yùn)行” 按鈕。

這個(gè)時(shí)候你的數(shù)據(jù)集就是
WORK.Fitness
- 創(chuàng)建 SAS 程序文件

- 保存并運(yùn)行該程序文件

軟件窗口的截圖


運(yùn)行結(jié)果


結(jié)果分析
兩個(gè)模型(Elastic Net 模型與 Lasso 模型)的異同點(diǎn)如下:
相同點(diǎn):
- 數(shù)據(jù)與目標(biāo)變量
均使用數(shù)據(jù)集BIAO.FITNESS,以Weight(體重)為因變量。
涉及的效應(yīng)數(shù)量(7 個(gè))和參數(shù)數(shù)量(7 個(gè))相同。
讀取的觀測(cè)值總數(shù)均為 31 個(gè)。
- 模型選擇與停止準(zhǔn)則
均采用GLMSELECT過(guò)程,停止準(zhǔn)則為SBC( Schwarz Bayesian Criterion),選擇準(zhǔn)則為AICC(修正的 Akaike 信息準(zhǔn)則)。
均未強(qiáng)制效應(yīng)層級(jí)(Effect Hierarchy Enforced: None),且最終選擇的模型均為僅包含截距項(xiàng)的Step 0模型(無(wú)其他自變量進(jìn)入)。
- 模型效果特征
選定模型的R-Square和Adj R-Sq均為 0.0000,說(shuō)明模型無(wú)法解釋因變量Weight的變異(僅用截距項(xiàng)預(yù)測(cè))。
方差分析中,模型的自由度(DF)為 0,平方和(Sum of Squares)為 0,均方(Mean Square)和 F 值缺失,表明模型未納入任何自變量。
不同點(diǎn):
- 選擇方法
Elastic Net 模型使用ELASTICNET(彈性網(wǎng))方法,結(jié)合了 L1 正則化(Lasso)和 L2 正則化(Ridge)。
Lasso 模型使用LASSO(套索)方法,僅采用 L1 正則化。
- 訓(xùn)練與驗(yàn)證集劃分
Elastic Net 模型:25 個(gè)觀測(cè)值用于訓(xùn)練,6 個(gè)用于驗(yàn)證。
Lasso 模型:23 個(gè)觀測(cè)值用于訓(xùn)練,8 個(gè)用于驗(yàn)證。
- 關(guān)鍵指標(biāo)數(shù)值

- 停止細(xì)節(jié)
Elastic Net 模型中,候選進(jìn)入的變量為Age(年齡),其 SBC(107.1058)大于當(dāng)前模型的 SBC(107.0263),故未進(jìn)入。
Lasso 模型中,候選進(jìn)入的變量為Oxy(氧氣攝入量相關(guān)指標(biāo)),其 SBC(102.5447)大于當(dāng)前模型的 SBC(99.8415),故未進(jìn)入。
總結(jié):
兩個(gè)模型的核心差異源于正則化方法和數(shù)據(jù)劃分,導(dǎo)致關(guān)鍵指標(biāo)(如 ASE、AIC、SBC)數(shù)值不同,但最終均未納入任何自變量,僅以截距項(xiàng)作為預(yù)測(cè)結(jié)果,說(shuō)明在該數(shù)據(jù)集上,兩種方法均認(rèn)為沒(méi)有自變量能顯著改善對(duì)Weight的預(yù)測(cè)。