Aklı adım adım regresyon?


14

İkili bir sınıflandırıcı oluşturmak istediğimi varsayalım. Birkaç bin özelliğim ve sadece birkaç 10 örneğim var. Deneyimli, ben sınıf etiketi doğru sadece birkaç özelliklerini kullanarak tahmin edilebilir olduğuna inanmak için iyi bir neden, ama hiçbir fikrim yok hangi olanları. Ayrıca, nihai karar kuralının yorumlanması / açıklanması kolay olmasını ve ayrıca az sayıda özellik gerektirmesini istiyorum. Özelliklerimin belirli alt kümeleri birbiriyle oldukça ilişkilidir, bu nedenle en öngörücü birkaçını bağımsız olarak seçmek işe yaramaz. Ayrıca, özelliklerim üzerinde anlamlı bir şekilde hipotez testi yapabilmek istiyorum.

Bu koşullar altında aşağıdaki aşamalı regresyon prosedürü makul mü?

  1. Modelde bulunan özellikler (veya yalnızca ilk yinelemede kesişme) göz önüne alındığında, modele eklendiğinde en büyük günlük olabilirlik oranını üreten özelliği seçin. Bu seçimde gerçekleştirilen her hipotez testi için nominal bir P-değeri hesaplamak için olasılık oranı ki-kare testi kullanın. Buradaki sıfır, modele ekstra değişken eklenmesinin ek bir tahmin yeteneği sağlamadığıdır. Alternatif, tahmin kabiliyetini arttırmasıdır

  2. Her yinelemenin 1. Adımında test edilen hipotezleri bir aile olarak ele alın ve Benjamini-Hochberg gibi bir şey kullanarak en küçük P değeri (seçilen özellik için) için yanlış keşif oranını hesaplayın.

  3. Bazı durma kriterleri yerine getirilmedikçe 1'e gidin.

  4. Tek tek özellikler için yanlış keşif oranlarını rapor edin, ancak bir bütün olarak modelin P değerini değil (çünkü bu büyük ölçüde şişecektir). Bu çoklu test düzeltmeli P-değerlerinin her biri, daha önce modele eklenen tüm özellikler göz önüne alındığında , bu özelliğin istatistiksel önemini temsil eder .

Bu koşullar altında böyle bir şey yapmak, kademeli regresyonun tüm tipik eleştirilerini başarıyla önler mi? Bu şekilde hesaplanan yanlış keşif oranları makul midir?


3
Cezalandırılmış bir regresyon yaklaşımına (kement, elastik ağ, vb.) Gitmemek için bir neden var mı?
Ben Bolker

Yanıtlar:


11

Bu prosedürü kullanmanızı tavsiye etmem. Benim tavsiyem: Bu projeden vazgeç. Sadece vazgeç ve uzaklaş. Bu çalışma umudunuz yok.

Dante'nin Inferno "Umut terk" Dore çizimi görüntü kaynağı

Kademeli seçim ile ilgili standart problemleri bir kenara bırakarak (bkz. Burada ), sizin durumunuzda, böyle yüksek boyutlu bir boşlukta ayrılma nedeniyle mükemmel tahminlere sahip olma olasılığınız yüksektir.

Durumunuzla ilgili ayrıntılı bir bilgim yok, ancak "yalnızca birkaç 10 örneğiniz" olduğunu belirtiyorsunuz. Hayırsever olalım ve 90'a sahip olduğunuzu söyleyelim. Ayrıca "birkaç bin özelliğiniz" olduğunu da söylüyorsunuz. 2.000 tane 'sadece' olduğunu düşünelim. Basitlik adına, tüm özelliklerinizin ikili olduğunu varsayalım. "Sınıf etiketinin yalnızca birkaç özellik kullanılarak doğru bir şekilde tahmin edilebileceğine inanıyorsunuz", en fazla 9 özellik kümesini arayacağınızı varsayalım. Son olarak, ilişkinin deterministik olduğunu düşünelim, böylece gerçek ilişki her zaman verilerinizde mükemmel bir şekilde mevcut olacaktır. (Bu sayıları ve varsayımları değiştirebiliriz, ancak bu sadece sorunu daha da kötüleştirmelidir.) Şimdi, bu (cömert) koşullar altında bu ilişkiyi ne kadar iyi kurtarabilirdiniz? Yani, mükemmel doğruluk sağlayan tek set ne kadar doğru set olur? Ya da başka bir deyişle, kaç özellikten oluşan kaç set yalnızca şans eseri sığar?

Bazı (aşırı) basit matematik ve simülasyonlar bu soruya bazı ipuçları sağlamalıdır. İlk olarak, her biri 0 veya 1 olabilecek 9 değişkenle, bir gözlemin gösterebileceği desen sayısı , ancak yalnızca 90 gözleminiz olacaktır. Bu nedenle, belirli bir 9 ikili değişken kümesi için, her gözlemin farklı bir tahmin değeri kümesi olması mümkündür - tekrar yoktur. Bazılarının y = 0 ve bazı y = 1 olduğu aynı yordayıcı değerlerine sahip kopyalar olmadan, tam bir ayrılmaya sahip olacaksınız ve her gözlemin mükemmel tahmini mümkün olacaktır. 29=512

Aşağıda, hem 0 hem de 1s ile x-değerleri kalıplarının ne sıklıkta bulunmadığını görmek için bir simülasyon (R kodlu) var. Çalışma şekli, olası desenleri temsil eden 1'den 512'ye kadar bir sayı kümesi almam ve ilk 45'teki desenlerden herhangi birinin (0'lar olabilir) ikinci 45'teki desenlerden herhangi biriyle eşleşip eşleşmediğini görmemdir. (bu 1'ler olabilir). Bu, mükemmel bir şekilde dengelenmiş yanıt verisine sahip olduğunuzu varsayar ve bu da bu soruna karşı mümkün olan en iyi korumayı sağlar. Farklı y değerlerine sahip bazı çoğaltılmış x-vektörlere sahip olmanın sizi gerçekten ormandan çıkarmayacağına dikkat edin, sadece veri setinizdeki her bir gözlemi mükemmel bir şekilde tahmin edemeyeceğiniz anlamına gelir, ki bu çok sıkı standart I Burada kullanıyorum.

set.seed(7938)  # this makes the simulation exactly reproducible
my.fun = function(){
  x = sample.int(512, size=90, replace=TRUE)
  return(sum(x[1:45]%in%x[46:90])==0)
}
n.unique = replicate(10000, my.fun())
mean(n.unique)  # [1] 0.0181

Simülasyon, bu sorunu 9 x-değişkenli kümelerin yaklaşık% 1.8'i ile karşılaştıracağınızı göstermektedir. Şimdi, kaç tane 9 set var? Kesinlikle, bu (çünkü gerçek 9 deterministik nedensel değişkenin setinizde olduğunu şart koştuk). Ancak, bu kümelerin çoğu örtüşecektir; olacaktır örtüşmeyen (mümkünse bu tür birçok bölümleri ile) değişkenlerin belirli bir bölüm içinde 9 setleri. Bu nedenle, belirli bir bölümde, veri kümenizdeki her gözlemi mükemmel bir şekilde tahmin edecek set 9 x-değişken olmasını bekleyebiliriz . 1991 / 9 221 221 x 0.018 41991 choose 9=1.3×10241991/9221221×0.0184

Bu sonuçların yalnızca göreceli olarak daha büyük bir veri kümesine ("onlarca" dahil), nispeten daha az sayıda değişkene ("binlerce" dahil) sahip olduğunuz durumlar için olduğunu, yalnızca her bir gözlemin mükemmel bir şekilde tahmin edilebileceği durumları ( neredeyse mükemmel olan çok daha fazla set olacak ) vb. Gerçek durumunuzun 'bu kadar iyi' çalışması muhtemel değildir. Dahası, ilişkinin mükemmel deterministik olduğunu şart koştuk. İlişkide rastgele bir gürültü olursa ne olur? Bu durumda, verilerinizi mükemmel şekilde tahmin eden ~ 4 (null) setiniz olacaktır , ancak doğru set bunların arasında olmayabilir .

Tl; dr , buradaki temel nokta, değişken kümenizin çok büyük / yüksek boyutlu olması ve veri miktarınızın mümkün olan her şey için çok küçük olmasıdır. "Onlarca" örneğiniz, "binlerce" değişkeniniz olduğu ve hangi değişkenlerin doğru olabileceği konusunda dünyevi bir fikriniz olmadığı gerçekten doğruysa, herhangi bir prosedürle hiçbir yere gitme umudunuz yoktur. Git vaktinle başka bir şey yap.


1
Şimdi bu cevaba orijinal bir giriş, onu seviyorum.
asukasz Grad

1
Bir projeden vazgeçmek genellikle makul bir seçenektir. Kesinlikle çok az sayıda vaka olsa da, müşterilere, akıllarında tuttukları projelerin uygulanamayacağını bir kereden fazla tavsiye ettim.
gung - Monica'yı eski

1

Yi ;(i=1,,n)Xij ;(j=1,,p)YY=0Y=1γmm ;(m=1,..,M)γmTXijXij0

XjY=1Y=0

Bu yüzden tahmin olasılığını değil doğrudan tahmin etmeyi öneririm. Bununla birlikte, tahmin edilen gözlem modelin tahminine dahil edilmemelidir (çünkü modelinizi gerçekten kullanırken tam olarak karşılaşacağınız durum budur). Yani yeni bir adım 1) (cesur benim önerilen değişiklik). 1) Modelde bulunan özellikler (veya yalnızca ilk yinelemede kesişme) göz önüne alındığında, modele eklendiğinde en iyi tahminleri üreten özelliği seçin .

Şimdi karar vermelisin

  1. matematiksel olarak "en iyi" ne demek istediğinizi
  2. verilerinizi "sığdırma" ve "öngörme" parçalarına ayırma

Her biri için bir öneri yapacağız:

  1. Y=1Y=0F=CC+IFCI
  2. 12,,n121,3,,n2nF=CnFm

Fm(m=1,,M)m=argmaxmMFm

sthMs=p+1XjXj

Adım adım riskli olabilir, çünkü "küresel maksimumlar" yerine "yerel maksimumlar" bulabilirsiniz, özellikle de çok sayıda tahmin ediciye sahip olduğunuzdan (bu optimizasyon için büyük bir "alan" dır ve muhtemelen çok modludur - yani birçok "en iyi" model var)

100F

Bence bu , p-değerinin modelin neden iyi olduğunu açıklamak yerine, son model seçiminizi istatistikçi olmayan bir kişiye haklı çıkarmak için çok daha kolay bulacaksınız .

Y

Son iki açıklama:

  1. Bu makineyi, adım adım ileri (yalnızca değişken ekleyin) veya geri seçimden (tam modelden başlayın ve yalnızca değişkenleri kaldırın) daha iyi olup olmadığına karar vermek için de kullanabilirsiniz.
  2. pnXTXXTWX(XTX+λI)1XTY(XTWX+λI)1XTWYλλ

Tavsiye için teşekkürler. Bununla birlikte üç sorun var: 1. Tahminlerimdeki belirsizliği ve her bir değişkenin katkısını ölçmek isterim, sadece ikili tahmin doğruluğunu değil. 2. Veri setimin doğası göz önüne alındığında, hesaplama açısından çok yoğun. 3. Alan bilgisinden, yerel optima sorununun önemli olmadığına inanıyorum.
dsimcha

100nF

Aslında haklısın. Bu yordam daha büyük bir kod tabanının bir parçası olacaktır ve kodun geri kalanının bazılarının her jackknife yinelemesi için yeniden çalıştırılması gerekmeyeceğini unutmuşum. Yine de diğer iki nokta geçerlidir.
dsimcha

FFFchosenF(j)her değişkene bağlı öngörme doğruluğuna değişken)
olasılık

F
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.