
在之前的代碼
lasso1.cv = cv.glmnet (X, Y, alpha = 1, nfolds = 10)
中,alpha = 1為lasso,alpha=0為嶺回歸,介于0和1之間時(shí)表示模型介于嶺回歸和lasso之間,統(tǒng)稱為Elastic Net,對(duì)其進(jìn)行循環(huán),找到最小的lambda值
final = c()
for (i in 1:100){
? set.seed(1)
? fit4.cv = cv.glmnet (X, Y, alpha = (i/100), nfolds = 10)
? this_fit = c (i/100, fit4.cv$lambda.min, min(fit4.cv$cvm))
? final = rbind (final, this_fit)
}
final [which.min (final[, 3]), ]
由于lasso和嶺回歸對(duì)自變量的單位敏感,在之前先對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,運(yùn)用robustHD程序包里standardize()函數(shù)