Kademeli regresyonun kullanılması gereken durumlar var mı?


13

Geçmişte birçok biyomedikal makalede kademeli olarak regresyon aşırı kullanılmıştı, ancak bu, birçok konunun daha iyi eğitimi ile gelişiyor gibi görünüyor. Birçok eski yorumcular, ancak yine de bunu sormak. Kademeli regresyonun rolü olduğu ve varsa kullanılması gereken durumlar nelerdir?


6
Kullanılmaması gerektiği fikrini göstermek için dersleri öğretirken sıklıkla kullanıyorum.
gung - Monica'yı eski durumuna getirin

1
(+1) Teşekkürler @gung Ben bir istatistikçi değilim ve doğru olduğunu bilsem bile bunu savunmakta zorlandım. Özellikle zor buluyorum çünkü 1) bu çok iyi ve sık sık alıntı yapılan yazı çok detaylara girmiyor ve .... (
ctd

2
(ctd) ve 2) aşamalı eleştirmenler genellikle çok sayıda değişken veya veri madenciliği arasından seçim yapmak için bunu yaparlar. Biyomedikal dünyada, örnek büyüklüğü hesaplamaları genellikle beklenen ortak değişkenlerin sayısını dikkate alır, böylece tam modeller hiçbir zaman başlamak için bu kadar büyük değildir ve her bir varlığın önceden dahil edilmesi gereken bazı "biyolojik" nedenleri vardır. Bu koşullarda adım adım kullanılmaması gerektiğini düşünüyor musunuz?
bobmcpop

3
Biyomedikal araştırmalar için istatistiksel danışmanlık yapıyorum. Adım adım kullanmıyorum. Birçok insanım sormadı (projelerine yardımcı olacaksa onu kullanacağımı varsayabilirler), ancak insanlar sorduğunda onlara bunun geçersiz olduğunu ve neden hakkında konuştuğumu söylerim.
gung - Monica'yı eski durumuna getirin

Yanıtlar:


11

Adım adım regresyonun tercih edilen yaklaşım olacağı durumların farkında değilim. ile son derece büyük veri kümelerinde adım adım tüm sürecin önyüklemesi ile (özellikle tam modelden başlayarak adım aşağı sürümünde) iyi olabilir . Burada , sürekli bir sonuçtaki gözlemlerin sayısıdır (veya hayatta kalma analizinde bir olayı olan kayıtların sayısıdır) , dikkate alınan tüm etkileşimleri içeren aday öngörücülerinin sayısıdır - yani herhangi bir küçük etki çok netleştiğinde ve önemli olmadığında modelinizi nasıl yaptığınız çok fazladır (bu, bazen 20'den fazla alıntılanan faktörden çok daha büyük olacağı anlamına gelir )., n p , n sn>>pnpnp

Tabii ki çoğu insanın adım adım gerileme gibi bir şey yapmaya cazip gelmesinin nedeni,

  1. çünkü hesaplama açısından yoğun değildir (uygun önyükleme yapmazsanız, ancak sonuçlarınız oldukça güvenilir değildir),
  2. çünkü açık kesim sağlar "modelde" karşı "modelinde değildir" ifadeleri (standart aşamalı regresyonda çok güvenilmezdir; uygun önyüklemenin genellikle bu ifadelerin genellikle bu kadar net olmaması için netleşeceği bir şey) ve
  3. çünkü genellikle daha küçüktür, yakın ya da biraz daha büyüktür .pnp

Yani kademeli regresyon gibi bir yöntem (eğer iyi çalışma karakteristiklerine sahipse), iyi çalışma karakteristiklerine sahip olmadığı durumlarda özellikle çekici olacaktır.


3
(+1) Ayrıca, çok sayıda katsayı ihmal edilebilir ve hata varyansına göre sadece birkaç büyük olduğunda, samanlıkta iğne durumunda tahmin modelleri için adım adım ve ilgili yöntemler uygun olabilir. Tibshirani'den Örnek 3 (1996), Regso büzülmesi ve Kement yoluyla seçim , JRSS B , 58 , 1 - burada bile negatif olmayan garotte kazanır.
Scortchi - Monica'yı eski durumuna döndürün

3
Son paragrafı tam olarak anlayamıyorum. Belki de yeniden ifade edilebilir? Ayrıca, ya 3: Doğrudan bir argüman görmüyorum, belki de bir şeyin orada çıkarılması kolay olması gerekiyordu?
Richard Hardy

1
Son paragrafı ve (3) açıklığa kavuşturmak için: İnsanlar (3) nedeniyle kademeli olarak kullanırlar (yani tam modele uymanın zor olduğu veya yol açtığı durumlardan kaçınmak için ), ancak tam olarak korkunç bir yöntem olacağı zaman . Bunu kullanırlar, çünkü hesaplama açısından yoğun değildir, ancak yararlı bir şey elde etmek için kapsamlı önyükleme yapmanız gerekir (bu da gerçekten bir avantaj değildir). Ve bunu kullanıyorlar, çünkü açık bir yorum veriyor gibi görünüyor, ancak düzgün bir şekilde yapılırsa, bu çok net değil ve ne kadar model belirsizliğinin olduğunu görüyorsunuz (açık yorumlama = bir yanılsama). pn
Björn

11

Adım adım gerilemeye itiraz etmeyeceğim iki vaka

  1. Keşifsel veri analizi
  2. Öngörülü modeller

Bu çok önemli kullanım durumlarının her ikisinde de, geleneksel istatistiksel çıkarımdan endişe duymuyorsunuz, bu yüzden p-değerlerinin vb. Artık geçerli olmaması çok az endişe vericidir.

Örneğin, bir araştırma makalesinde "Pilot çalışmamızda, 1000 üzerinden 3 ilginç değişken bulmak için adım adım regresyon kullandık. Yeni verilerle yapılan bir takip çalışmasında, bu 3 ilginç değişkenin, ilginin sonucu ", adım adım regresyon kullanımı ile hiçbir sorunum olmazdı. Benzer şekilde, "Öngörülü bir model oluşturmak için adım adım regresyon kullandık. MSE ile ilgili veri tutma setimizde önceden oluşturulmuş bu alternatif model X" de benimle gayet iyi.

Açık olmak gerekirse, adım adım regresyonun bu sorunlara yaklaşmanın en iyi yolu olduğunu söylemiyorum. Ancak bu kolaydır ve size tatmin edici çözümler verebilir.

DÜZENLE:

Yorumlarda, AIC'nin aşamalı olarak tahmin için gerçekten yararlı olup olamayacağı sorusu vardır. Burada, tüm ortak değişkenlerle doğrusal regresyondan çok daha iyi performans gösterdiğini ve çapraz doğrulama ile seçilen ceza ile neredeyse aynı zamanda elastik ağları gösterdiğini gösteren bir simülasyon.

Bu simülasyonu tartışmanın sonu olarak kabul etmem; adım adım AIC'nin daha kötü performans göstereceği bir senaryo bulmak çok zor değil. Ama bu gerçekten mantıksız bir senaryo değil ve tam olarak elastik ağların tasarlandığı durumun türü değil (ortak değişkenlerin çok az büyük etkisi ile yüksek korelasyonu)!

library(leaps)
library(glmnet)
nRows <- 1000
nCols <- 500

# Seed set For reproducibility. 
# Try changing for investigation of reliability of results
set.seed(1)

# Creating heavily correlated covariates
x_firstHalf  <- matrix(rnorm(nRows * nCols / 2), nrow = nRows)
x_secondHalf <- x_firstHalf + 0.5 * 
                matrix(rnorm(nRows * nCols / 2), nrow = nRows) 
x_mat        <- cbind(x_firstHalf, x_secondHalf) + rnorm(nRows)

# Creating beta's. Most will be of very small magnitude
p_large = 0.01
betas <- rnorm(nCols, sd = 0.01) + 
         rnorm(nCols, sd = 4) * rbinom(nCols, size = 1, prob = p_large)
y     <- x_mat %*% betas + rnorm(nRows, sd = 4)

all_data           <- data.frame(y, x_mat)
colnames(all_data) <- c('y', paste('x', 1:nCols, sep = '_'))

# Holding out 25% of data for validation
holdout_index <- 1:(nRows * .25) 
train_data    <- all_data[-holdout_index, ]
validate_data <- all_data[holdout_index, ]

mean_fit <- lm(y ~ 0, data = train_data)
full_fit <- lm(y ~ ., data = train_data)
step_fit <- step(mean_fit, 
                 scope = list(lower = mean_fit, upper = full_fit), 
                 direction = "forward", steps = 20, trace = 0)

glmnet_cvRes <- cv.glmnet(x = as.matrix(train_data[,-1]), 
                          y = as.numeric(train_data$y)   )

full_pred   <- predict(full_fit, validate_data)
step_pred   <- predict(step_fit, validate_data)
glmnet_pred <- predict(glmnet_cvRes, as.matrix(validate_data[,-1]), s='lambda.min')

sd(full_pred - validate_data$y)    # [1] 6.426117
sd(step_pred - validate_data$y)    # [1] 4.233672
sd(glmnet_pred - validate_data$y)  # [1] 4.127171
# Note that stepwise AIC does considerably better than using all covariates 
# in linear regression, and not that much worse than penalized methods
# with cross validation!!

Kenar notu:

Pek çok nedenden ötürü gerçekten adım adım gerileme hayranı değilim, bu yüzden onu savunmak için bu duruşu almakta biraz garip hissediyorum. Ama sadece tam olarak neyi sevmediğim konusunda kesin olmanın önemli olduğunu düşünüyorum.


2
Bu iki endikasyon dışında (biyomedikal literatürde) yaygın olarak kullanılan başka senaryolar nelerdir? Ben sadece tahmin modelleri için kullanımı ile karşılaştım, ancak tavsiye edilmez örneğin .
bobmcpop

5
@bobmcpop: büyük sorun, atıfta bulunduğunuz makalede belirtildiği gibi, adım adım regresyondan sonra p-değerleri, güven aralıkları kullanmaktır. Yalnızca tahmin için kullanılan modeller (sadece öngörücüleri olan modeller değil) genellikle p-değerlerini umursamaz, aksine örnek dışı hatanın ne kadar azaltıldığını umursamaz.
Cliff AB

1
@ Björn: Sonunda söylediğim gibi, bunun genel olarak en iyi yöntem olduğunu düşünmüyorum. Ama geçersiz değil ve sen edebilir makul sonuçlar sonunda. Bu nedenle, gücü kullanmanın ne kadar kolay olduğunu: ortak değişkenleri alan ve olasılıkları geri döndüren bir modeliniz varsa, adım adım AIC yapabilirsiniz. LASSO gibi bir şeyle daha iyisini yapabilirsin ... ama yeni bir modelse veya Excel kullanıyorsanız yapamazsın.
Cliff AB

4
(+1) glmnet'in bu tür bir durumu, diğerlerinin yanı sıra kendi adımında (göründüğü gibi) almak için tasarlandığını söyleyebilirim; oysa büzülme olmadan yordayıcı seçim yöntemleri özellikle buna uygundur. Birkaç büyük ve çok küçük olanlardan ziyade, "konik efektler" olduğunda yaklaşımları karşılaştırmak ilginç olabilir.
Scortchi - Monica'yı eski durumuna döndürün

2
Kodunuzu, okumayı ve bir kod dosyasına veya konsola kopyalayıp yapıştırmayı kolaylaştırmak için düzenledim. Umarım beğenmişsindir. Yapmazsanız özür dilerim.
gung - Monica'yı eski durumuna döndürün
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.