Acho que ao tentar interpretar esses gráficos de coeficientes por , ou, ajuda muito a saber como elas ficam em alguns casos simples. Em particular, como eles ficam quando a matriz de design do modelo não está correlacionada, versus quando há correlação no design.log ( λ ) ∑ i | β i |λregistro( λ )∑Eu| βEu|
Para esse fim, criei alguns dados correlacionados e não correlacionados para demonstrar:
x_uncorr <- matrix(runif(30000), nrow=10000)
y_uncorr <- 1 + 2*x_uncorr[,1] - x_uncorr[,2] + .5*x_uncorr[,3]
sigma <- matrix(c( 1, -.5, 0,
-.5, 1, -.5,
0, -.5, 1), nrow=3, byrow=TRUE
)
x_corr <- x_uncorr %*% sqrtm(sigma)
y_corr <- y_uncorr <- 1 + 2*x_corr[,1] - x_corr[,2] + .5*x_corr[,3]
Os dados x_uncorr
possuem colunas não correlacionadas
> round(cor(x_uncorr), 2)
[,1] [,2] [,3]
[1,] 1.00 0.01 0.00
[2,] 0.01 1.00 -0.01
[3,] 0.00 -0.01 1.00
enquanto x_corr
tem uma correlação predefinida entre as colunas
> round(cor(x_corr), 2)
[,1] [,2] [,3]
[1,] 1.00 -0.49 0.00
[2,] -0.49 1.00 -0.51
[3,] 0.00 -0.51 1.00
Agora vamos examinar os gráficos de laço para ambos os casos. Primeiro os dados não correlacionados
gnet_uncorr <- glmnet(x_uncorr, y_uncorr)
plot(gnet_uncorr)
Alguns recursos se destacam
- Os preditores entram no modelo na ordem de magnitude do verdadeiro coeficiente de regressão linear.
- ∑Eu| βEu|∑Eu|βEu|
- Quando um novo preditor entra no modelo, ele afeta a inclinação do caminho do coeficiente de todos os preditores que já estão no modelo de maneira determinística. Por exemplo, quando o segundo preditor entra no modelo, a inclinação do primeiro caminho do coeficiente é cortada pela metade. Quando o terceiro preditor entra no modelo, a inclinação do caminho do coeficiente é um terço do seu valor original.
Todos esses são fatos gerais que se aplicam à regressão do laço com dados não correlacionados e todos podem ser comprovados à mão (bom exercício!) Ou encontrados na literatura.
Agora vamos fazer dados correlatos
gnet_corr <- glmnet(x_corr, y_corr)
plot(gnet_corr)
Você pode ler algumas coisas deste gráfico comparando-o com o caso não relacionado
- O primeiro e o segundo caminhos do preditor têm a mesma estrutura do caso não correlacionado até o terceiro preditor entrar no modelo, mesmo estando correlacionados. Essa é uma característica especial do caso de dois preditores, que eu posso explicar em outra resposta, se houver interesse, isso me levaria um pouco longe da discussão atual.
- Σ | βEu|
Então agora vamos olhar para o seu gráfico a partir do conjunto de dados de carros e ler algumas coisas interessantes (reproduzi seu gráfico aqui para que esta discussão seja mais fácil de ler):
Uma palavra de advertência : escrevi a seguinte análise baseada na suposição de que as curvas mostram os coeficientes padronizados , neste exemplo eles não. Os coeficientes não padronizados não são adimensionais e comparáveis; portanto, nenhuma conclusão pode ser tirada deles em termos de importância preditiva. Para que a análise a seguir seja válida, finja que o gráfico é dos coeficientes padronizados e execute sua própria análise em caminhos de coeficientes padronizados.
- Como você diz, o
wt
preditor parece muito importante. Ele entra no modelo primeiro e tem uma descida lenta e constante até seu valor final. Ele tem algumas correlações que o tornam um passeio levemente acidentado, am
em particular parece ter um efeito drástico quando entra.
am
também é importante. Ele aparece mais tarde e está correlacionado com wt
, pois afeta a inclinação de wt
maneira violenta. Também está correlacionado com carb
e qsec
, porque não vemos o amolecimento previsível da inclinação quando eles entram. Após estas quatro variáveis entraram no entanto, nós não ver o padrão uncorrelated agradável, por isso parece ser não correlacionado com todos os preditores no final.
- Algo entra em torno de 2,25 no eixo x, mas o caminho em si é imperceptível, você só pode detectá-lo pelo efeito nos parâmetros
cyl
e wt
.
cyl
é bastante fascinante. Ele entra em segundo, então é importante para modelos pequenos. Depois que outras variáveis, e especialmente am
inseridas, não são mais tão importantes e sua tendência se inverte, sendo eventualmente removida. Parece que o efeito de cyl
pode ser completamente capturado pelas variáveis que entram no final do processo. Se é mais apropriado usar cyl
ou o grupo complementar de variáveis, realmente depende da troca de viés e variância. Ter o grupo em seu modelo final aumentaria significativamente sua variação, mas pode ser que o viés mais baixo o compense!
Essa é uma pequena introdução de como aprendi a ler informações desses gráficos. Eu acho que eles são muito divertidos!
Obrigado por uma ótima análise. Para relatar em termos simples, você diria que wt, am e cyl são os três preditores mais importantes de mpg. Além disso, se você deseja criar um modelo para previsão, quais incluirá com base nesta figura: wt, am e cyl? Ou alguma outra combinação. Além disso, você não parece precisar do melhor lambda para análise. Não é importante como na regressão de crista?
Eu diria que o caso wt
e am
são bem definidos, eles são importantes. cyl
é muito mais sutil, é importante em um modelo pequeno, mas não é relevante em um modelo grande.
Eu não seria capaz de determinar o que incluir com base apenas na figura, que realmente deve ser respondida no contexto do que você está fazendo. Você poderia dizer que, se você deseja um modelo de três preditores, então wt
, am
e cyl
são boas escolhas, pois são relevantes no grande esquema das coisas, e deve acabar tendo tamanhos de efeito razoáveis em um modelo pequeno. Isso se baseia na suposição de que você tenha algum motivo externo para desejar um pequeno modelo de três preditores.
É verdade que esse tipo de análise examina todo o espectro de lambdas e permite selecionar relacionamentos em uma variedade de complexidades do modelo. Dito isto, para um modelo final, acho que ajustar um lambda ideal é muito importante. Na ausência de outras restrições, eu definitivamente usaria a validação cruzada para descobrir onde, ao longo desse espectro, é o lambda mais preditivo e, em seguida, utilizá-lo para um modelo final e uma análise final.
λ
Por outro lado, às vezes existem restrições externas à complexidade de um modelo (custos de implementação, sistemas legados, minimalismo explicativo, interpretabilidade dos negócios, patrimônio estético) e esse tipo de inspeção pode realmente ajudá-lo a entender a forma de seus dados e as compensações que você está fazendo escolhendo um modelo menor que o ideal.
-1
emglmnet(as.matrix(mtcars[-1]), mtcars[,1])
.