R içinde kement ile çok değişkenli doğrusal regresyon


9

Son derece ilişkili birçok bağımlı değişken (DV) (~ 450) tahmin etmek için azaltılmış bir model oluşturmaya çalışıyorum.

Bağımsız değişkenlerim (IV) de çoktur (~ 2000) ve yüksek derecede ilişkilidir.

Her çıktı için ayrı ayrı azaltılmış bir model seçmek için kement kullanırsam, her bağımlı değişken üzerinde döngü yaptığım gibi bağımsız değişkenlerin aynı alt kümesini alacağım garanti edilmez.

R'de kement kullanan çok değişkenli bir doğrusal regresyon var mı?

Bu grup kementi değil. grup kement grupları IV. Kement de uygulayan çok değişkenli doğrusal regresyon (DV'nin bir matris, skaler bir vektör değil) istiyorum. (Not: NRH'nin işaret ettiği gibi, bu doğru değildir. Grup kement, IV'ü gruplayan stratejileri içeren, ancak DV gibi diğer parametreleri gruplayan stratejileri de içeren genel bir terimdir)

Seyrek Örtüşen Setleri Kement adlı bir şeye giren bu makaleyi buldum

Çok değişkenli doğrusal regresyon yapan bazı kodlar

> dim(target)
[1] 6060  441
> dim(dictionary)
[1] 6060 2030
> fit = lm(target~dictionary)

İşte tek bir DV'de kement yapan bazı kodlar

> fit = glmnet(dictionary, target[,1])

Ve bunu yapmak istiyorum:

> fit = glmnet(dictionary, target)
Error in weighted.mean.default(y, weights) : 
  'x' and 'w' must have the same length

TÜM hedeflere aynı anda uyan özellikleri seçme


Son nokta haricinde, ne istediğinizi belli değil. Paket çağrılır glmnetve kapsamlı bir skeç vardır.
generic_user

"Her seferinde" ile ne demek istiyorsun? Bunu verilerinizin alt kümelerinde mi çalıştırıyorsunuz? Çapraz doğrulama? Farklı örnekler?
shadowtalker

Her zaman, demek istediğim şu anda tek bir bağımlı değişken üzerinde glmnet çalıştırıyorum ve hepsini döngü
kmace

Veya başka bir deyişle benim y her zaman bir vektördür, bir matris değildir
kmace

1
Kesinlikle. Terimin daha genel olduğunu bilmiyordum. Üzgünüz
kmace

Yanıtlar:


11

Çok değişkenli tepkiler (bağımlı değişkenlerin sayısı 1'den büyük) için, ihtiyaç family = "mgaussian"içinde çağrısında glmnet.

Lsgl paketi daha esnek bir ceza sağlayan bir alternatiftir.

Birlikte kboyutlu yanıt, glmnet paketi cezayı uygular burada , inci öngörücü için katsayıların vektörüdür . Yardım sayfasında şunları okuyabilirsiniz:

Σj=1pβj2

βj=(βj1,...,βjk)Tjglmnet

Birincisi [ family = "mgaussian"], her değişken için katsayılarda bir "grup-lasso" cezası kullanarak çok yanıtlı bir gauss modelinin uygun olmasına izin verir. Yanıtları bu şekilde birleştirmeye bazı alanlarda "çok-görevli" öğrenme denir.

Bu ceza, aynı öngörücüyle ilişkili farklı yanıtlar için parametreleri gruplayan grup kement cezasına bir örnektir. Bu, ayar parametresinin belirli bir değeri için tüm yanıtlarda aynı öngörücülerin seçilmesiyle sonuçlanır.

Lsgl paketi uygulayan seyrek grup kement formunun cezaları burada ve , katkıları farklı terimlerden dengelemek için seçilen belirli ağırlıklardır. Varsayılan ve . Parametre bir ayarlama parametresi. İle (ve ) ceza tarafından kullanılan ceza eşdeğerdir ile . İle (ve

αΣj=1pΣl=1kξjl|βjl|+(1-α)Σj=1pγjβj2

ξjlγjξjl=1γj=kα[0,1]α=0γj=1glmnetfamily = "mgaussian"α=1ξjl=1) ceza sıradan kement verir. Lsgl uygulaması ayrıca yordayıcıların ek bir gruplandırılmasına izin verir.

Kement grubu hakkında bir not. Kement grubu terimi genellikle bir grup yordayıcı ile ilişkilendirilir. Bununla birlikte, daha genel bir bakış açısından, grup kement cezadaki parametrelerin bir gruplamasıdır. Tarafından kullanılan gruplama glmnetile family = "mgaussian"yanıtlar arasında parametrelerin bir gruptur. Böyle bir gruplamanın etkisi, tüm cevaplar kabaca aynı tahmin ediciler kümesinden tahmin edilebiliyorsa, iyi bir fikir olduğu ortaya çıkan, yanıtlar arasındaki parametrelerin tahminini birleştirmektir. Bazı yapıları paylaşması beklenen çoklu öğrenme problemlerini birleştirme genel fikri, çoklu görev öğrenme olarak bilinir .

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.