Kalibrasyonumu ölçmek için en iyi metriği nasıl seçerim?


10

Test odaklı geliştirme programlıyorum ve yapıyorum. Kodumda bir değişiklik yaptıktan sonra testlerimi yapıyorum. Bazen başarılı olurlar, bazen başarısız olurlar. Bir testi çalıştırmadan önce, testin başarılı olacağına inandığım için 0,01 ile 0,99 arasında bir sayı yazıyorum.

Testimin başarılı olup olmayacağını tahmin etmede gelişip iyileşmediğimi bilmek istiyorum. Testin Pazartesi günleri veya Cuma günleri başarılı olup olmayacağını tahmin etmede daha iyi olup olmadığımı takip edebilmem de iyi olur. Test başarısını tahmin etme yeteneğim izlediğim diğer metriklerle ilişkiliyse bilmek istiyorum.

Bu beni doğru metriği seçme görevine bırakıyor. Superforcasting'de Philip Tetlock, uzmanların ne kadar iyi kalibre edildiğini ölçmek için Brier puanını kullanmayı öneriyor . Literatürde önerilen bir diğer ölçüm ise Logaritmik puanlama kuralıdır . Başka olası adaylar da var.

Hangi metriğin kullanılacağına nasıl karar verebilirim? Bir skorlama kuralını diğerlerine göre tercih etme iddiası var mı?


1
Tahmin yeteneğinizdeki değişiklikleri ölçmede potansiyel bir zorluk kaynağı, tahmin probleminin altında yatan zorluğun değişebileceğidir. Becerinizdeki değişiklikler problem zorluklarındaki değişikliklerden ayırt edilemez olabilir.
Matthew Gunn

Yanıtlar:


1

Kodunuz için birim testleri yaptığınızı varsayıyorum.

Düşünebileceğim, belki de tam olarak istediğinizi yapmayacak bir fikir, doğrusal bir model kullanmaktır.

Bunu yapmanın yararı, analize dahil edebileceğiniz bir dizi başka değişken oluşturabilmenizdir.

Diyelim ki testlerinizin sonucunu içeren bir vektörünüz ve sonucunuzla ilgili tahminlerinizi içeren başka bir vektörünüz var .xYx

Şimdi sadece doğrusal modele sığabilirsiniz

yi=a+bxi+ϵ

ve değerini bulmak , yüksek değeri öngörüleriniz daha iyi hale gelmektedir delalet ederdi.bbb

Bu yaklaşımı güzelleştiren şey, şimdi bunun daha iyi bir model oluşturup oluşturmadığını görmek için bir dizi başka değişken eklemeye başlayabilmenizdir ve bu değişkenler daha iyi tahminler yapmaya yardımcı olabilir. Değişkenler haftanın günü için bir gösterge olabilir, örneğin Pazartesi günü diğer günler için her zaman 1 ve sıfır olur. Bu değişkeni modele eklerseniz şunları elde edersiniz:

yi=a+aMonday+bxi+ϵ

Ve değişkeni anlamlı ve pozitifse, Pazartesi günleri tahminlerinizde daha muhafazakar olduğunuz anlamına gelebilir.aMonday

Gerçekleştirdiğiniz görevin zorluk derecesini değerlendirmek için puan verdiğiniz yeni bir değişken de oluşturabilirsiniz. Sürüm kontrolünüz varsa, kod satırlarının sayısını zorluk olarak kullanabilirsiniz, yani ne kadar çok kod yazarsanız, bir şeylerin kırılma olasılığı o kadar artar.

Diğer değişkenler, o gün kahve fincanlarının sayısı, yaklaşan son tarihler için gösterge, yani şeyleri bitirmek için daha fazla stres olduğu vb.

Tahminlerinizin iyileşip iyileşmediğini görmek için bir zaman değişkeni de kullanabilirsiniz. Ayrıca, göreve ne kadar süre harcadığınızı veya ne kadar oturum geçirdiğinizi, hızlı bir düzeltme yapıp yapmadığınızı ve özensiz olabileceğini vb.

Sonunda, başarı olasılığını tahmin etmeye çalışabileceğiniz bir tahmin modeliniz var. Bunu yaratmayı başarırsanız, belki de kendi tahminlerinizi yapmak zorunda değilsiniz, sadece tüm değişkenleri kullanabilir ve işlerin işe yarayıp yaramayacağı konusunda oldukça iyi bir tahmin yapabilirsiniz.

Mesele şu ki, sadece tek bir sayı istediniz. Bu durumda, başlangıçta sunduğum basit modeli kullanabilir ve sadece eğimi kullanabilir ve her dönem için hesaplamaları yeniden yapabilirsiniz, o zaman bu puanda zaman içinde bir eğilim olup olmadığını görebilirsiniz.

Bu yardımcı olur umarım.


1
Daha yüksek bir eğim (iddia ediyorum sizin basit modelde) her zaman daha iyi bir tahmin karşılık gelmiyor: Bir lojistik regresyon varsayarsak eğer = ederken, sonucun gözlenen olasılık / 'gerçek' tahmin olasılık daha vardır 0 olması ve Herhangi yüksek 1 olmalıdır bir süre, sonucun overprediction öneriyoruz 1 underprediction öneriyor daha düşük. Bu yöntem aslında cevabımda işaret ettiğim referansta açıklanmaktadır. Kısacası, bu eğim yönteminin kullanımı iyidir, ancak 1 yakınındaki eğimler en iyisidir ( = 0 olduğunda ). Y x a b b b abYxabbba
IWS

@IWS Girdi için teşekkürler, performansınızı tahmin etmek için tek bir değer istediğiniz ölçüde katılıyorum, sonra kesişmeyi atlamak iyi bir fikir. Verileri daha fazla yorumlamaya çalışmak istiyorsanız (ve yeterince varsa), o zaman kesişmeyi eklemek ve modelleri karşılaştırmak iyi bir fikir olabilir.
Gumeo

1

Bu bir cevaptan ve daha fazla referanstan uzak olsa da, Steyerberg E - Epidemiyoloji 2012'yi kontrol etmek iyi bir fikir olabilir .

Bu makalede Steyerberg ve meslektaşları, ikili sonuçları olan (başarı veya başarısızlık) modeller için tahmin modeli performansını kontrol etmenin farklı yollarını açıklamaktadır. Kalibrasyon bu önlemlerden sadece bir tanesidir. Doğru bir olasılık , doğru sınıflandırma veya doğru yeniden sınıflandırma yapmak isteyip istemediğinize bağlı olarak, farklı model performans ölçümleri kullanmak isteyebilirsiniz. Her ne kadar bu makale biyomedikal araştırmalarda kullanılacak modellerle ilgili olsa da, bunların diğer durumlara (sizin) de uygulanabileceğini hissediyorum.

Durumunuza daha spesifik olarak, kalibrasyon metriklerini yorumlamak gerçekten zordur, çünkü kalibrasyonu tüm olası tahminler yelpazesinde özetler (yani ortalama). Sonuç olarak, tahminleriniz önemli bir tahmin edilen olasılık aralığındayken iyi bir kalibrasyon özeti puanınız olabilir (örneğin, düşük (= iyi) bir brier skorunuz olabilir, ancak başarı tahmini belirli bir seviyenin üstünde veya altında tahmin olasılığı) veya tersi (kötü bir özet puanı, tahminler kritik alanda iyi kalibre edilirken). Bu nedenle, sizin durumunuzda böyle kritik bir tahmini başarı olasılığı aralığının olup olmadığını düşünmenizi öneririm. Öyleyse, uygun önlemleri kullanın (örn. Yeniden sınıflandırma endeksleri). Değilse (yani genel kalibrasyonla ilgilendiğiniz anlamına gelir), brier kullanın,

Sonuç olarak, kalibrasyon özeti ölçülerinden herhangi biri, tahmin edilen olasılıklarınızı gözlemlenen olasılığa göre çizmek için ilk adımınızı gerektirir (bkz. Outlier'in cevabı, nasıl yapılacağı). Daha sonra, özet ölçü hesaplanabilir, ancak özet ölçü seçimi ilk etapta başarısızlık başarısını tahmin etme hedefini yansıtmalıdır.


0

Seyrek veriler üzerinde tahmin modeli yaptım ve bu durumlarda modelinizin kalibre edilmesi büyük bir zorluk. Size ne yaptığımı anlatacağım, bundan biraz yardım alabilirsiniz.

Tahmin edilen olasılıkların 20 bölümünü yaptım ve ortalama tahmin edilen ve gerçek başarı olasılığını çizmeye çalıştım. Ortalama tahmin edilen olasılık için, bin aralığının ortalamasını aldım. Ortalama gerçek olasılık için, çöp bidonundaki gerçek başarı ve başarısızlık sayısını hesapladım. Aykırı değerlerin etkisini azaltmak için, her bölmede gerçek medyan olasılık almadan önce üst ve alt% 5 verilerini kaldırdım.

Bunları aldıktan sonra verileri kolayca çizebilirim.


Bunun Hosmer-Lemeshow uyum iyiliği testinin hesaplanmasındaki ilk adım olduğunu belirtmek iyi olur.
jwimberley
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.