Least Angle Regression, LASSO e multicolinearidade
Lucas Damiani [email protected] , Paulo Hubert [email protected]
6 de Maio de 2016
Se¸c˜ oes
Motiva¸c˜ao
Least Angle Regression Geometria do m´etodo LARS LARS no R
LARS e LASSO Referˆencias
Motiva¸c˜ ao
I O LASSO (Least absolute shrinkage and selection operator) ´e uma t´ecnica de regress˜ao multivariada, baseada numa
penaliza¸c˜ao simples sobre a fun¸c˜ao de erros quadr´aticos.
f(β) = 1
2||Y −Xβ||22+λ||β||1 (1)
I O parˆametroλcontrola a esparsidade do modelo. Seu valor ´e calculado tipicamente via t´ecnicas de cross validation.
I A medida que o valor de λ´e aumentado, novas vari´aveis v˜ao sendo eliminadas do modelo.
Motiva¸c˜ ao
I O problema do LASSO ´e formulado como um problema de otimiza¸c˜ao.
I N˜ao fica imediatamente claro quais as propriedades das vari´aveis preditoras que s˜ao mantidas no modelo mesmo quando restringimos fortemente a norma-1 do vetor de coeficientes.
Sele¸c˜ ao de vari´ aveis
Least Angle Regression
I Para entender como o m´etodo LASSO seleciona vari´aveis, vamos estudar a t´ecnica relacionada LARS:Least Angle Regression (Efron et al, (2004)).
I Esta t´ecnica permite a estima¸c˜ao simultˆanea de todas as estimativas do modelo LASSO. Al´em disso, ela lan¸ca luz `as propriedades do mesmo LASSO, fornecendo uma interpreta¸c˜ao geom´etrica para o procedimento de sele¸c˜ao de vari´aveis.
Least Angle Regression - Algoritmo
1. Sejay a vari´avel dependente, xi,i = 1, ... ,n as vari´aveis preditoras. Fa¸ca β1 = 0, ... , βn= 0 e calculer0 =y−y.¯ 2. Escolha o preditor xi que tem maior correla¸c˜ao com r0.
Chamemos este preditor dexk.
3. Mova βxk na dire¸c˜ao de seu estimador de quadrados m´ınimos hxk,r0i, at´e que alguma outra vari´avelxi tenha correla¸c˜ao com r1=r0−βxk·xk t˜ao grande quanto xk. Seja xj esta vari´avel.
4. Mova βxk e βxj em conjunto na dire¸c˜ao de seu estimador de quadrados m´ınimoshxk,xji at´e que outra vari´avel tenha correla¸c˜ao comr2=r1−βxk ·xk+βxj·xj t˜ao grande quanto xk e xj.
5. Prossiga incluindo novas vari´aveis segundo esse m´etodo at´e que todos os preditores tenham sido inclu´ıdos.
Least Angle Regression
I Partindo do vetor nulo, o m´etodo LARS come¸ca por aumentar o coeficiente relacionado `a vari´avel preditoramais
correlacionada com a vari´avel dependente.
I O coeficiente caminha na dire¸c˜ao do estimador de m´ınimos quadrados, at´e que um novo candidato tenha correla¸c˜ao alta com o atual res´ıduo.
I As vari´aveis preditoras entram no modelo conforme suas correla¸c˜oes com o res´ıduo do passo anterior.
I A dire¸c˜ao de crescimento dos coeficientes ´e alterada quando uma nova vari´avel entra no modelo.
LAR e Forward Stepwise
I O LAR funciona de maneira similar ao m´etodo simples do Forward stepwise para sele¸c˜ao de vari´aveis.
I No m´etodo forward stepwise, a vari´avel candidata a entrar no modelo tamb´em ´e escolhida a partir da correla¸c˜ao desta vari´avel com o res´ıduo do passo anterior.
I A diferen¸ca ´e que, ao contr´ario do LAR, o forward stepwise estima o coeficiente de m´ınimos quadrados inteiro antes de avaliar o res´ıduo.
Geometria do LARS
I SejaAk o conjunto das vari´aveis ativas no modelo no in´ıcio do passo k. Seja βAk o vetor de coeficientes associados a Ak.
I O vetorβAk tem k−1 entradas n˜ao-nulas. A k-´esima
entrada, referente `a vari´avel que acabou de entrar no modelo, tamb´em ter´a valor 0.
I rk =y−XAk ·βAk ´e o res´ıduo no in´ıcio do passo k. Ent˜ao, a dire¸c˜ao para os coeficientes nesse passo ser´a
δk = XAT
kXAk−1
XAT
k ·rk (2)
Geometria do LARS
I O vetor de coeficientes no passo k ´e dado por
βAk(α) =βAk+α·δk. O vetor de valores ajustados ´e fˆk(α) = ˆfk +α·uk, com uk =XAkδk.
I O vetoruk faz omenor ˆangulo(e igual) com todas as vari´aveis preditoras emAk. ´E desta observa¸c˜ao que surge o nome do m´etodo.
I E f´´ acil verificar que a dire¸c˜ao δk mant´em as correla¸c˜oes fixas e decrescentes.
Geometria do LARS
N˜ao ´e necess´ario realizar a busca linear iterativa para encontrar o novo vetor de coeficientes. O tamanho exato do passoα´e dado por
α=min+j∈AC
k
( Cˆ−cˆj
VAk−aj, Cˆ−cˆj VAk +aj
)
(3) com ˆc =XT(y−fˆk), ˆC =maxj{|ˆcj|},a=XTfˆk. Aqui, o min+ representa o m´ınimo tomado apenas entre os componentes positivos dentro de cada escolha dej.
Geometria do LARS
Al´em disso, pode-se tamb´em verificar que as novas correla¸c˜oes (das vari´aveis que j´a est˜ao no modelo) s˜ao dadas por
ˆ
cj(α) =xjT(y−fˆ(α)) = ˆcj −αaj (4) Ou seja, as correla¸c˜oes decrescem de maneira uniforme (note que a cada passo todas as vari´aveis no conjunto ativo tˆem correla¸c˜ao igual com o res´ıduo do passo anterior).
Exemplo: LARS usando R
I A biblioteca lars do R faz ajustes do Least Angle Regression.
I Vamos utilizar dados simulados para ilustrar o comportamento do LARS.
I Primeiro conjunto de dados: quatro preditores independentes.
Y = 4X1+ 3X2+ 2X3+X4+ (5) com ∼N(0; 0.1).
I ρx1,y > ρx2,y > ρx3,y > ρx4,y.
Exemplo: LARS usando R
A sintaxe da fun¸c˜aolars´e a seguinte:
mod1 =lars(x, y, type = c(“lasso”, “lar”, “forward.stepwise”,
“stepwise”), intercept = T, normalize = T, ...)
Exemplo: LARS usando R
plot(mod1)
Exemplo: LARS usando R
Tabela:Coeficientes do m´etodo LARS (ordem de entrada no modelo:
x1,x2,x3,x4)
Passo X1 X2 X3 X4
1 0.8143 0.0000 0.0000 0.0000 2 1.9100 1.0597 0.0000 0.0000 3 2.9391 2.0443 0.9781 0.0000 4 3.9955 3.0042 1.9959 1.0014
Exemplo: LARS usando R
Tabela:Correla¸c˜oes do m´etodo LARS (ordem de entrada no modelo:
x1,x2,x3,x4)
Passo X1 X2 X3 X4
0 0.7499 0.5449 0.3881 0.1765 1 0.6336 0.6336 0.4430 0.2057 2 0.5685 0.5684 0.5686 0.2723 3 0.5080 0.5080 0.5081 0.5083
Exemplo: LARS usando R
I Conforme esperado, as vari´aveis foram inclu´ıdas no modelo na ordem decrescente de seu poder explicativo.
I Al´em disso, verificamos que as correla¸c˜oes no conjunto ativo se mantˆem iguais a cada passo. Os coeficientes aumentam progressivamente at´e atingir o valor da estimativa de quadrados m´ınimos (shrinkage).
LARS e LASSO
I Ainda em Efron et al (2004), os autores mostram como uma simples modifica¸c˜ao no algoritmo do LARS faz com que seus resultados coincidam exatamente com os resultados do LASSO.
I A partir dessa modifica¸c˜ao, pode-se verificar que uma rodada completa do algoritmo LARS resulta na simula¸c˜ao de todos os modelos LASSO p´ara todos os poss´ıveis valores de λ.
I Para entender como funciona essa modifica¸c˜ao, vamos analisar as propriedades do LARS.
LARS e LASSO
I Se A´e o conjunto de vari´aveis ativas num determinado momento do algoritmo LARS, sabemos que todas as vari´aveis nesse conjunto tˆem correla¸c˜ao de mesmo valor absoluto com o res´ıduo atual do modelo, y−XAβA.
I Admitindo que todas as vari´aveis est˜ao normalizadas, essa afirma¸c˜ao ´e equivalente a
xjT(y−XAβA) =γ·sj ∀j ∈A (6) onde γ ´e o valor absoluto da correla¸c˜ao, e sj ∈ {−1,1}´e o seu respectivo sinal
LARS e LASSO
I Al´em disso, sabemos que |xkT(y−XAβA)|< γ para k ∈/A.
I Avaliando o crit´erio do LASSO em forma vetorial, temos f(β) = 1
2||y−Xβ||22+λ||β||1 (7)
I SejaB o conjunto de vari´aveis ativas para um dado valor de λ no algoritmo LASSO. Temos ent˜ao que, sexk ∈/ B, o crit´erio de estacionariedade para f(β) ´e
|xkT(y−Xβ)| ≤λ∀k ∈/B (8) o que concorda com a equa¸c˜ao acima para γ.
LARS e LASSO
I No caso das vari´aveis ativas, o crit´erio do LASSO ´e diretamente diferenci´avel, e resulta na condi¸c˜ao de estacionariedade
xjT(y−Xβ) =λ·sgn(βj) ∀j ∈B (9)
I Este crit´erio concorda com a propriedade 6 se e somente se sgn(βj) =sj.
I No m´etodo LARS, se um coeficiente muda de sinal, a dire¸c˜ao de busca permanece a mesma. No caso do LASSO, por´em, quando um coeficiente atinge o valor 0, ele ´e descartado do conjunto de vari´aveis ativas.
LARS e LASSO
I E apenas neste ponto que os dois m´´ etodos diferem. A corre¸c˜ao para este problema ´e simples.
I Para tornar os resultados do m´etodo LARS idˆentico aos do LASSO, basta fazer a seguinte altera¸c˜ao:
Se em algum ponto do algoritmo LARS um coeficiente tornar-se 0, descarte a vari´avel correspondente e recalcule a dire¸c˜ao de busca.
LARS e LASSO
LAR/LASSO e multicolinearidade
I A solu¸c˜ao de m´ınimos quadrados considerando vari´aveis explicativas colineares entre si possui alto erro padr˜ao. (p:
n´umero de parˆametros)
E( ˆβ−β)2 ↑,p ↑ (10)
I Para avaliar o efeito da multicolinearidade fizemos algumas simula¸c˜oes.
LAR/LASSO para Multicolinearidade
β = (1,1,0,1,1,0,1,1,0)T y =Xβ+e
e ∼N(0,I)
LAR/LASSO para Multicolinearidade
β = (1,1,0,1,1,0,1,1,0)T y =Xβ+e
e ∼N(0,Σr=0.5,σ=1)
LAR/LASSO para Multicolinearidade
β = (1,1,0,1,1,0,1,1,0)T y =Xβ+e
e ∼N(0,Σr=0.9,sigma=1)
LAR/LASSO para Multicolinearidade
β = (1,1,0,1,1,0,1,1,0)T y =Xβ+e
e ∼N(0,Σr=0,sigma=5)
LAR/LASSO para Multicolinearidade
β = (1,1,0,1,1,0,1,1,0)T y =Xβ+e
e ∼N(0,Σr=0.5,sigma=5)
LAR/LASSO para Multicolinearidade
β = (1,1,0,1,1,0,1,1,0)T y =Xβ+e
e ∼N(0,Σr=0.9,sigma=5)
LAR/LASSO e multicolinearidade
I Exemplo com banco de dados real:
I 26 pontos de temperatura da face para diagn´ostico de DTM [binomial/ log´ıstica: glmnet(..., family=”binomial”) ]
I Ou 26 pontos padronizados pela temperatura dos olhos.
Referˆ encias
Efron, B., Hastie, T., Johnstone, I., Tibshirani, R. Least Angle Regression, The Annals of Statistics 32 (2) pp.407-451 (2004)
Hastie, T., Tibshirani, R. Friedman, J. The Elements of Statistical Learning, 2nd edition, Springer Verlag (2008)