Notez que
∥y−Xβ∥22+λ∥β∥1=∥y−β1x1−β2x2∥22+λ(|β1|+|β2|)=∥y−(β1+2β2)x1∥22+λ(|β1|+|β2|).
Pour toute valeur fixe du coefficient , la pénalitéest minimisé lorsque . En effet, la pénalité sur est deux fois plus pondérée! Pour mettre cela en notation,satisfait pour tout . Par conséquent, l'estimateur au lasso
β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|)}}
satisfait . La raison pour laquelle les commentaires à la question de OP sont trompeurs est qu'il y a une pénalité sur le modèle: ceux
β^1=0(0,50)et coefficients donnent la même erreur, mais une norme différente ! De plus, il n'est pas nécessaire de regarder quoi que ce soit comme les LAR: ce résultat découle immédiatement des premiers principes.
(100,0)ℓ1
Comme l'a souligné Firebug, la raison pour laquelle votre simulation montre un résultat contradictoire est qu'elle met glmnet
automatiquement à l'échelle la variance unitaire des fonctionnalités. Autrement dit, en raison de l'utilisation de glmnet
, nous sommes effectivement dans le cas où . Là, l'estimateur n'est plus unique: et sont tous deux dans l'arg min. En effet, est dans le pour tout tel que .x1=x2(100,0)(0,100)(a,b)argmina,b≥0a+b=100
Dans ce cas de caractéristiques égales, glmnet
convergera en une seule itération: il seuil doucement le premier coefficient, puis le deuxième coefficient est mis à zéro par seuil doux.
Cela explique pourquoi la simulation a trouvé en particulier. En effet, le deuxième coefficient sera toujours nul, quel que soit l'ordre des caractéristiques.β^2=0
Preuve: supposons WLOG que la fonctionnalité satisfait . La descente de coordonnées (l'algorithme utilisé par ) calcule pour sa première itération: suivi de
où . Alors, puisquex∈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 deuxième itération de la descente de coordonnées répétera les calculs ci-dessus. Inductivement, nous voyons que pour toutes les itérations et . Par conséquent , rapportera et puisque le critère d'arrêt est immédiatement atteint.
β^(i)j=β^(i)jij∈{1,2}glmnet
β^1=β^(1)1β^2=β^(1)2