Bu polinom regresyonunda Bayesiyen güvenilir aralık neden önyargılı iken güven aralığı doğrudur?


9

Aşağıdaki verileri simüle ettiğim aşağıdaki grafiği düşünün. Gerçek olma olasılığı 1 olan siyah çizgi ile gösterilen ikili sonucuna . Bir ortak değişken ve arasındaki fonksiyonel ilişki , lojistik bağlantı ile 3. dereceden polinomdur (bu nedenle çift yönlü doğrusal değildir).yÖbsxp(yÖbs=1|x)

Yeşil çizgi, 3. dereceden polinom olarak tanıtıldığı GLM lojistik regresyon uyumudur. Kesikli yeşil çizgiler tahmini etrafında% 95 güven aralığıdır , burada takılan regresyon katsayılarıdır. Ben kullandım ve bunun için.xp(yÖbs=1|x,β^)β^R glmpredict.glm

Benzer şekilde, pruple çizgisi, Bayes lojistik regresyon modelinin için% 95 güvenilir bir aralık ile arka ünitenin ortalamasıdır . Bunun için işlevli paketi kullandım (ayar önceden üniform bilgi vermez).p(yÖbs=1|x,β)MCMCpackMCMClogitB0=0

Kırmızı noktalar veri kümesinde olan siyah noktaları, olan gözlemlerdir . Sınıflandırma / ayrık analizde yaygın olarak değil gözlenmediğine dikkat edin.yÖbs=1yÖbs=0yp(yÖbs=1|x)

resim açıklamasını buraya girin

Birkaç şey görülebilir:

  1. Ben bunu bilerek simüle sol taraftan seyrek. Bilgi eksikliği (gözlemler) nedeniyle burada güven ve güvenilir aralığın genişlemesini istiyorum.x
  2. Her iki tahmin de solda yukarıya doğru eğimlidir. Bu yanlılık, gözlemini gösteren dört kırmızı noktadan kaynaklanır , bu da yanlış bir şekilde gerçek fonksiyonel formun buraya çıkacağını gösterir. Algoritma, gerçek fonksiyonel formun aşağı doğru büküldüğü sonucuna varmak için yeterli bilgiye sahip değildir.yÖbs=1
  3. Beklendiği gibi güvenilir aralık yapar oysa güven aralığı, daha geniş olur değil . Aslında güven aralığı, bilgi eksikliğinden dolayı olması gerektiği gibi tam parametre alanını kapsamaktadır.

Görünen o ki, bir kısmı için güvenilir aralık yanlış / çok iyimser . Bilgiler seyrekleştiğinde veya tamamen olmadığında güvenilir aralığın daralması gerçekten istenmeyen bir davranıştır. Genellikle güvenilir bir aralık bu şekilde tepki vermez. Birisi açıklayabilir mi:x

  1. Bunun nedenleri nelerdir?
  2. Daha güvenilir bir aralığa gelmek için hangi adımları atabilirim? (yani, en azından gerçek fonksiyonel formu çevreleyen veya daha iyisi güven aralığı kadar genişler)

Grafikte tahmin aralıkları elde etmek için kod burada yazdırılır:

fit <- glm(y_obs ~ x + I(x^2) + I(x^3), data=data, family=binomial)
x_pred <- seq(0, 1, by=0.01)
pred <- predict(fit, newdata = data.frame(x=x_pred), se.fit = T)
plot(plogis(pred$fit), type='l')
matlines(plogis(pred$fit + pred$se.fit %o% c(-1.96,1.96)), type='l', col='black', lty=2)


library(MCMCpack)
mcmcfit <- MCMClogit(y_obs ~ x + I(x^2) + I(x^3), data=data, family=binomial)
gibbs_samps <- as.mcmc(mcmcfit)
x_pred_dm <- model.matrix(~ x + I(x^2) + I(x^3), data=data.frame('x'=x_pred))
gibbs_preds <- apply(gibbs_samps, 1, `%*%`, t(x_pred_dm))
gibbs_pis <- plogis(apply(gibbs_preds, 1, quantile, c(0.025, 0.975)))
matlines(t(gibbs_pis), col='red', lty=2)

Veri erişimi : https://pastebin.com/1H2iXiew teşekkürler @DeltaIV ve @AdamO


Birisi bana bir tabloyu verilerle nasıl paylaşacağımı açıklayabilirse, bunu yapabilirim.
tomka

dputVerileri içeren veri çerçevesinde kullanabilir ve ardından dputçıktıyı kodunuza çıktı olarak ekleyebilirsiniz .
DeltaIV

1
@ tomka oh anlıyorum. Renk körü değilim ama yeşil / mavi farkı görmek benim için çok zor!
AdamO

1
@AdamO bu daha iyi umut
tomka

Yanıtlar:


6

Bir frekansçı model için, tahminin varyansı, merkezin sentroidinden uzaklığın karesiyle orantılı olarak büyür. X. Bayesian GLM için tahmin aralıklarını hesaplama yönteminiz, takılan olasılık eğrisine dayalı ampirik nicelikleri kullanır, ancak aşağıdakileri hesaba katmazXkaldıraç.

Bir binom frekansçı GLM, varyansın ortalama ile orantılı olması dışında kimlik bağlantılı bir GLM'den farklı değildir.

Logit olasılıklarının herhangi bir polinom temsilinin, 0'a dönüşen risk tahminlerine yol açtığını unutmayın. X- ve 1 gibi Xya da tam tersi, en yüksek polinom düzen teriminin işaretine bağlı olarak .

Sıkça yapılan tahmin için, öngörülerin varyansındaki kare sapma (kaldıraç) orantılı artışı bu eğilime baskındır. Bu nedenle, yaklaşık olarak [0, 1] 'e eşit tahmin aralıklarına yakınsama oranı, üçüncü dereceden polinom logit yakınsamasının tek başına 0 veya 1 olasılıklarına göre daha hızlıdır.

Bu Bayes posterior monte edilmiş kantillerde böyle değildir. Kareli sapmanın açık bir kullanımı yoktur, bu nedenle uzun vadeli tahmin aralıkları oluşturmak için 0 veya 1 eğilimlerine hakim olma oranına güveniriz.

Bu, aşırı uç noktalara X.

Yukarıda verdiğim kodu kullanarak:

> x_pred_dom <- model.matrix(~ x + I(x^2) + I(x^3), data=data.frame('x'=c(1000)))
> gibbs_preds <- plogis(apply(gibbs_samps[1000:10000, ], 1, `%*%`, t(x_pred_dom))) # a bunch of 0/1s basically past machine precision
> prop.table(table(gibbs_preds))
gibbs_preds
         0          1 
0.97733585 0.02266415 
> 

Böylece, zamanın% 97.75'i üçüncü polinom terimi negatifti. Bu Gibbs örneklerinden doğrulanabilir:

> prop.table(table(gibbs_samps[, 4]< 0))

 FALSE   TRUE 
0.0225 0.9775 

Dolayısıyla, tahmin edilen olasılık 0'a yaklaşır. Xsonsuzluğa gider. Bayesian modelinin SE'lerini incelersek, üçüncü polinom teriminin tahmini -185,25 ile 108,81, yani 0'dan 1,70 SD olduğu anlamına gelir, bu yüzden normal olasılık yasalarını kullanarak, zamanın% 95,5'in altına düşmelidir ( 10.000 yinelemeye dayanan çok farklı bir tahmin değil). Bu fenomeni anlamanın başka bir yolu.

Öte yandan, sık sık uyum beklendiği gibi 0,1'e kadar üfler:

freq <- predict(fit, newdata = data.frame(x=1000), se.fit=T)
plogis(freq$fit + c(-1.96, 1.96) %o% freq$se.fit)

verir:

> plogis(freq$fit + c(-1.96, 1.96) %o% freq$se.fit)
     [,1]
[1,]    0
[2,]    1

Yine de: Bayesian modeli verilerin alanlarında fazla güvenmiyor mu? xhiçbir örnek görmedim? Bayes posteriorlarının veya kestirimci dağılımların genellikle çok farklı davranışları olduğunu biliyorum (daha çok konf. Aralığı gibi). Öncekinin bir etkisi olduğundan şüpheleniyorum. Eğer manipüle ederse B0de MCMClogitsize normal bir önceki kesinliğini belirtmek ve inandırıcı aralığına oldukça büyük bir etkisi gözlemleyebiliriz.
tomka

@tomka Eldeki soruya teğet göründüğü için buna nasıl cevap vereceğimi bilmiyorum. En önemli şey, PI'leri hesaplamak için bu yöntemlerin, özellikle ekstrapolasyonla ilgili olduklarından, gerçekten karşılaştırılabilir olmadığına işaret etmektir. Tabii ki, Bayesian çıkarsama ile, önceden bilgilendirici bir bilgi kullanırsanız, önceki doğru olduğunda verimlilik kazanırsınız ve önceki yanlış olduğunda kaybedersiniz.
AdamO

Sadece cevabını hala düşündüğümü bilmen için. Hala arka kısmın genişlemeye yol açarak tepki göstermemesinin garip olduğunu hissediyorum. Diğer öncelikler için seyrek bölgede daha iyi bir davranışın sağlanabileceğine inanıyorum. Bunu şu anda tam olarak anlayamıyorum; Soruyu belki de, ekstrapolasyon durumunda bile güvenilir aralığın beklediğim şekilde çalıştığı bir örnekle artıracağım (özellikle normal Bayes regresyonunu düşünüyorum). Yaptığımda sana haber vereceğim.
tomka
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.