Bu kement çiziminden ne sonuçlandırılır (glmnet)


19

Aşağıda, r'de DV ve diğerleri ile öngörücü değişkenler olarak mtcarsayarlanmış verileri kullanan varsayılan alfa (1, dolayısıyla kement) bulunan glmnet'in çizimi verilmiştir mpg.

glmnet(as.matrix(mtcars[-1]), mtcars[,1])

resim açıklamasını buraya girin

Ne özellikle, farklı değişkenlere ilişkin bu taslaktan sonuca varabiliriz am, cylve wt(kırmızı, siyah ve açık mavi çizgiler)? Bir rapordaki çıktıyı yayınlanması için nasıl ifade ederiz?

Aşağıdakileri düşündüm:

  1. wten önemli yordayıcısıdır mpg. Olumsuz etkiler mpg.

  2. cylzayıf bir negatif yordayıcıdır mpg.

  3. amolumlu bir yordayıcı olabilir mpg.

  4. Diğer değişkenler, sağlam öngörücüler değildir mpg.

Bu konudaki düşünceleriniz için teşekkürler.

(Not: cylçok yakın olana kadar 0'a ulaşmayan siyah çizgidir.)

Düzenleme: Aşağıda, yukarıdaki grafiğin tersi sırayla x eksenini gösteren çizim (mod, xvar = 'lambda') yer almaktadır:

resim açıklamasını buraya girin

(PS: Bu soruyu ilginç / önemli buluyorsanız lütfen oy verin;)


Daha önce bir virgül unuttum gibi görünüyor -1içinde glmnet(as.matrix(mtcars[-1]), mtcars[,1]).
Richard Hardy

Virgül verilmezse, R sayının sütun numarası olduğunu varsayar, böylece çalışır.
rnso

Güzel, şimdi daha önce yapmadım.
Richard Hardy

2
@RichardHardy dikkatli olun; bu davranış veri çerçeveleri ve matrisler için farklıdır. Bu nedenle, bir veri çerçevesi bir listesi ve her sütun bu listenin bir elemandır my_data_frame[1], oysa bir sütun ile bir veri çerçevesi döner my_data_frame[[1]]ve my_data_frame[, 1]her iki dönüş için bir vektör olup , bir veri çerçevesi tarafından "kapalı". Matrisler, ancak, aslında çok, bir tablo gibi erişim onları için Ar sağlayan özel özniteliği ile sadece düz vektörler vardır my_matrix[1], my_matrix[1, 1]ve my_matrix[[1]]tüm birinci dönecektir elemanı arasında my_matrix. my_matrix[, 1] ilk sütunu döndürür.
shadowtalker

2
Ben sadece plotmo paketindeki plot_glmnet fonksiyonunun biraz daha iyi katsayı grafikleri verdiğinden bahsetmiştim çünkü etiketin üst çizilmesi ve diğer bazı detaylarla ilgileniyor. Örnekler plotres skeçinde Bölüm 6'da bulunabilir .
Stephen Milborrow

Yanıtlar:


39

λgünlük(λ)Σben|βben|

Bu amaçla, göstermek için bazı ilişkili ve ilişkisiz veriler yarattım:

x_uncorr <- matrix(runif(30000), nrow=10000)
y_uncorr <- 1 + 2*x_uncorr[,1] - x_uncorr[,2] + .5*x_uncorr[,3]

sigma <- matrix(c(  1, -.5,   0,
                  -.5,   1, -.5,
                    0, -.5,   1), nrow=3, byrow=TRUE
)
x_corr <- x_uncorr %*% sqrtm(sigma)
y_corr <- y_uncorr <- 1 + 2*x_corr[,1] - x_corr[,2] + .5*x_corr[,3]

Verilerin ilişkilendirilmemiş x_uncorrsütunları var

> round(cor(x_uncorr), 2)
     [,1]  [,2]  [,3]
[1,] 1.00  0.01  0.00
[2,] 0.01  1.00 -0.01
[3,] 0.00 -0.01  1.00

x_corrsütunlar arasında önceden ayarlanmış bir korelasyona sahipken

> round(cor(x_corr), 2)
      [,1]  [,2]  [,3]
[1,]  1.00 -0.49  0.00
[2,] -0.49  1.00 -0.51
[3,]  0.00 -0.51  1.00

Şimdi bu iki durum için de kement çizimlerine bakalım. Önce ilintisiz veriler

gnet_uncorr <- glmnet(x_uncorr, y_uncorr)
plot(gnet_uncorr)

resim açıklamasını buraya girin

Birkaç özellik öne çıkıyor

  • Öngörücüler, gerçek doğrusal regresyon katsayısı büyüklüklerine göre modele girerler.
  • Σben|βben|Σben|βben|
  • Modele yeni bir öngörücü girdiğinde, modelde bulunan tüm öngörücülerin katsayı yolunun eğimini belirleyici bir şekilde etkiler. Örneğin, ikinci öngörücü modele girdiğinde, ilk katsayı yolunun eğimi yarıya indirilir. Üçüncü tahminci modele girdiğinde, katsayı yolunun eğimi orijinal değerinin üçte biridir.

Bunların hepsi ilişkisiz verilerle kement regresyonu için geçerli olan genel olgulardır ve hepsi elle kanıtlanabilir (iyi egzersiz!) Veya literatürde bulunabilir.

Şimdi ilişkili verileri yapalım

gnet_corr <- glmnet(x_corr, y_corr)
plot(gnet_corr)

resim açıklamasını buraya girin

İlişkisiz durumla karşılaştırarak bu çizimden bazı şeyleri okuyabilirsiniz

  • Birinci ve ikinci öngörücü yollar, ilişkili olsalar bile, üçüncü öngörücü modele girene kadar ilişkisiz durumla aynı yapıya sahiptir. Bu, iki öngörücü vakanın özel bir özelliğidir, eğer ilgi varsa başka bir cevapta açıklayabilirim, mevcut tartışmanın beni biraz daha uzağa götürür.
  • Σ|βben|

Şimdi araç veri setindeki planınıza bakalım ve bazı ilginç şeyleri okuyalım (planınızı burada yeniden oluşturdum, böylece bu tartışma daha kolay okunabilir):

Uyarı kelimesi : Eğrilerin standart katsayıları gösterdiği varsayımına dayanan aşağıdaki analizi yazdım, bu örnekte göstermediler. Standartlaştırılmamış katsayılar boyutsuz değildir ve karşılaştırılabilir değildir, bu nedenle tahminsel önem açısından bunlardan hiçbir sonuç çıkarılamaz. Aşağıdaki analizin geçerli olması için, çizimin standartlaştırılmış katsayılar olduğunu varsayınız ve lütfen standartlaştırılmış katsayı yollarında kendi analizinizi yapınız.

resim açıklamasını buraya girin

  • Dediğiniz gibi, wtyordayıcı çok önemli görünüyor. Önce modele girer ve nihai değerine yavaş ve istikrarlı bir şekilde iner. Biraz inişli çıkışlı bir sürüş yapan birkaç korelasyonu var, amözellikle girdiğinde sert bir etkiye sahip gibi görünüyor.
  • amaynı zamanda önemlidir. Daha sonra gelir ve şiddetli bir wteğimi etkilediğinden, ile ilişkilidir wt. Aynı zamanda carbve ile ilişkilidir qsec, çünkü bunlar girdiğinde eğimin öngörülebilir yumuşamasını görmüyoruz. Bu dört değişken olsa girdikten sonra, do it sonunda tüm belirleyicileri ile ilintisiz gibi görünüyor, bu yüzden güzel ilintisiz desen bakın.
  • Bir şey x ekseni üzerinde 2.25 civarında girer, ancak yolunun kendisi algılanamaz, ancak cylve wtparametrelerine olan etkisi ile algılayabilirsiniz .
  • cyloldukça etkileyici. İkinciye girer, bu nedenle küçük modeller için önemlidir. Diğer değişkenler ve özellikle amgirildikten sonra, artık o kadar önemli değil ve eğilimi tersine dönüyor, sonunda hepsi kaldırıldı. Etkisi cyl, sürecin sonunda giren değişkenler tarafından tamamen yakalanabilir gibi görünüyor . Kullanmanın daha uygun olup olmadığı cylveya tamamlayıcı değişkenler grubu gerçekten sapma-varyans dengesine bağlıdır. Grubun son modelinize sahip olması varyansını önemli ölçüde artıracaktır, ancak daha düşük önyargı bunu telafi edebilir!

Bu, bu grafiklerden bilgi okumayı nasıl öğrendiğime dair küçük bir giriş. Bence tonlarca eğlenceli!

Harika bir analiz için teşekkürler. Basit bir ifadeyle, wt, am ve cyl'nin mpg'nin en önemli 3 öngörücüsü olduğunu söyleyebilir misiniz? Ayrıca, tahmin için bir model oluşturmak istiyorsanız, şu şekle dayanarak hangilerini dahil edeceksiniz: wt, am ve cyl? Ya da başka bir kombinasyon. Ayrıca, analiz için en iyi lambda'ya ihtiyacınız yok gibi görünüyor. Sırt regresyonunda olduğu gibi önemli değil mi?

Ben dava için söyleyebilirim wtve amaçık kesim, onlar önemlidir. cylçok daha incedir, küçük bir modelde önemlidir, ancak büyük bir modelle hiç ilgili değildir.

Sadece şekle dayanarak neyin dahil edileceğine dair bir belirleme yapamayacağım, bu gerçekten yaptığınız şeyin bağlamına cevaplanmalıdır. Eğer üç yordayıcı modeli istiyorsanız, o zaman wt, amve cyliyi bir seçim iseniz , şeylerin büyük şemasında alakalı oldukları ve küçük bir modelde makul etki boyutlarına sahip olması gerektiğini söyleyebilirsiniz . Bu, küçük bir üç tahmin modelini arzulamak için bazı dış nedenlerin olduğu varsayımına dayanmaktadır.

Doğru, bu tür bir analiz tüm lambda spektrumuna bakar ve bir dizi model karmaşıklığı üzerindeki ilişkileri ortadan kaldırmanıza izin verir. Bununla birlikte, son bir model için bence en uygun lambda'yı ayarlamak çok önemlidir. Diğer kısıtlamaların yokluğunda, bu spektrum boyunca en öngörülü lambda'nın nerede olduğunu bulmak için çapraz doğrulamayı kesinlikle kullanırım ve daha sonra bu lambda'yı son model ve son analiz için kullanırım.

λ

Diğer yönde, bazen bir modelin ne kadar karmaşık olabileceği konusunda dış kısıtlamalar vardır (uygulama maliyetleri, eski sistemler, açıklayıcı minimalizm, iş yorumlanabilirliği, estetik patrimony) ve bu tür inceleme verilerinizin şeklini anlamanıza gerçekten yardımcı olabilir ve daha küçük ve en uygun modeli seçerek yaptığınız ödünleşmeler.


Harika bir analiz için teşekkürler. Basit bir ifadeyle, wt, am ve cyl'nin mpg'nin en önemli 3 öngörücüsü olduğunu söyleyebilir misiniz? Ayrıca, tahmin için bir model oluşturmak istiyorsanız, şu şekle dayanarak hangilerini dahil edeceksiniz: wt, am ve cyl? Ya da başka bir kombinasyon. Ayrıca, analiz için en iyi lambda'ya ihtiyacınız yok gibi görünüyor. Sırt regresyonunda olduğu gibi önemli değil mi?
rnso

@rnso Cevabıma bir yanıt ekledim.
Matthew Drury

Belki de 'patrimony' nin 'parsimony' olması gerekiyordu?
Hatshepsut

@Matthew Drury, bundan emin olmadığım birkaç şey var, açıklamalarınız için minnettar olurum, # "örneğin ikinci tahminciler girdiğinde" arsadan ikinci tahmincileri veya üçüncü tahmincileri / girişleri nasıl bilebilirim? . ## bu öngörücülerin ne zaman önemli olduğunu ya da olmadığını söyleyebilirim. ### Son olarak, bu bağlantı parçasının en iyi modelini nasıl seçebilirim. Ayrıca, gösterge / etiket otomatik olarak dahil edilir. (Bu örneği R'de uyguladım)
jeza

5
+6, ortaya çıktığında bunu çok özledim. Gerçekten güzel bir iş.
gung - Monica'yı eski
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.