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 glmnetse 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, glmnetconvergerá 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