LASSO, aynı sorunlardan adım adım geriliyor mu?


18

Kademeli algoritmik değişken seçim yöntemleri, regresyon modellerinde ( ve SE'leri, p -değerleri, F istatistikleri vb.) Her tahmini az veya çok eğilimli olan ve gerçek tahmin edicileri hariç tutma olasılığı yüksek olan modelleri seçme eğilimindedir oldukça olgun bir simülasyon literatürüne göre yanlış öngörücüler içerir.β

LASSO, değişkenleri seçmek için kullanıldığında aynı şekilde acı çekiyor mu?


3
Bence öyle. Frank Harrell'in bu konuda bazı yayınları var ve bence "Regresyon modelleme stratejileri" kitabında ilgili materyaller olabilir.
Richard Hardy

2
@RichardHardy +1 FrankHarrell tarafından sallanıp yorum veya cevap verse çok sevinirim. :)
Alexis

5
Bu konuyu ele alan yeni bir konuşmam var. Alt satır: Kementin "doğru" değişkenleri seçme olasılığı düşüktür. Slaytlar fharrell.com/talk/stratos19 adresinde
Frank Harrell

4
"Sonuç olarak: Kement" doğru "değişkenleri seçme olasılığı düşüktür: Aynı konu üzerinde İstatistiksel Sparsity Öğrenme ( web.stanford.edu/~hastie/StatLearnSparsity_files/… ),11.4.1 Variable-Selection Consistency for the Lasso
Adrian

2
Ayrıca "Alt satır: kement" doğru "değişkenleri seçme olasılığı düşüktür: bkz. Statweb.stanford.edu/~candes/stats300c/Lectures/Lecture24.pdf vaka çalışmaları 1 ve 2
Adrian

Yanıtlar:


3

Bir LASSO modeli ve aşamalı regresyon için, sıklık olasılığı, p-değerleri vb. İfadelerin olasılık yorumu doğru değildir .

Bu ifadeler olasılığı fazla tahmin ediyor. Örneğin, bazı parametreler için% 95 güven aralığı, yöntemin o aralık içindeki gerçek model değişkeni ile bir aralık ile sonuçlanma olasılığının% 95 olduğunu varsayar.

Bununla birlikte, takılan modeller tipik bir tek hipotezden kaynaklanmaz ve bunun yerine kademeli regresyon veya LASSO regresyonu yaptığımızda kiraz toplama (birçok olası alternatif modelden birini seçiyoruz).


  1. Model parametrelerinin doğruluğunu değerlendirmek çok mantıklı değildir (özellikle modelin doğru olmadığı muhtemel olduğunda).

    Daha sonra açıklanacak olan aşağıdaki örnekte, model birçok regresöre takılmıştır ve çoklu doğrusallıktan 'muzdariptir'. Bu, modelde gerçekten modelde olanın yerine komşu bir regresörün (güçlü bir şekilde korelasyonlu) seçilmesini mümkün kılar. Güçlü bir korelasyon önemli bir hata / varyans için katsayılar neden olur (matrisine ilişkin (XTX)-1 ).

    Bu daha küçük bir tasarım matris dayanmaktadır, çünkü Ancak, multicollionearity için bu yüksek varyans, p-değerleri ya da katsayıların standart hata gibi teşhis 'görülen' değildir X ile daha az regresyonu. (ve LASSO için bu tür istatistikleri hesaplamak için kolay bir yöntem yoktur )

    Örnek: 10 Gauss eğrisinin doğrusal toplamı olan bir sinyal için bir oyuncak modelinin sonuçlarını gösteren aşağıdaki grafik (bu, örneğin, bir spektrum için bir sinyalin doğrusal bir toplam olduğu düşünülen kimyadaki bir analize benzeyebilir. birkaç bileşen). 10 eğrinin sinyali LASSO kullanılarak 100 bileşenli bir model (farklı ortalamalara sahip Gauss eğrileri) ile donatılmıştır. Sinyal iyi tahmin edilmiştir (makul derecede yakın olan kırmızı ve siyah eğriyi karşılaştırın). Ancak, asıl temel katsayılar iyi tahmin edilmemiştir ve tamamen yanlış olabilir (kırmızı ve siyah çubukları aynı olmayan noktalarla karşılaştırın). Ayrıca bkz. Son 10 katsayı:

                  91     91     92     93     94     95     96     97     98     99     100
     true model   0      0      0      0      0      0      0      142.8  0      0      0
     fitted       0      0      0      0      0      0      129.7  6.9    0      0      0

    LASSO modeli çok yakın olan katsayıları seçer, ancak katsayıların kendileri açısından sıfır olmaması gereken bir katsayının sıfır olduğu ve sıfır olması gereken bir komşu katsayının tahmin edildiği büyük bir hata anlamına gelir. sıfır olmayan. Katsayılar için herhangi bir güven aralığı çok az mantıklı olacaktır.

    LASSO bağlantısı

    örnek kement / glmnet

    Kademeli montaj

    Bir karşılaştırma olarak, aynı eğri aşağıdaki görüntüye giden kademeli bir algoritma ile donatılabilir. (katsayıların yakın olduğu ancak eşleşmediği benzer problemlerle)

    örnek nnls

  2. Eğrinin doğruluğunu göz önünde bulundursanız bile (önceki noktada mantıklı olmadığı açıkça belirtilmiş parametreler yerine), aşırı sığdırma ile uğraşmak zorundasınız. LASSO ile bir montaj prosedürü yaptığınızda, eğitim verilerini (farklı parametrelere sahip modelleri sığdırmak için) ve test / doğrulama verilerini (hangisinin en iyi parametre olduğunu ayarlamak / bulmak için) kullanırsınız, ancak üçüncü bir ayrı set de kullanmalısınız. test / doğrulama verilerinin

    Bir p-değeri ya da simüler bir şey işe yaramayacaktır çünkü kiraz toplama ve düzenli doğrusal montaj yönteminden farklı (çok daha büyük serbestlik dereceleri) ayarlanmış bir model üzerinde çalışıyorsunuz.


kademeli olarak aynı sorunlardan muzdarip regresyon mu?

R,2

LASSO'nun kademeli regresyon yerine kullanılmasının ana nedeninin, LASSO'nun daha az açgözlü bir parametre seçimine izin verdiği, bu da çok sıralılıktan daha az etkilendiğini düşündüm. (LASSO ile aşamalı olarak daha fazla farklılık: LASSO'nun ileri seçim / geriye doğru eliminasyona göre modelin çapraz doğrulama tahmini hatası açısından üstünlüğü )


Örnek resim kodu

# settings
library(glmnet)
n <- 10^2        # number of regressors/vectors
m <- 2         # multiplier for number of datapoints
nel <- 10        # number of elements in the model
set.seed(1)   
sig <- 4
t <- seq(0,n,length.out=m*n)

# vectors
X <- sapply(1:n, FUN <- function(x) dnorm(t,x,sig))

# some random function with nel elements, with Poisson noise added
par <- sample(1:n,nel)
coef <- rep(0,n)
coef[par] <- rnorm(nel,10,5)^2
Y <- rpois(n*m,X %*% coef)

# LASSO cross validation
fit <- cv.glmnet(X,Y, lower.limits=0, intercept=FALSE, 
                 alpha=1, nfolds=5, lambda=exp(seq(-4,4,0.1)))
plot(fit$lambda, fit$cvm,log="xy")
plot(fit)
Yfit <- (X %*% coef(fit)[-1])

# non negative least squares 
# (uses a stepwise algorithm or should be equivalent to stepwise)
fit2<-nnls(X,Y)


# plotting
par(mgp=c(0.3,0.0,0), mar=c(2,4.1,0.2,2.1))
layout(matrix(1:2,2),heights=c(1,0.55))


plot(t,Y,pch=21,col=rgb(0,0,0,0.3),bg=rgb(0,0,0,0.3),cex=0.7,
     xaxt = "n", yaxt = "n", 
     ylab="", xlab = "",bty="n")      
#lines(t,Yfit,col=2,lwd=2)                        # fitted mean
lines(t,X %*% coef,lwd=2)                        # true mean
lines(t,X %*% coef(fit2), col=3,lwd=2)           # 2nd fit

  # add coefficients in the plot
for (i in 1:n) {
  if (coef[i] > 0) {
    lines(c(i,i),c(0,coef[i])*dnorm(0,0,sig))
    points(i,coef[i]*dnorm(0,0,sig), pch=21, col=1,bg="white",cex=1)
  }
  if (coef(fit)[i+1] > 0) {
#    lines(c(i,i),c(0,coef(fit)[i+1])*dnorm(0,0,sig),col=2)
#    points(i,coef(fit)[i+1]*dnorm(0,0,sig), pch=21, col=2,bg="white",cex=1)
  }
  if (coef(fit2)[i+1] > 0) {
    lines(c(i,i),c(0,coef(fit2)[i+1])*dnorm(0,0,sig),col=3)
    points(i,coef(fit2)[i+1]*dnorm(0,0,sig), pch=21, col=3,bg="white",cex=1)
  }

}

#Arrows(85,23,85-6,23+10,-0.2,col=1,cex=0.5,arr.length=0.1)
#Arrows(86.5,33,86.5-6,33+10,-0.2,col=2,cex=0.5,arr.length=0.1)
#text(85-6,23+10,"true coefficient", pos=2, cex=0.7,col=1)
#text(86.5-6,33+10, "fitted coefficient", pos=2, cex=0.7,col=2)

text(0,50, "signal versus position\n true mean (black), fitted with nnls (green)", cex=1,col=1,pos=4, font=2)



plot(-100,-100,pch=21,col=1,bg="white",cex=0.7,type="l",lwd=2,
     xaxt = "n", yaxt = "n", 
     ylab="", xlab = "",
     ylim=c(0,max(coef(fit)))*dnorm(0,0,sig),xlim=c(0,n),bty="n") 
#lines(t,X %*% coef,lwd=2,col=2)      

for (i in 1:n) {
  if (coef[i] > 0) {
    lines(t,X[,i]*coef[i],lty=1)
  }
  if (coef(fit)[i+1] > 0) {
#    lines(t,X[,i]*coef(fit)[i+1],col=2,lty=1)
  }
  if (coef(fit2)[i+1] > 0) {
    lines(t,X[,i]*coef(fit2)[i+1],col=3,lty=1)
  }

}

text(0,33, "illustration of seperate components/curves", cex=1,col=1,pos=4, font=2)

+1 Teşekkür ederim Martjin Wterings. Grafiği biraz yükseltebilir misiniz? Eksenlerde ne gösterilir, hangi renk temsil edilir, vb?
Alexis

Aslında grafik bir LASSO örneği değil. Bununla birlikte, bir modelin bir Gauss eğrilerinin (biraz farklı ortalamaya sahip eğrilerin çok ilişkili olduğu) birkaç bileşenin toplamı olabileceği ve bu bileşenlerin ortalamasındaki bir değişimin katsayı için büyük bir değişiklik anlamına geldiği bir örnektir. ama eğri için çok fazla değil.
Sextus Empiricus

1
Çubuklar, doğru ve gömülü model için katsayıların değeridir. Bu prensibin meydana geldiğini hatırladığım görüntü budur. Kendimi daha net gösterebilecek bir örnek yapacağım (daha az açgözlü olan LASSO'nun gerçek katsayıları temsil etmede biraz daha iyi performans gösterebileceğinden şüpheleniyorum).
Sextus Empiricus

0

Bunu ele alan yeni bir konuşmam var. Alt satır: Kementin "doğru" değişkenleri seçme olasılığı düşüktür. Slaytlar http://fharrell.com/talk/stratos19 adresindedir.

- Frank Harrell

"Alt satır: lasso'nun" doğru "değişkenleri" seçme olasılığı düşüktür: Aynı konu üzerinde, Parçalı İstatistiksel Öğrenme'de ( https://web.stanford.edu/~hastie/StatLearnSparsity_files/SLS_corrected_1) bir bölüm var . 4.16.pdf ), 11.4.1 Variable-Selection Consistency for the Lasso

- Adrian

Ayrıca "Alt satır: kement" doğru "değişkenleri seçme olasılığı düşüktür: bakınız https://statweb.stanford.edu/~candes/teaching/stats300c/Lectures/Lecture24.pdf vaka çalışmaları 1 ve 2

- Adrian


1
Bu yorumları bir topluluk wiki yanıtı olarak kopyaladım çünkü az çok bu sorunun cevabı. Cevaplar ve sorular arasında dramatik bir boşluk var. Sorunun en azından bir kısmı, bazı soruların yorumlarda yanıtlanmasıdır: soruyu cevaplayan yorumlar cevaplar olsaydı, daha az cevaplanmamış soru olurdu.
mkt - Monica

1
Bunlar yorumlardır ve toplu halde bile CV standartlarına cevap vermezler (örneğin, bağlantılar cevap değildir). Ayrıca: Soruların cevaplanma oranından memnuniyetsizliğiniz nedeniyle bir topluluk wiki'sine mükemmel geçerli bir soru yapmamaya gayret ediyorum.
Alexis

1
Ayrıca: Topluluk wiki'si ve topluluk wiki cevapları hakkında eğitim aldım ve buradaki anlaşmazlığımı geri çekiyorum (yine de bunun bir cevap olduğunu düşünmüyorum :).
Alexis

1
@Alexis Fair yeterince - Ben kendim gri bir alan olduğunu düşündüm ama bu yanlış değerlendirmiş olabilir.
mkt - Monica'yı geri

1
Hepimiz öğreniyoruz. :)
Alexis
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.