Lojistik regresyonda model seçimi ve model performansı


9

Lojistik regresyonda model seçimi ve model performansı hakkında bir sorum var. Üç farklı hipoteze dayanan üç modelim var. İlk iki modelin (z ve x adını verelim) her modelde sadece bir açıklayıcı değişken vardır ve üçüncüsü (w adını verelim) daha karmaşıktır. W modeli için değişken seçimi için AIC ve sonra bağımlı değişkeni en iyi açıklayan üç model hangisini karşılaştırmak için AIC kullanıyorum. W modelinin en düşük AIC'ye sahip olduğunu buldum ve şimdi modelin tahmin gücü hakkında fikir edinmek için bu modelde bazı performans istatistikleri yapmak istiyorum. Tek bildiğim bu modelin diğer ikisinden daha iyi olduğu, ancak ne kadar iyi olduğu değil.

Modeli öğrenmek için tüm verileri kullandığımdan (üç modelin tümünü karşılaştırabilmek için) model performansıyla nasıl devam edebilirim? Topladığım şeyden, AIC kullanarak model seçiminden aldığım son model üzerinde sadece bir k-kat çapraz doğrulaması yapamam, ancak tüm açıklayıcı değişkenler dahil olmak üzere baştan başlamam gerekiyor, bu doğru mu? Ne kadar iyi performans gösterdiğini bilmek istediğim AIC ile seçtiğim son model olduğunu düşünürüm, ancak modelin önyargılı olabilmesi için tüm veriler üzerinde eğitim aldığımı fark ettim. Bu yüzden, tüm kıvrımlardaki tüm açıklayıcı değişkenlerle baştan başlamam gerekirse, bazı kıvrımlar için farklı son modeller elde edeceğim, sadece en iyi tahmin gücünü veren kattan modeli seçebilir ve bunu karşılaştırmak için tam veri setine uygulayabilir miyim AIC diğer iki modelle (z ve x)? Veya nasıl çalışır?

Sorumun ikinci kısmı aşırı parametrelendirme hakkında temel bir soru. Ben 156 veri noktaları var, 52 1 olduğunu geri kalanı 0's. Ben w modeli için seçim 14 açıklayıcı değişkenleri var, ben aşırı parametreleştirme nedeniyle hepsini dahil edemezsiniz, sadece en az gözlem ile bağımlı değişken grubunun sadece% 10 kullanmanız gerektiğini okudum sadece benim için 5 olurdu. Ekolojide bir soruyu cevaplamaya çalışıyorum, bence bağımlılığı en iyi şekilde açıklayan ekolojiyi en iyi açıklayan başlangıç ​​değişkenlerini seçmek iyi mi? Veya başlangıç ​​açıklayıcı değişkenlerini nasıl seçerim? Bazı değişkenleri tamamen dışlama hakkı yoktur.

Bu yüzden gerçekten üç sorum var:

  • Tam veri seti üzerinde eğitilmiş bir modelde performansı çapraz doğrulamayla test etmek uygun olabilir mi?
  • Değilse, çapraz doğrulama yaparken son modeli nasıl seçerim?
  • Aşırı parametreleştirmek istediğim için başlangıç ​​değişkenlerini nasıl seçerim?

Dağınık sorularım ve cehaletim için özür dilerim. Benzer soruların sorulduğunu biliyorum ama yine de biraz karışık hissediyorum. Düşüncelerinizi ve önerilerinizi takdir edin.

Yanıtlar:


7

Modelinizi doğrulamak için bir test veri seti kullanmanın daha iyi olduğu doğrudur. Bununla birlikte, ne yaptığınız konusunda dürüst olduğunuz sürece, modelinizin verilerinizde ne kadar iyi performans gösterdiğini söyleyebilirsiniz. Yapamayacağınız şey, bunu diğer verilerde iyi yapacağını söylemek : Muhtemelen olmayacak. Ne yazık ki, yayınlanan birçok makale en azından bu yanlış düşünceye işaret ediyor.

Sen sor

sadece ekolojiye dayalı bağımlılığı en iyi açıklayan başlangıç ​​değişkenlerini seçmek iyi midir?

Sadece sorun değil, herhangi bir otomatik programdan daha iyidir. Aslında bunlar da son değişkenler olabilir. Bir şekilde, alandaki bilginin boyutuna bağlıdır. Ne araştırdığınız hakkında çok şey bilinmiyorsa, daha keşifçi bir yaklaşım gerekli olabilir. Ancak, bazı değişkenlerin modelde olması gerektiğini düşünmek için iyi bir nedeniniz varsa, elbette, onları içeri koyun. Ve önemli olmasa bile, onları orada bırakmayı tartışacağım.


1

Eğer model seçimi yapacaksanız, o zaman kiraz toplamadan ziyade her bir modeli kapsamlı bir şekilde araştırıp ağırlıklandıracağınızı düşünüyorum. Sadece 14 değişkeniniz var, ki bu kesinlikle uygulanabilir - 16384 farklı model, özellikle örnek boyutu küçük olduğundan, büyük ölçüde büyük değil. Ayrıca şu şekilde tanımlanan normalize edilmiş ağırlıklara da bakarım:

wm=[Σltecrübe(-12[birbenCl-birbenCm])]-1

Bu ağırlıklar AIC'nin log olasılığının iki katı artı beta sayısının iki katı negatif olduğunu varsayar. En iyi modelin ağırlığı1o zaman bunu kullan. aksi takdirde sonuçlarınızı toplam ağırlığa yakın olan modellerde ortalama olarak1. Genellikle olan bir "çekirdek" değişken grubunun her zaman, "çekirdek olmayan" bir set üzerinde belirsizlik ve yüksek ağırlıklı modellerde asla görünmeyen üçüncü bir önemsiz değişkenler grubunun dahil edilmesi gerektiğidir.

Ağırlıkların kullanılan karmaşıklık cezasına ne kadar bağlı olduğunu görmek için AIC'yi BIC veya başka bir ceza bazlı IC ile değiştirebilirsiniz.


AIC'yi olası tüm modellerde kullanmak, performansı merak ettiğim aşırı çeşitliliğe sahip bir süreçtir. Geniş genellemelerden bahsetmek gerekirse, bunu değişken bir seçim problemi olarak düşünmek her zaman mantıklı değil, cezalandırma (büzülme) problemidir.
Frank Harrell

Model seçiminde aşırı çeşitliliğe sahip olmayan bir süreç var mı? Büyük bir ayrık alanla uğraşıyorsunuz - bu her zaman çok sayıda karşılaştırmaya yol açıyor. Bence soru, modellerin önünde örtük olanların mantıklı olup olmadığı daha fazladır.
olasılık

İyi koy. Ama çoğu model seçim alıştırmasının gereksiz olduğunu düşünüyorum (yani, parsimony sizin arkadaşınız değil) ve hiç önceliğe sahip olmamanın sonucu.
Frank Harrell

Ayrıca, Bayes Faktörlerinin, örneğin normal veya t dağılımının kullanılması gibi model yapısı sorunları için en iyi şekilde kullanıldığını düşünüyorum. Değişken seçimi için işe yaramazlar, fakat büzülmeye kıyasla verimsizdirler.
olasılık

Geç yorumum için özür dilerim, ama bunu R'de hesaplamanın kolay bir yolunu biliyor musunuz? Bir liste veya matris AIC: s var. R için oldukça yeniyim, bu nedenle karmaşık işlev binaları zor. Teşekkürler!
mael

0

"Çapraz doğrulama ile tüm veri kümesinde eğitilmiş bir modeldeki performansı test etmek uygun olabilir mi?" HAYIR, bunun iyi olduğunu sanmıyorum. Tüm 3 modeli, veri kümenizin aynı alt kümesine sığdırmanız gerekir. Sonra hangisinin daha iyi olduğunu görmek için çapraz doğrulamayı yapın.


1
Seni doğru anlarsam, tüm modeller için sadece bir eğitim ve bir test seti kullanmalıyım? Son değişken için yine de 5 değişkenimi kullanabilir miyim yoksa aşırı parametrelendirme riski var mı? Ve bu sadece bir eğitim ve test seti ile bir risk değil mi - çünkü bölünmenin sahip olduğum göreceli küçük verilerle nerede olacağına bağlı olarak çok fazla olacak - ya da endişelenecek bir şey yok mu? Aksi takdirde, bunu yapmanın en doğru yolu gibi geliyor.
mael

0

Tam veri seti üzerinde eğitilmiş bir modelde performansı çapraz doğrulamayla test etmek uygun olabilir mi?

Bence değil. Belki de daha iyi bir yöntem, üç modelin her birini tekrarlanan çapraz doğrulamayı kullanarak değerlendirmek olabilir. Özelliklerinizi önceki bilgilere dayanarak seçtiğinizden dolayı, özellik seçimi konusunda endişelenmenize gerek yoktur. Bu yöntem, modelin performansını değerlendirmenizi sağlar.

Değilse, çapraz doğrulama yaparken son modeli nasıl seçerim?

Modelinizin performansını tekrarlanan çapraz doğrulamayı kullanarak değerlendirdikten sonra, mevcut tüm verileri kullanarak son modeli eğitebilirsiniz.

Aşırı parametreleştirmek istediğim için başlangıç ​​değişkenlerini nasıl seçerim?

Doğru anlıyorsam: Yukarıdaki bir katılımcı tarafından önerildiği gibi, alanın önceki bilgisine dayanarak özelliklerinizi ekleyebilir veya fazla takmayı önlemek için çapraz doğrulama içinde özellik seçimi yapmanız gerekir. Bu aynı özellik seçim prosedürü, son modelin eğitimi sırasında tüm verilere uygulanacaktır. Bu modeli, modelin genel performansını raporlamak için kullanamazsınız, bunun çapraz doğrulama tahmininden gelmesi gerekir.

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.