Glmnet kullanarak bir Kement'in sonuçları nasıl sunulur?


40

30 bağımsız değişken kümesinden sürekli bir bağımlı değişken için tahmincileri bulmak istiyorum. R'deki glmnet paketinde uygulanan Lasso regresyonunu kullanıyorum . İşte bazı boş kod:

# generate a dummy dataset with 30 predictors (10 useful & 20 useless) 
y=rnorm(100)
x1=matrix(rnorm(100*20),100,20)
x2=matrix(y+rnorm(100*10),100,10)
x=cbind(x1,x2)

# use crossvalidation to find the best lambda
library(glmnet)
cv <- cv.glmnet(x,y,alpha=1,nfolds=10)
l <- cv$lambda.min
alpha=1

# fit the model
fits <- glmnet( x, y, family="gaussian", alpha=alpha, nlambda=100)
res <- predict(fits, s=l, type="coefficients")
res 

Benim sorum, çıktının nasıl yorumlanacağıdır:

  • Son çıktıda sıfırdan farklı bir katsayı gösteren tüm tahmincilerin bağımlı değişkenle ilişkili olduğunu söylemek doğru mudur?

  • Bu bir dergi yayını bağlamında yeterli bir rapor olur mu? Yoksa katsayıların önemi için test istatistikleri sağlaması bekleniyor mu? (İçerik insan genetiğidir)

  • Önem iddia etmek için p değerleri veya başka bir test istatistiği hesaplamak mantıklı mıdır? Bu nasıl mümkün olabilir? R'de bir prosedür uygulanıyor mu?

  • Her öngörücü için basit bir regresyon grafiği (doğrusal bir uyumla çizilen veri noktaları) bu verileri görselleştirmek için uygun bir yol olabilir mi?

  • Belki birileri Lasso'nun bazı gerçek veriler bağlamında kullanıldığını ve bunun bir dergide nasıl bildirileceğini gösteren yayınlanmış makalelerin bazı kolay örneklerini sunabilir?


Neden glmnet'i "modele uyar" bölümü altında çalıştırıyorsunuz? cvTahmin adımı için de kullanamaz mısın?
bourbaki4481472

Yanıtlar:


22

Anladığım kadarıyla, hangi değişkenlerin “önemli” olduğu veya katsayılarının sıfır olmadığına bağlı olarak “gerçek” etkilerin olduğu konusunda çok fazla şey söyleyemezsiniz. Aşırı bir örnek vermek gerekirse, tam olarak kolinear olan iki öngörücünüz varsa, kement tam ağırlık almak için bunlardan birini esasen rasgele seçecek, diğeri sıfır ağırlık alacaktır.

Glmnet yazarlarından birini içeren bu makale , bazı glmnet tabanlı analizler sunmaktadır (özellikle bakınız: Giriş, Bölüm 2.3 ve 4.3 ve Tablo 4 ve 5). Gözden geçirildiğinde, P-değerini doğrudan glmnet modelinden hesaplayamamış gibi görünüyorlar. Diğer yöntemleri kullanarak iki farklı P-değeri hesapladılar, ancak her ikisine de tamamen güvenmiş gibi görünmüyorlar.

Çizim yöntemleri konusunda ne önerdiğinizden% 100 emin değilim, ancak bunun kulağa mantıklı geldiğini düşünüyorum.

Umarım yardımcı olur.


1
Merhaba David! Cevap için teşekkürler. Herhangi bir şey LASSO'yu sıfır olmayan katsayılı prediktörlerin seçimi için kullanmaya karşı konuşacak ve daha sonra, sadece prediktörlerin önemi ile ilgili p değerleri elde etmek için doğrusal regresyon modelindeki prediktörleri kullanacaktır. Örneğin, bu makale: ncbi.nlm.nih.gov/pmc/articles/PMC3412288
şakacı

4
@jokel Bence önerdiğin şeyin "rahat kement" in özel bir örneği olduğunu düşünüyorum, ve bazı amaçlar için çok iyi çalışabileceğini düşünüyorum. Açıkladığınız prosedürden elde edeceğiniz p değerlerine güvenebileceğinizden emin değilim, çünkü F istatistikleriniz veya t istatistikleriniz, yaptığınız değişken seçim aşaması hakkında "bilmez" ve Tip-I hata oranı şişirilecektir. Bunu düşünmenin bir yolu: F istatistiği için doğru serbestlik dereceleri ne olabilir? LASSO regresyonundaki toplam değişken sayısı? İkincil regresyonda değişkenlerin sayısı? Arasında bir şey var mı?
David J. Harris

Doğru - yani bu da geçerli bir yaklaşım gibi görünmüyor. 300 bağımsız değişkenden önemli prediktörlerin nasıl bulunacağı hakkında başka bir fikriniz var mı (yukarıdaki örnekte olduğu gibi)? Sonunda şunu iddia edebilirim: "X belirleyicisi, bağımlı Y değişkeniyle önemli ölçüde ilişkilidir"?
şaka

Hesaplamaları nasıl yapacağımı bilmediğim her şeye cevabım randomizasyon yapmak. Bir olasılık, veri setinizin satırlarını yeniden örneklemektir (ör. Bootstrapping ile) ve LASSO analizlerini tekrar tekrar çalıştırmak olabilir. Değişken modele ne kadar sık ​​dahil edilirse, önemli olması o kadar olasıdır. Daha da iyi bir seçenek , "maskeleme" efektlerinin önlenmesine yardımcı olabilecek satır ve sütunların birleştirilmesini içerebilir . Breiman [pdf] 'de benzer bir damarda bir şey önerir (Şekil 2'ye yakın) ( faculty.smu.edu/tfomby/eco5385/lecture/… ).
David J. Harris

9

Sadece LASSO için bir test istatistiği geliştirmeye çalışılan ve yapılan özellik seçimini dikkate alan yeni bir çalışma olduğunu belirtmek istedim:

Kement için bir önemlilik testi. Richard Lockhart, Jonathan Taylor, Ryan J. Tibshirani, Robert Tibshirani. http://arxiv.org/abs/1301.7161

Ancak bunun uygulamalı çalışmalarda kullanıldığını henüz görmedim, oysaki önyükleme kesinlikle kullanılıyor.


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.