Poisson regresyon modellerini doğrulamak için maliyet fonksiyonu


12

Topladığım sayım verileri için Poisson regresyonunu model oluşturmak için kullanıyorum. Bunu kullandığım glmR fonksiyonunu kullanarak yapıyorum family = "poisson". Olası modelleri değerlendirmek için (birkaç tahmincim var) AIC'yi kullanıyorum. Çok uzak çok iyi. Şimdi çapraz doğrulama yapmak istiyorum. Zaten paket cv.glmişlevini kullanarak bunu başardı boot. Gönderen belgelere ait cv.glmI Eğer anlamlı bir öngörü hatası almak için belirli bir maliyet fonksiyonunu kullanmak gerekir binom verileri için örneğin bkz. Ancak, hangi maliyet işlevinin uygun olduğu hakkında henüz bir fikrim yok family = poissonve kapsamlı bir Google araması herhangi bir sonuç vermedi. Sorum şu ki cv.glm, poisson glm'lerde hangi maliyet fonksiyonunun uygun olduğuna kimin ışık tutacağı var.


1
Fonksiyon cv.glmnetpaketindeki glmnetkullanan type.measure="deviance"Poisson ailesi için.
rcs

Kesin olarak, belgeler ikili veriler için belirli bir maliyet fonksiyonunun kullanılmasının mantıklı olduğunu göstermektedir.
Korone

@corone of sürekli veri veya ikili veri değildir. Bu yüzden sayım verileri için uygun bir maliyet fonksiyonu arıyordum.
Paul Hiemstra

1
Sayımlarınız çok küçük olmadıkça, verilerin gizliliğinin burada büyük bir fark yarattığını düşünmüyorum. Mesele daha çok verilerin dağıtımı ile ilgilidir. İkili veriler için tahmin, 0 ile 1 arasında sürekli bir olasılıktır, ancak yanıt her zaman 0 veya 1'dir. Örneklerinde, maliyetin "doğru" veya "yanlış" olma ve hak ve yanlışların sayısını sayma kuvveti. Özellikle süreklilik konusunda endişeli misiniz? Sürekliliği ele almak için
cevabıma

Yanıtlar:


12

Özel durumunuzda özel bir şey olmadığını varsayarsak, varsayılanı (Ortalama Kare Hatası) kullanmak veya günlüklerin hatasının ortalamasını veya hatta kareli hatayı kullanmak için iyi bir argüman olduğunu düşünüyorum.

Maliyet fonksiyonunun amacı, yanlış tahminlerle “üzgün” olduğunuzu, özellikle “yanlışlığın” sizi en çok rahatsız ettiğini ifade etmektir. Bu özellikle ikili yanıtlar için önemlidir, ancak her durumda önemli olabilir.

Ortalama Kare Hatası (yanıtlardan)

C=1ni(YiY^i)2

MSE'yi kullanarak yukarıdan ve aşağıdan gelen hatalara eşit derecede duyarsınız ve büyük ve küçük tahminler için eşit derecede duyarsınız. Bu yapılması oldukça standart bir şey ve bu yüzden çoğu durumda kaşlarını çatacağını sanmıyorum.

Ortalama Kare Hatası (günlük yanıtlarının)

C=1ni(lnYilnY^i)2

Sayım verileriyle çalıştığınız için, simetrik veya boyut kayıtsız olmadığınız söylenebilir. 10 tahmini için 10 sayım dışında olmak 1000 tahmininden çok farklıdır. Bu, biraz "standart" bir maliyet işlevidir, çünkü bağlantı işlevine kadar maliyetleri eşleştirdiniz. Bu, maliyetlerin modelde varsayılan varyans dağılımıyla eşleşmesini sağlar.

Ki-Kare Hatası

C=1ni(YiY^i)2Y^i

Üçüncü yol, ki-kare hatasını kullanmak olacaktır. GLM'nizi diğer sayı tabanlı modellerle karşılaştırıyorsanız, özellikle de GLM'nizde faktörler varsa, bu özellikle çekici olabilir. Hata günlüğü yanıtlarına benzer şekilde, bu boyutla ölçeklenir, ancak tahmin edilen sayının etrafında simetriktir. Artık uyumun iyiliğini yüzde hatasına göre değerlendiriyorsunuz.


Ayrıklık Üzerine

Soru, ikili yanıt değişkenine sahip oldukları dokümantasyon örneğinden bahsediyor, bu yüzden farklı bir maliyet fonksiyonu kullanın. İkili bir yanıt için sorun, yanıt her zaman tam olarak 0 veya 1 olmasına rağmen, GLM'nin 0 ile 1 arasında gerçek bir sayı tahmin edeceğidir. Bu sayı doğru yanıta ne kadar yakınsa, o kadar iyidir. ancak çoğu zaman insanlar bunu istemez. Bunun nedeni, genellikle 0 veya 1 gibi davranması gerektiğidir ve bu nedenle 0 için bir tahmin olarak 0,5'ten daha az bir şey alacaktır. Bu durumda, basitçe "yanlış" tahminlerin sayısını saymak mantıklıdır. Buradaki argüman, Doğru / Yanlış bir soru için sadece doğru veya yanlış olabileceğinizdir - yanlışlığın derecelendirilmesi yoktur.

Sizin durumunuzda sayım verileriniz var. Burada, yanıtla aynı destek üzerinde olmayan tahminleri kabul etmek çok daha yaygındır. Örneğin aile başına 2,4 çocuğun veya yılda 9,7 kişinin ölümünün öngörülmesi. Genellikle bu konuda hiçbir şey yapmaya çalışmazsınız, çünkü bu "olabildiğince yakın" veya "yanlış" olmakla ilgili değildir. Eğer gerçekten çok düşük bir sayım oranına sahip olduğunuz için gerçekten de bir tamsayı olan bir tahmininiz olması gerekiyorsa, o zaman önce tahmini yuvarlayıp "tam sayı" ya da hatayı sayamazsınız. Bu durumda, yukarıdaki üç ifade hala geçerlidir, ancak önce yuvarlamanız yeterlidir .Y^


Log dönüştürülmüş yanıtın ortalama kare hatasının ortalama kare hatası ile çalışmak yerine, GLM'lerin 1 / varyans ağırlıkları kullanarak ağırlıklı ortalama kare hatası kullanması daha iyi olabilir (poisson = 1 / E (E)). Bu her türlü GLM için inanıyorum.
Tom Wenseleers
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.