Gostaria de comparar os modelos selecionados com cume, laço e rede elástica. A Fig. Abaixo mostra os caminhos dos coeficientes usando todos os três métodos: crista (Fig A, alfa = 0), laço (Fig B; alfa = 1) e rede elástica (Fig C; alfa = 0,5). A solução ideal depende do valor selecionado de lambda, que é escolhido com base na validação cruzada.
Ao olhar para essas parcelas, eu esperaria que a rede elástica (Fig C) exibisse um efeito de agrupamento. No entanto, não está claro no caso apresentado. O caminho dos coeficientes para laço e rede elástica é muito semelhante. Qual poderia ser a razão disso? É apenas um erro de codificação? Eu usei o seguinte código em R:
library(glmnet)
X<- as.matrix(mydata[,2:22])
Y<- mydata[,23]
par(mfrow=c(1,3))
ans1<-cv.glmnet(X, Y, alpha=0) # ridge
plot(ans1$glmnet.fit, "lambda", label=FALSE)
text (6, 0.4, "A", cex=1.8, font=1)
ans2<-cv.glmnet(X, Y, alpha=1) # lasso
plot(ans2$glmnet.fit, "lambda", label=FALSE)
text (-0.8, 0.48, "B", cex=1.8, font=1)
ans3<-cv.glmnet(X, Y, alpha=0.5) # elastic net
plot(ans3$glmnet.fit, "lambda", label=FALSE)
text (0, 0.62, "C", cex=1.8, font=1)
O código usado para plotar caminhos de coeficientes líquidos elásticos é exatamente o mesmo que para cume e laço. A única diferença está no valor de alfa. O parâmetro alfa para regressão líquida elástica foi selecionado com base no menor MSE (erro quadrático médio) para os valores lambda correspondentes.
Obrigado pela ajuda !
fonte