Çoklu doğrusal regresyon modeline dahil edilecek değişkenleri seçme


35

Şu anda çoklu doğrusal regresyon kullanarak bir model oluşturmak için çalışıyorum. Modelimle uğraştıktan sonra, hangi değişkenleri koruyacağımı ve hangilerini kaldıracağımı en iyi nasıl belirleyeceğime emin değilim.

Modelim DV için 10 belirteçle başladı. 10 öngörücüyü de kullanırken, dördü önemli olarak kabul edildi. Açıkça yanlış olan tahmin edicilerin sadece bir kısmını kaldırırsam, başlangıçta anlamlı olmayan tahmincilerimden bazıları önemli hale gelir. Hangisi sorumu bana yönlendiriyor: Bir kişi, hangi tahmin edicilerin modellerine dahil edileceğini belirlemeye nasıl devam ediyor? Bana öyle geliyor ki, modeli tüm tahmincilerle bir kez çalıştırmalı, anlamlı olmayanları çıkarmalı ve sonra tekrar çalıştırmalısınız. Ancak, bu öngörücülerden yalnızca bazılarını kaldırmak diğerlerini önemli kılıyorsa, tüm bunlara yanlış bir yaklaşım alıp almadığımı merak ediyorum.

Bu konunun sorumla aynı olduğuna inanıyorum , ancak tartışmayı doğru yorumladığımdan emin değilim. Belki de bu daha çok deneysel bir tasarım konusudur, ancak belki birileri paylaşabilecekleri bir deneyime sahiptir.


Bunun cevabı, hedeflerinize ve gereksinimlerinize büyük ölçüde bağlıdır: Basit bir ilişki mi arıyorsunuz yoksa öngörmeyi mi hedefliyorsunuz; yorumlanabilirliğin ne kadar üzerinde olduğunu; Süreci etkileyebilecek diğer yayınlardaki değişkenler hakkında herhangi bir bilginiz var mı? Değişkenlerin etkileşimleri veya düzenlenmiş versiyonları hakkında: Bunları dahil edebilir misiniz? İyi bir cevap almak için ne yapmaya çalıştığınızla ilgili daha fazla ayrıntı belirtmeniz gerekir.
Nick Sabbe,

İstediğinize göre, bu tahmin için olacaktır. Diğer değişkenler üzerindeki etkisi sadece olası bir ilişki sunar. Aralarında hiçbir etkileşim yoktur. Sadece bir değerin dönüştürülmesi gerekiyor ve yapıldı.
cryptic_star

1
Hangi öngörücüleri dahil etmeniz gerektiğini söyleyen bir teori var mı? Eğer ölçtüğünüz bir çok değişkeniniz varsa ve teoriye sahip değilseniz, modelinizi oluşturmak için kullanılmamış veriler üzerinde test edebilmeniz için bir takım gözlemler yapmanızı öneririm. Aynı verilerde bir modelin test edilmesi ve doğrulanması doğru değildir.
Michelle

Çapraz validasyon (Nick Sabbe'nin tartıştığı gibi), cezalandırılmış metotlar (Dikran Marsupial) veya önceki teoriye dayalı değişkenlerin seçilmesi (Michelle) tüm seçeneklerdir. Ancak değişken seçiminin aslında çok zor bir görev olduğuna dikkat edin. Neden bu kadar potansiyel olarak çerçeveli olduğunu anlamak, buradaki cevabımı okumaya yardımcı olabilir: otomatik model seçimi için algoritmalar . Son olarak, sorunun sizin için otomatik olarak yapması ya da kendiniz için kendiniz yapması değil, bu aktivitenin mantıksal yapısı olduğunu kabul etmeye değer.
gung - Monica

Bu yazıya verilen cevapları da kontrol edin: stats.stackexchange.com/questions/34769/…
jokel

Yanıtlar:


19

Yorumuma verdiğin tepkiye dayanarak:

Tahmini arıyorsun. Dolayısıyla, katsayıların önemine gerçekten de (in) güvenmemelisiniz. Sen daha iyi olurdu

  • Tahmininizi en iyi şekilde açıklayan bir kriter seçin (örn. Sınıflandırma oranı, YGY AUC, ağırlıkların bir kısmı,…)
  • İçin her bir ilgi modeli , bu kriteri değerlendirir. Bu, örneğin bir onaylama seti (şanslı ya da zenginseniz), çapraz onaylama (tipik olarak on kat) yoluyla veya ilgilendiğiniz kriterin izin verdiği diğer seçeneklerle sağlanabilir. Mümkünse, her bir model için ölçüt SE değerinin bir tahminini bulun (örneğin, çapraz değerlemede farklı katlar üzerindeki değerleri kullanarak)
  • Artık modeli, ölçütün en iyi değeri ile seçebilirsiniz, ancak genellikle en iyi değerin bir SE'si dahilindeki en temel modeli (en az değişken) seçmeniz önerilir.

İlgilenilen her model için : burada oldukça dikkat çekici . 10 potansiyel tahminciyle, bu potansiyel modellerin bir kamyon yüküdür. Bunun için zamanınız veya işlemcileriniz varsa (veya verilerinizin yeterince hızlı olması ve değerlendirilebilmesi için verileriniz yeterince küçükse): bir top bulundurun. Olmazsa, bu konuda eğitimli tahminler, ileri veya geri modelleme (ancak önem yerine ölçüt kullanarak) veya daha da iyisi yapılabilir: makul bir model kümesi seçen bazı algoritmalar kullanın. Bunu yapan bir algoritma cezalı regresyon, özellikle de Lasso regresyonudur. R kullanıyorsanız, glmnet paketini takmanız yeterlidir ve hemen hazırsınız.


+1, ancak neden "en iyi değerin bir SE'sinde yer alan en eşzamanlı modeli (en az değişken) seçtiğinizi" açıklayabilir misiniz?
rolando2

Parsimony, çoğu durumda aranan bir özelliktir: yorumlanabilirliği arttırır ve modeli kullanmak için yeni bir konu için yapmanız gereken ölçüm sayısını azaltır. Hikayenin diğer tarafı, kriterleriniz için elde ettiğiniz şeyin bir SEÇİM olduğunu ancak SE ile eşleşmesi: “en iyi” değerinin istisnai bir durum olduğu bazı ayarlama parametrelerine karşı kriter tahminlerini gösteren epeyce grafik gördüm. zirve. Bunun gibi, 1 SE kuralı (keyfi, ancak kabul edilen bir uygulama), sizi daha fazla para kazanmanın katma değeriyle bundan korur.
Nick Sabbe,

13

Buna basit bir cevap yok. Önemli olmayan açıklayıcı değişkenlerin bazılarını kaldırdığınızda, bunlarla ilişkili olan diğerleri önemli olabilir. Bunda yanlış bir şey yok, ancak model seçimini bilimden ziyade en azından kısmen sanat yapıyor. Bu nedenle deneyler, bu sorunu önlemek için açıklayıcı değişkenleri birbirine dik tutmayı amaçlar.

Geleneksel olarak analistler, modele değişkenleri bir seferde bir tane (yaptığınıza benzer şekilde) ekleme ve çıkarma ve bunları tek tek veya küçük gruplar halinde t veya F testleriyle test etme yöntemini kullandılar. Bununla ilgili sorun, birleşik efektlerinin (veya efektsiz) eşdüzeylik tarafından gizlendiği durumlarda çıkarmak (veya eklemek) için bazı değişken kombinasyonlarını kaçırabilmenizdir.

Modern bilgi işlem gücüyle, 2 ^ 10 = 1024 olası açıklayıcı değişken kombinasyonlarının hepsine uyacak ve örneğin AIC, BIC veya tahmin gücü gibi olası kriterler arasından en iyi modeli seçebilirsiniz (örneğin, değerleri tahmin etme yeteneği). modele uydurmak için kullandığınız kümeden ayırdığınız verilerin bir test alt kümesinin). Ancak, 1024 modelin (örtük veya açık) testini yapacaksanız, p-değerlerinizi klasik yaklaşımdan yeniden düşünmeniz gerekecektir - dikkatli davranın ...


Her iki tarafın artıları ve eksileri arasından geçen yüksek seviye yürüyüş için teşekkürler. Şüphelendiğim şeyin çoğunu doğruladı.
cryptic_star

11

Yalnızca prediktif performans ile ilgileniyorsanız, o zaman tüm özellikleri kullanmak ve eğitim örneğine fazla uymamak için sırt regresyonunu kullanmak daha iyidir. Bu esasen Millar'ın “regresyondaki alt küme seçimi” monografının ekinde verilen tavsiyedir , bu nedenle makul bir soyağacı ile birlikte gelir!

Bunun nedeni, sabit bir veri örneğine dayanan bir performans tahminine dayanan bir alt kümeyi (ör. AIC, BIC, çapraz doğrulama vb.) Seçmeniz durumunda, seçim ölçütünün sınırlı bir varyansa sahip olması ve seçim ölçütünün kendisine aşırı uyuyor. Başka bir deyişle, seçim ölçütünü en aza indirgemenizle başlamak için, genelleme performansı artacaktır, ancak seçim ölçütünü ne kadar fazla azaltıyorsanız o kadar kötü genelleme olur Eğer şanssızsanız, başladığınızdan daha kötü performans gösteren bir regresyon modeli ile kolayca sonuçlanabilirsiniz (yani tüm özelliklere sahip bir model).

Bu özellikle, veri kümesi küçük olduğunda (yani seçim kriteri yüksek bir varyansa sahipse) ve birçok olası model seçeneği olduğunda (örneğin, özelliklerin kombinasyonunu seçmek) olasıdır. Düzenlenmesi, ayarlanması gereken skalar bir parametre olduğu için aşırı uyuma daha az eğilimli görünmektedir ve bu, modelin karmaşıklığına daha kısıtlı bir bakış açısı sunmaktadır, yani seçim kriterine uyması için daha az etkili serbestlik derecesi .


0

Artık kitaplığı kullanın. Değişkenleri çizdiğinizde y ekseni düzeltilmiş R ^ 2 gösterir. Kutuların en yüksek R ^ 2 değerinde siyah olduğuna bakarsınız. Bu, çoklu doğrusal regresyonunuz için kullanmanız gereken değişkenleri gösterecektir.

Aşağıdaki şarap örneği:

library(leaps)
regsubsets.out <-
  regsubsets(Price ~ Year + WinterRain + AGST + HarvestRain + Age + FrancePop,
         data = wine,
         nbest = 1,       # 1 best model for each number of predictors
         nvmax = NULL,    # NULL for no limit on number of variables
         force.in = NULL, force.out = NULL,
         method = "exhaustive")
regsubsets.out

#----When you plot wherever R^2 is the highest with black boxes,
#so in our case AGST + HarvestRain + WinterRain + Age and the dependent var.is Price----#
summary.out <- summary(regsubsets.out)
as.data.frame(summary.out$outmat)
plot(regsubsets.out, scale = "adjr2", main = "Adjusted R^2")

Bu, bilinen sorunları olan 'en iyi altkümeler' seçiminden çok da farklı görünmüyor.
dediklerinin - Eski Monica

leaps Farklı boyutlardaki altkümelerin nasıl seçileceğini tavsiye etmese de, açıkça 'en iyi altkümeleri' hesaplar. (Bu, sizin ve istatistiksel din adamlarınız arasında bir mesele olmaktır.)
steveo'america

Yeterince komik leaps, "Regresyondaki Alt Küme Seçimi" adlı kitabında daha ayrıntılı olarak açıklanan "Alan Miller [...] FORTRAN77 kodu" na dayanarak, Dikran tarafından bu sorunun bir başka cevabında belirtilen bir kitap :-)
jorijnsmit


-2

Neden korelasyon analizi yapmıyorsunuz Önce ve sonra sadece Dv ile ilişkili olanları regresyona dahil edin?


2
Bu genellikle hangi değişkenlerin seçileceğinin seçilmesinin kötü bir yoludur, bakınız örneğin , regresyon için öngörüleri seçmek için korelasyon matrisini kullanmak doğru mu? Bir korelasyon analizi, çoklu regresyondan oldukça farklıdır, çünkü ikinci durumda, "partialling out" hakkında düşünmemiz gerekir (regresyon eğrileri, diğer değişkenler hesaba katıldığında ilişkiyi gösterir ), ancak bir korelasyon matrisi bunu göstermez.
Silverfish

Bu soruya bir cevap vermiyor. Yeterli üne sahip olduğunuzda , herhangi bir gönderi hakkında yorum yapabileceksiniz ; bunun yerine, askerden açıklama gerektirmeyen cevaplar sağlayın . - Şu kaynaktan
Reinstate Monica

1
Bu beni vurur @GeneralAbrial bu o olduğunu kısa bir de olsa soruya bir cevap. Bu sorun için iyi bir çözüm değil, fakat bunun için yukarı / aşağı oylar var. (Bence "neden olmasın" yazardan açıklama talebinde bulunmak yerine retorik bir soru olarak düşünülmüştür.)
Silverfish

-4

Danışmanım bunun için başka bir yol önerdi. Tüm değişkenlerinizi bir kez çalıştırın ve ardından bazı eşiği karşılamayanları kaldırın (eşiğimizi p <.25 olarak ayarladık). Tüm değişkenler bu .25 değerinin altına düşene kadar bu şekilde yinelemeye devam edin, ardından önemli olanları rapor edin.


1
Merhaba allie, cevabın ikinci paragrafında Peter Ellis'in söylediği şey bu. Oradaki ikinci cümle, bu tekniğin ortaya koyduğu sorunu kapsar. Modelinize hangi yordayıcıları koyacağınızı söyleyen bir teoriniz var mı?
Michelle

Evet, @Michelle bu yaklaşımın sorumluluğunu vurgulamakta haklı. Çok keyfi sonuçlar üretebilir.
rolando2

Evet, her şeyin ardında, genişletmeyi umduğumuz bir teori var. Özellikle, belirli sosyal ipuçlarının (konuşma gibi) nasıl etkileşime girdiğine bakıyoruz. Hangilerinin yapabileceğini ya da olmadığını bildik. Ancak, daha iyi ayarlanmış sürümler sunmaya çalışıyoruz. Yani, konuşma soru, görüş, değerlendirme vb.
Ayrılabilir

2
Tamam, keşif analizi yapıyorsun. :) Farklı kombinasyonlar deneyebilirsiniz, ancak sonlandırdığınız modeli yeni verilerde test etmeniz gerekir. Tanım olarak, yaptıklarınızla, verileriniz için "en iyi" modeliniz olur, ancak başka bir veri kümesi toplarsanız çalışmayabilir.
Michelle
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.