Klasik doğrusal model - model seçimi


16

5 olası regresörlü klasik bir doğrusal modelim var. Birbirleriyle ilişkisizdirler ve cevapla oldukça düşük korelasyona sahiptirler. Regresörlerin 3'ünün t istatistiği için önemli katsayıları olan bir modele geldim (p <0.05). Kalan 2 değişkenin birini veya her ikisini eklemek, eklenen değişkenler için t istatistiği için p> 0.05 verir. Bu beni 3 değişken modelin "en iyi" olduğuna inandırıyor.

Bununla birlikte, R'de a'nın 3 değişken model ve b'nin tam model olduğu anova (a, b) komutunu kullanarak, F istatistiği için p değeri <0.05'dir, bu da bana tam modeli 3 değişken yerine tercih etmemizi söyler modeli. Bu görünür çelişkileri nasıl uzlaştırabilirim?

Teşekkürler PS Edit: Bazı arka plan. Bu ev ödevi, bu yüzden detayları göndermeyeceğim, ancak regresörlerin neyi temsil ettiğine dair ayrıntılar verilmiyor - sadece 1'den 5'e kadar numaralandırılıyor.


6
Önceden belirlenmiş tüm değişkenleri etkin bir şekilde kullanan bir model anlamına gelmek için uygun bir model alınabilir (doğrusal olmama durumu vb.). Umarım eğitmeniniz kademeli değişken seçiminin geçersiz olduğunu anlar. Çok az.
Frank Harrell

1
Tekrar merhaba ve teşekkürler. İleri geri özür dilerim. Talimatlar ayrıca "Mutlaka bir" en iyi "model olmak zorunda değildir ve mutlaka tüm yordayıcıları dahil etmeniz gerekmez" der. Ayrıca, eş-doğrusallık veya doğrusal-doğrusallık yoktur. Aslında, 5 öngörücünün tümü normal bir dağılımdan bağımsız simülasyonlarla üretilir. Sonuç olarak, öngörücüler ve yanıt arasındaki korelasyonlar da küçüktür (en büyüğü 0,1'den azdır). Açıkçası sezgim "en iyi" modelin sadece örnek ortalama olabileceğini söylüyor (düzeltilmiş kare kare
0.03'ten

@P Sellaz: Bunun simüle edilmiş verileri kullanan bir ödev olduğu göz önüne alındığında, sezginiz size iyi hizmet edebilir. Sezginiz için iyi bir açıklama yazın.
Zach

1
R2

1
Genel olarak, iyi bir iş yapmak için tüm öngörücülerin dahil edilmesi gerekmediği doğrudur. Ancak veriler size hangi öngörücülerin kullanılacağını söyleyemez.
Frank Harrell

Yanıtlar:


18

Sorun, azaltılmış bir model aradığınızda ve öngörücüleri seçmek için konu bilgisi yerine verileri kullandığınızda başladı. Değişken seçim için cezalandırmak için eşzamanlı büzülme olmadan aşamalı değişken seçimi, sıklıkla kullanılmasına rağmen geçersiz bir yaklaşımdır. Bu konuda çok şey yazıldı. 3 değişkenli modelin "en iyi" olduğuna güvenmek için hiçbir neden yoktur ve önceden belirlenmiş öngörücülerin orijinal listesini kullanmamak için hiçbir neden yoktur. Değişkenleri seçmek için P-değerleri kullanıldıktan sonra hesaplanan P-değerleri geçerli değil. Buna fonksiyonel görüntüleme literatüründe "çift daldırma" adı verilmiştir.

İşte bir benzetme. Birinin 6 tedaviyi karşılaştırmakla ilgilendiğini, ancak hangi tedavilerin "farklı" olduğunu seçmek için çift t testi kullandığını ve bunun sonucunda 4 tedavi setinin azaldığını düşünün. Analist daha sonra 3 serbestlik derecesinde genel bir fark olup olmadığını test eder. Bu F testinde şişirilmiş tip I hatası olacaktır. 5 df'lik orijinal F testi oldukça geçerlidir.

Daha fazla bilgi için http://www.stata.com/support/faqs/stat/stepwise.html ve konusuna bakın .


1
Cevabın için teşekkürler. Orijinal soruyu bir düzenleme ekledim. Umarım bu iyidir. Herhangi bir tavsiye en hoş olurdu.
P Sellaz

6

Bir cevap "konu bilgisi olmadan yapılamaz" olacaktır. Ne yazık ki, bu muhtemelen görevinizde bir F alacak. Ben senin profesörün değilse. Sonra bir A alacaktı.

R2

Sonra var

5 tahmin edicinin tamamı, normal bir dağılımdan bağımsız simülasyonlarla üretilir.

Eğer bunu BİLİYORSANIZ (yani eğitmeniniz size söylemişse) ve "bağımsız" ile "DV ile ilgili değil" demek istiyorsanız, en iyi modelin öngörücüsüz olduğunu ve sezginizin doğru olduğunu bilirsiniz.


Merhaba Peter, ve teşekkürler. N 900'dür. Verilerin tümü simülasyon ile üretilmiştir. Bunu biliyorum çünkü simülatörleri kendimiz yapmak zorunda kaldık. Bu ödev söz konusu olduğunda gerçek verileri temsil etmeleri gerekiyor . 100 simülasyon gerçekleştirildi ve yanıtla en büyük korelasyona sahip 5 (aynı zamanda sadece bir kez simüle edildi) aday regresörler olarak seçildi.
P Sellaz

1
Sadece herhangi bir X ve Y arasında hiçbir bağlantıyı simüle etmeyeceğinizden emin olun. Sonra diğerlerinin söylediği gibi bir regresyon modeli ilgisiz ve genel ortalama yeterlidir.
Frank Harrell

1
Evet, tamamen bağımsızlar. Aday regresörler olarak en büyük 5 korelasyona sahip olan verileri seçtik, bunlardan "uygun bir model türetmek, gerekçe göstermek" zorundayız, ancak "mutlaka 5 öngörücüyü de dahil etmek zorunda değiliz".
P Sellaz

Profesörünüz ya a) Tamamen kafası karışmış ya da b) oldukça ilginç bir şey yapıyormuş gibi geliyor. Hangisini söylemek zor. Eğer @FrankHarrell ve ben ve diğerlerinin işaret ettikleri şeyi göstermeyi amaçladıysa, o zaman iyi! (bu b olur). OTOH, eğer bunu "gerçek" bir gerileme olarak planlıyorsa, o zaman a).
Peter Flom - Monica'yı eski durumuna döndürün

1
Kağıtlar işaretlendiğinde bunun hangisi olduğunu size bildireceğim :)
P Sellaz

4

Çapraz doğrulama yapmayı deneyebilirsiniz. Örneğinizin bir alt kümesini seçin, F veya t testlerini kullanarak bu alt kümenin "en iyi" modelini bulun, ardından tam veri kümesine uygulayın (tam çapraz doğrulama bundan daha karmaşık olabilir, ancak bu iyi bir başlangıç ​​olacaktır). Bu, aşamalı test problemlerinin bazılarının hafifletilmesine yardımcı olur.

Bu fikrin sevimli küçük bir simülasyonu için David Freedman'ın Regresyon Denklemlerinin Taranması Hakkında Bir Not'a bakınız .


2

Ben caretpakette kullanılan yöntemi gerçekten seviyorum : özyinelemeli özellik ortadan kaldırılması. Bununla ilgili daha fazla bilgiyi skeçte okuyabilirsiniz , ancak temel işlem şudur : Değişken Seçimi

Temel fikir, önemsiz değişkenleri ortadan kaldırmak ve bunun modelin tahmin doğruluğunu nasıl geliştirdiğini görmek için bir kriter (t istatistikleri gibi) kullanmaktır. Tüm şeyi çapraz doğrulama gibi bir yeniden örnekleme döngüsüne sararsınız. Aşağıda, değişkenleri tanımladığınıza benzer bir şekilde sıralamak için doğrusal bir model kullanan bir örnek verilmiştir:

#Setup
set.seed(1)
p1 <- rnorm(50)
p2 <- rnorm(50)
p3 <- rnorm(50)
p4 <- rnorm(50)
p5 <- rnorm(50)
y <- 4*rnorm(50)+p1+p2-p5

#Select Variables
require(caret)
X <- data.frame(p1,p2,p3,p4,p5)
RFE <- rfe(X,y, sizes = seq(1,5), rfeControl = rfeControl(
                    functions = lmFuncs,
                    method = "repeatedcv")
                )
RFE
plot(RFE)

#Fit linear model and compare
fmla <- as.formula(paste("y ~ ", paste(RFE$optVariables, collapse= "+")))
fullmodel <- lm(y~p1+p2+p3+p4+p5,data.frame(y,p1,p2,p3,p4,p5))
reducedmodel <- lm(fmla,data.frame(y,p1,p2,p3,p4,p5))
summary(fullmodel)
summary(reducedmodel)

Bu örnekte, algoritma 3 "önemli" değişken olduğunu tespit eder, ancak bunlardan sadece 2 tanesini alır.

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.