Observe que
∥y−Xβ∥22+λ∥β∥1=∥y−β1x1−β2x2∥22+λ(|β1|+|β2|)=∥y−(β1+2β2)x1∥22+λ(|β1|+|β2|).
Para cualquier valor fijo del coeficiente , la penalizaciónse minimiza cuando . Esto se debe a que la penalización en es dos veces mayor. Para poner esto en notación,satisface para cualquier . Por lo tanto, el estimador de lazo
β1+2β2|β1|+|β2|β1=0β1
β~=argminβ:β1+2β2=K|β1|+|β2|
β~1=0Kβ^=argminβ∈Rp∥y−Xβ∥22+λ∥β∥1=argminβ∈Rp∥y−(β1+2β2)x1∥22+λ(|β1|+|β2|)=argβminK∈Rminβ∈Rp:β1+2β2=K∥y−Kx1∥22+λ(|β1|+|β2|)=argβminK∈R{∥y−Kx1∥22+λminβ∈Rp:β1+2β2=K{(|β1|+|β2|)}}
satisface . La razón por la cual los comentarios a la pregunta de OP son engañosos es porque hay una penalización en el modelo: esos
β^1=0(0,50)y coeficientes dan el mismo error, ¡pero diferente norma! Además, no es necesario mirar nada parecido a los LAR: este resultado se deduce inmediatamente de los primeros principios.
(100,0)ℓ1
Como lo señala Firebug, la razón por la cual su simulación muestra un resultado contradictorio es que glmnet
se ajusta automáticamente a las características de la varianza unitaria. Es decir, debido al uso de glmnet
, estamos efectivamente en el caso de que . Allí, el estimador ya no es único: y están en el argumento min. De hecho, está en para cualquier tal que .x1=x2(100,0)(0,100)(a,b)argmina,b≥0a+b=100
En este caso de características iguales, glmnet
convergerá exactamente en una iteración: aplica un umbral suave al primer coeficiente y luego el segundo coeficiente se aplica un umbral suave a cero.
Esto explica por qué la simulación encontró en particular. De hecho, el segundo coeficiente siempre será cero, independientemente del orden de las características.β^2=0
Prueba: suponga WLOG que la función satisface . El descenso coordinado (el algoritmo usado por ) calcula para su primera iteración: seguido de
donde . Entonces, desdex∈Rn∥x∥2=1glmnet
β^(1)1=Sλ(xTy)
β^(1)2=Sλ[xT(y−xSλ(xTy))]=Sλ[xTy−xTx(xTy+T)]=Sλ[−T]=0,
T=⎧⎩⎨−λλ0 if xTy>λ if xTy<−λ otherwiseβ^(1)2=0, la segunda iteración de descenso de coordenadas repetirá los cálculos anteriores. Inductivamente, vemos que para todas las iteraciones y . Por lo tanto , informará y ya que se alcanza inmediatamente el criterio de detención.
β^(i)j=β^(i)jij∈{1,2}glmnet
β^1=β^(1)1β^2=β^(1)2