K-katlamalı CV ile orijinal (?) Model seçimi


9

Regresyon modelleri arasında seçim yapmak için k-katlamalı CV kullanırken, genellikle standart hatası SE ile birlikte her model için CV hatasını ayrı ayrı hesaplıyorum ve en düşük CV hatasına sahip modelin 1 SE'sinde en basit modeli seçiyorum (1 standart hata kuralı için buraya bakınız ). Ancak, son zamanlarda bana bu şekilde değişkenliği abarttığımı ve iki A ve B modeli arasında seçim yapma durumunda, gerçekten farklı bir şekilde ilerlemem gerektiği söylendi:

  • her kat için K uzunluğunda , iki model öngörüsü arasındaki nokta farklarını hesaplayın, ardındanN-K
    MSDK=Σben=1N-K(y^birben-y^Bben)2N-K
  • her zamanki gibi katlar arasında ortalama ve genelleme hatası için bir tahminci olarak bu CV fark hatasını (standart hatasıyla birlikte) kullanın.MSDK

Sorular:

  1. bu sana bir anlam ifade ediyor mu? Genelleme hatasının bir tahmincisi olarak CV hatasının kullanılmasının arkasında teorik nedenler olduğunu biliyorum (bu nedenlerin hangileri olduğunu bilmiyorum, ama var olduklarını biliyorum!). Bu "fark" CV hatasının kullanılmasının arkasında teorik nedenler olup olmadığı hakkında hiçbir fikrim yok.
  2. Bunun ikiden fazla modelin karşılaştırmasına genelleştirilip genelleştirilemeyeceğini bilmiyorum. Tüm model çiftleri için farklılıkları hesaplamak riskli görünmektedir (çoklu karşılaştırmalar?): İkiden fazla modeliniz olsaydı ne yapardınız?

DÜZENLEME: Benim formül doğru metrik açıklanmıştır tamamen yanlış burada ve çok daha karmaşık. Formülü körü körüne uygulamadan önce burada sorduğum için mutluyum! @Bay'e aydınlatıcı yanıtı anlamama yardımcı olduğu için teşekkür ederim. Açıklanan doğru önlem oldukça deneysel, bu yüzden güvenilir iş atım CV dosyasına yapışacağım!

Yanıtlar:


2

MSDKdağıtım seti resme bile gelmediğinden, genelleme hatasının garip bir ölçüsüdür. Tüm bunlar size, modelin tahminlerinin birbiriyle ne kadar ilişkili olduğudur, ancak test veri noktasını gerçekten ne kadar iyi öngördüğü hakkında hiçbir şey yoktur.

Örneğin, aptal bir çift belirleyici bulabilirim:

y^bir(x,θ)=1+x,1θ

y^B(x,θ): =1+x,1θ2

Bu durumda, çapraz doğrulama üzerinde ayarlama seti söylerdi aşağı götürmek istiyorsunuz çünkü mümkün olduğunca büyük sahiptir ama bu modeller iyi birer ön olacağını sanmıyorum.θMSDK

Bağlantıya bir göz attım, ancak ölçümünüzü orada . Andrew Gelman saygın bir istatistikçi, bu yüzden yukarıdaki gibi bir şeyi onaylayacağından şüpheliyim, bu da genelleme hatasının bir tahmincisi olarak açıkça başarısız olur. Makalesi ve bağlantısı, kıyaslama olarak bir test veri noktasıyla (yani, eğitimden uzak tutulan) bir karşılaştırma yapılmasını gerektiren Ayrılmayı Bırak (LOO) çapraz doğrulamasını tartışıyor. bekIiyorduk test hata hakkında bir şey (iki model ... benzer hatalar olabileceğini belki hariç) söylemeyeceksin tamamen "içe" görünümlü bir ölçümdür.MSDKMSDK


OP yorumuna yanıt

Yorumunuzda sunulan formül biraz bağlam gerektirir:

  1. Bu bir Bayes doğruluk ölçüsüdür, çünkü elpd beklenen log noktaya doğru tahmin yoğunluğu - oldukça ağız doludur , ancak temel olarak, önceki bir tahmin altında her bir veri noktasında değerlendirilen posterior tahmin yoğunluğunun logaritmasının beklenen değerlerinin toplamıdır. çapraz doğrulama kullanılarak tahmin edilen yoğunluk.
  2. Yukarıdaki ölçüm (elpd), tahmin yoğunluğunun atlanan noktada alındığı bir dış çapraz doğrulama kullanılarak hesaplanır.
  3. Formüllerinin (19) yaptığı, iki model arasındaki tahmini doğruluk farkının (elpd kullanılarak ölçülen) standart hatasını hesaplamaktır. Fikir, elpd'lerin farkının asimptotik olarak normal olmasıdır, bu nedenle standart hatanın çıkarımsal anlamı vardır (ve altta yatan farkın sıfır olup olmadığını test etmek için kullanılabilir) veya Model A, Model B'den daha küçük bir tahmin hatasına sahiptir.

Bu nedenle, bu önlem için birçok hareketli parça var: Posterior parametre yoğunluğundan puan almak için bir MCMC örnekleme algoritması çalıştırmanız gerekiyor. Öyleyse tahmin yoğunluklarını elde etmek için entegre etmeniz gerekir. O zaman bunların her birinin beklenen değerlerini almanız gerekir (birçok çekilişte). Oldukça bir süreç, ama sonunda kullanışlı bir standart hata vermesi gerekiyor.

Not: Denklemin (19) altındaki üçüncü tam paragrafta, yazarlar bu yaklaşımın model karşılaştırması için iyi performans gösterip göstermediğini belirlemek için daha fazla araştırmaya ihtiyaç olduğunu belirtmektedir ... Bu nedenle, takip çalışmaları daha iyi modeli ( elpd açısından ) güvenilir bir şekilde tanımladığını doğrulayana kadar bu yöntemin kullanışlılığına güveniyorsunuz .


Ne demek istediğimi anladım: açıkça ben (ve beni kağıda yönlendiren meslektaşım) bunun hakkında hiçbir şey anlamadım. Gelman'ın "[A ve B modelleri arasındaki farklarının standart hatası" olarak adlandırdığı terimin ne olduğunu açıklayabilir misiniz?se(elpd^LÖÖbir-elpd^LÖÖB)? Sayfa 18, bağlantılı bildiri, par. 5.2. Bu terimi nasıl hesaplayacağınızı gösteren basit bir örnek sunabilmeniz gerçekten yararlı olacaktır. Burada anlamadığım çok şey var.
DeltaIV

@DeltaIV Tamam ... Referans verilen bölüme göz atacağım ve bu formülü sizin için açmaya çalışacağım.

1
@DeltaIV tamam, gözden geçirecek bir değişiklik yaşadım. Yazımı genişlettim. Bu, iki tahmin modelini karşılaştırmak için çok deneysel (ve doğrulanmamış) bir yöntem gibi görünmektedir. Performansını kendi Monte Carlo çalışmalarınızla doğrulayamazsanız kullanmaya dikkat ediyorum (yani, doğru cevabı bildiğinizde daha öngörülü modeli seçebilir mi?).
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.