Bayesliler Monte Carlo simülasyon yöntemlerini kullanarak yöntemlerini nasıl doğrularlar?


11

Arkaplan : Sosyal psikolojide, teorik istatistiklerin ve matematiğin nicel derslerimde zar zor kaplandığı bir doktora sahibim. Lisans ve grad okulu aracılığıyla (muhtemelen çoğunuz sosyal bilimlerde de olabilir) muhtemelen klasik "frekans" çerçevesi aracılığıyla öğretildi. Şimdi, ben de Ar seviyorum ve yöntemler işi yapar doğrulamak için simülasyon yöntemleri kullanarak yolubana matematiksel kanıtlardan daha mantıklı geliyor (yine: teorik istatistiklerden ziyade niceliksel bir sosyal bilimde arka plan). Freentist yöntemler ve simülasyon yöntemleri birlikte bana çok mantıklı geliyor. Frekansçılar olasılığı uzun vadede olasılık olarak görürler (örneğin, bunu keyfi olarak çok sayıda yaparsam ve zamanın% 50'sinde gerçekleşirse,% 50 olasılık vardır). Bu uzun vadeyi Monte Carlo yöntemleri ile simüle edebiliriz!

Komplikasyonlar : undergrad beri, Bayes yöntemleri çok farkında olmuştur ve her zaman hayatımda insanlar olasılık almak, sonuçları yorumlamak daha kolay olduğunu söyleyerek, Bayes tarafına beni çağırıyor olmuştur için verilerin yerine hipotezi bir hipotez, vb. verdim. Ben gerçekten bunun içindeydim ve bir Bayes dersi aldım, bazı Bayes kitaplarını ve makalelerini okudum ve şimdi Stan ve onunla ilişkili R paketlerine oldukça aşinayım.

Mayo'ya girin : Bir süre "Bayesian muhtemelen geleceğin yolu" diye düşündükten sonra, Deborah Mayo'nun İstatistiksel Çıkarımını Ciddi Testler olarak okudum . Kitabın başında bir taraf seçmediğini söylüyor, ama öyle yapıyor: O bir frekansçı ve kitabın çoğu sıkça kullanılan metodolojileri savunuyor. Mutlaka kanıt görme biçiminin geçerli olduğunu düşünüp düşünmediğimiz konusunda bir tartışmaya girmek istemiyorum, ama bu beni düşündürdü: Bayes gerçekten reklamı yapılan her şey mi? Demek istediğim, Bayes kalabalığı o kadar kırıldı ki, verileri Bayes çerçevesindeki analiz etmenin "doğru" yolunu bile bilmiyorum. Genellikle, sadecerstanarmve bugünkü nokta tahminleri ve güvenilir aralıklar ... sık sık sık tahminler ve güven aralıkları ile yakından uyumludur. Model karşılaştırmaları yapabilirim, ancak her zaman Bayes faktörlerini posterior olasılık karşılaştırmaları olarak tanımlamaktan korkuyorum.

Daha Fazla Düşünme : Mayo'nun kitabında düşünmeye devam ettiğim şey şuydu: Sık kullanılan yöntemlerimizin çalışmasını sağlamak için bilgisayarları kullanmanın bir yolu var, çünkü olasılık uzun vadede gördüğümüz şeydir ve bunu simüle edebiliriz. Bayesliler, Bayes okuluna (varsayılan, öznel, vb.) Bağlı olarak, olasılığın gerçekte ne olduğu konusunda bile anlaşamazlar. Bu da beni soruma götürüyor:

Soru : Bayesyanlar, olasılık uzun vadede oranlar olarak tanımlanmamışsa, yöntemlerinin belirsizliği doğru tanımladığını (yani geçerli güvenilir aralıkları ve posterior dağılımları hesaplayın) Monte Carlo simülasyon yöntemlerini kullanarak nasıl doğrular?

Örnek : Bir veri oluşturucu oluşturuyorum. Bu sadece .5 olasılıklı bir Bernoulli dağılımından taklit edecek:

set.seed(1839)
p <- .50
n <- 100
gen_dat <- function(n, p) {
  rbinom(n, 1, p)
}

Şimdi diyelim ki lojistik regresyondaki güven aralıklarının gerçekten geçerli olduğundan emin olmak istiyorum. Bir regresyonu birçok kez simüle edebilir ve gerçek nüfus değerinin% 95 güven aralığının% 95'ine düştüğünden emin olabilirim. Sadece kesişim modeli, bu yüzden pdoğru tahmin ettiğimden emin olmak istiyorum :

set.seed(1839)
iter <- 10000
results <- sapply(seq_len(iter), function(zzz) {
  mod <- glm(gen_dat(n, p) ~ 1, binomial)
  conf <- suppressMessages(confint(mod))
  log(p / (1 - p)) < max(conf) & log(p / (1 - p)) > min(conf)
})
mean(results)

Bu işlemin çalışması birkaç dakika sürüyor, ancak sonuçta mean(results)bize çağrı geliyor 0.9416. Bu yaklaşık% 95'tir ve glmemrin belirsizliği geçerli bir şekilde tanımladığından eminim . Eminim yukarı kalktı iterve burada daha uzun süre dizüstü bilgisayarımda beklemek istesem, sağa doğru% 95 oranında daha yakın olurdu .

Öte yandan, aynı şey için bir Bayes modeli koyalım:

library(rstanarm)
set.seed(1839)
dat <- data.frame(y = gen_dat(n, p))
stan_mod <- stan_glm(y ~ 1, binomial, dat)
summary(stan_mod)

Kısmen, bu bana şunu verir:

Estimates:
                mean   sd    2.5%   25%   50%   75%   97.5%
(Intercept)    -0.1    0.2  -0.5   -0.2  -0.1   0.0   0.3  
mean_PPD        0.5    0.1   0.3    0.4   0.5   0.5   0.6  
log-posterior -73.0    0.7 -75.1  -73.1 -72.7 -72.5 -72.5  

Bayesliler olasılığı uzun vadede gördüklerimiz olarak tanımlamadığından, doğrulamak için stan_glmbelirsizliği doğru bir şekilde yakalamaktan ziyade simülasyon yöntemlerini nasıl kullanabilirim ? Yani, bu güvenilir aralıkların simülasyon yöntemleri kullanarak geçerli olduğuna nasıl güvenebilirim? Ve şimdi, bir öncekini tanımlamıyorum bile - burada önceliğin dahil edilmesi nasıl devreye giriyor, çünkü bu belirsizlik ölçütlerimizi etkileyecek?

Bir kez sıfırdan Stan'de bir engel modeli bileşeni ile bir beta regresyonu yazmaya çalışırken, birisinin bana tavsiye etmesini istedim: "Verileri simüle et. Bir sürü kez yapın ve gerçek tahminler 95 civarında güvenilir aralıkta olmalıdır. % 'si. " Ama bu benim için Bayeslilerin inandığı şeye aykırı! Bu, sık sık olasılık anlayışına dayanır! Öyleyse bir Bayesci, modelime yapılan summary()çağrıdan aldığım güvenilir aralığın simülasyon yöntemlerini kullanarak belirsizliği doğru bir şekilde tanımladığına nasıl ikna edebilirim ?

Sorunun Amacı : Bu önemsiz bir örnek, ancak çoğu zaman müşteriler bana zor problemler sunuyor. Ve bilmediğim şeyleri deniyorum, bu yüzden yaptığım şeyin geçerli olduğundan emin olmak için sıklıkla bir simülasyon çalışması yürütüyorum. Stan'e özel bir model yazsaydım, yaptığım şeyin yasal olduğunu nasıl bilebilirdim? Stan'de yaptığımın aslında ne bilmek istediğimi söyleyeceğini doğrulamak için simülasyon yöntemlerini nasıl kullanabilirim?


3
İyi soru. İki yorum: 1. Biz sık yöntemler modellerini "doğrulamak" için sim yöntemlerini kullanabiliriz, ancak tek başına simülasyon, sık sık bir modelin güvenilirliği hakkında bizi tamamen bilgilendiremez. 2: Bayesian / Stan modelinin çıkarım için güvenilir OLMADIĞINI bilmenin yolları vardır. Örneğin, ısınma süresinden sonra ıraksak geçişler gözlenmiştir.
JTH

1
Bence iki çeşit “belirsizlik” ile karşı karşıya kalıyorsunuz. Sıklıkla kullanılan yöntemler, belirsizliklerle ilgilenir ve uzun dönemli özellikleri ile haklıdır. Bayesci yöntemler epistemik belirsizlikle ilgilenir ve uzun özelliklerine dayanarak gerekçelendirilmesine gerek yoktur. Özellikle,% 95 güvenilir aralıkların% 95 güven aralığı olması gerekmez. Yine de, Bayesliler bile "kalibre edilmeyi", yani Frequentist olasılıkları eşleştirmeyi isteyebilir. Bakınız: Rubin, DB. "Uygulamalı istatistikçi için bayesçe haklı ve ilgili frekans hesaplamaları. İstatistik Yıllıkları 1984: 12: 1151-1172.
a.arfe

öznel olasılıklar dünyasında yaşıyorsanız belki de hiçbir şeyi doğrulamanız gerekmez, asla yanılmazsınız
Aksakal

En azından aralıklar için, düşündüğünüzü neden yapamadığınızı görmek için stats.stackexchange.com/questions/2272/… adresine bakmak isteyebilirsiniz .
Dave Harris

Yanıtlar:


5

Bence sorunuzun mantıklı problemini görüyorsunuz. Sıkça yapılan paradigmada, bir popülasyon gerçeğini varsaymak, veri üretmek ve tahminlerin iyi bir kapsama sahip olup olmadığını görmek iyidir, çünkü yapmaları gereken şey budur. Ancak Bayesci paradigmada veri üretmek için temel bir gerçek yoktur! Bayesliler veri verilen bu tür gerçeklerin olasılığını soruyorlar, bu yüzden simülasyonda verilere yol açan ve daha sonra veriyi koşullandıran farklı gerçeklere ihtiyacımız var. Uygulamada, neyse ki, her zaman tanım gereği geçerli olan koşullu olasılık yasasını simüle eder. Bu sayıyı Rouder, 2014, Psikonomik Bülten ve Gözden Geçirme'de ele alıyorum. https://dx.doi.org/10.3758/s13423-014-0595-4


1

Bayesianlar, eğer olasılık uzun vadede oranlar olarak tanımlanmamışsa, yöntemlerinin belirsizliği doğru tanımladığını (yani geçerli güvenilir aralıkları ve posterior dağılımları hesaplayın) Monte Carlo simülasyon yöntemlerini kullanarak nasıl doğrular?

Buradaki karışıklığın Bayesci istatistiklerde simülasyon yöntemlerinin amacı ile ilgili olduğuna inanıyorum. Gibbs Sampling veya Hamiltonian Monte Carlo gibi Markov Zinciri Monte Carlo yöntemlerinin tek amacı Bayes kuralının paydasını hesaplamaktır.

Elbette, MCMC'yi gereksiz kılan diğer yöntemler de vardır. Bazı modeller eşleniklik kullanılarak ifade edilebilir, bazıları ise parametre alanı üzerine ince bir ızgara uygulanarak ifade edilebilir, ancak diğerleri kabul-reddi testi ile çözülebilir. MCMC'nin işe yaradığı yer, integralin kötü davrandığı zamandır.

π(θ|x)=f(X|θ)π(θ)θΘf(X|θ)π(θ)dθ,
f(X|θ)π(θ)f(X|θ)π(θ|X)bire eşittir. MCMC'nin amacı en alt sayıyı belirlemektir. Alttaki sayının sabit olduğunu unutmayın. Beklenen olasılıktır.

Bu sayının doğruluğu, tüm parametre tahminlerini değil, bazılarını belirler. Maksimum posteriori tahmincisi kullanıyorsanız, MCMC gereksiz bir adımdır. Bunun yerine bir tepe tırmanma algoritması oluşturmalısınız. Öte yandan, posterior ortalamayı veya bir aralığı belirlemek gerekir. Çünkü% 95 aralığı bir şeyin% 95'i olmalıdır ve payda bir şeyin ölçeğini belirler.

MCMC'nin Bayes metodolojilerindeki amacı Markov zincirlerinin arka yoğunluğa yaklaşmasını sağlamaktır. İşte bu. Hiçbir şeyin geçerliliğini test etmez. Sadece bir sabit nokta değeri belirleme girişimidir. Bu bir tür sayısal bütünleşmedir. Tüm yoğun bölgelerin kapsanıp kapandığını algoritmanın sonsuza kadar çalıştırmasına izin vermeden bilmenin bir yolu olmadığından, bazı insan yargıları vardır. Algoritmanın yapıldığına inandığında bir kesime sahip olacaktır, ancak bu aslında yapıldığı anlamına gelmez.

Frequentist metodolojilerde, MCMC genellikle bir modelin makul olup olmadığını test etmek veya analitik olmadığında bir çözümü sayısal olarak yaklaşıklaştırmak için kullanılır. Burada benzer bir amaca hizmet etmiyor.

Stan'e özel bir model yazsaydım, yaptığım şeyin yasal olduğunu nasıl bilebilirdim? Stan'de yaptığımın aslında ne bilmek istediğimi söyleyeceğini doğrulamak için simülasyon yöntemlerini nasıl kullanabilirim?

Bu soru çok daha zor. Stan hızlı bir algoritmadır, yani ek bir yanlışlık riski için hızı değiştirir. Stan, inşaatla, çoğunlukla yanlıştan daha doğru olacaktır. Daha doğru olabilecek, ancak çok yavaş olacak yerel maksimum değerleri aramak için parametre alanını geniş ölçüde aramak üzere tasarlanmış başka algoritmalar da vardır.

θΘf(X|θ)π(θ)dθ.

Yapabileceğiniz ikinci şey, alternatif bir algoritma ile doğrulamaktır. Sayılar hiçbir zaman eşleşmeyecektir, ancak eğer onları yeterince yakın görürseniz, iyisinizdir.

Üçüncü olarak, önceden oluşturulmuş paketlerin çoğu bir şeyin yanlış olabileceği konusunda uyarılar sağlar. Bir uyarı gelirse, sorunun kaynağını araştırdıktan sonra başka bir şey kullanın, böylece başka bir algoritmada yeniden oluşturmazsınız.

Pr(μ)=N-(7,22)σ2N-(25,0,12)

Beşinci olarak, Stan'e başlamadan önce bunu yapmalısınız, marjinal olasılıklarınızı bir veya iki boyutta çizin. Algoritmaya müdahale edebilecek herhangi bir yerde sürprizler var mı?

Bayesliler olasılığı uzun vadede gördüklerimiz olarak tanımlamadığından, stan_glm'nin belirsizliği doğru bir şekilde yakaladığından emin olmak için simülasyon yöntemlerini nasıl kullanabilirim? Yani, bu güvenilir aralıkların simülasyon yöntemleri kullanarak geçerli olduğuna nasıl güvenebilirim? Ve şimdi, bir öncekini tanımlamıyorum bile - burada önceliğin dahil edilmesi nasıl devreye giriyor, çünkü bu belirsizlik ölçütlerimizi etkileyecek?

Öncekini tanımlamazsanız, modeliniz geçerli değildir. Makul bir önceki yoğunluk tanımlamıyorsanız, neden Bayesci bir model kullanıyorsunuz? Frekansçı modeller, kötü bir numune toplamaktan kaynaklanabilecek maksimum kayıp riskini en aza indirir. Çok kötümserdirler ve Bayes yönteminin yapacağı aynı sonucu üretmek genellikle daha fazla bilgi gerektirir.

Bununla birlikte, iyi bir ön yoğunluk kullanılmadan bu bir işe yaramaz. Önceki yoğunluk, Bayes yönteminin kötü bir numune seçmekten kaynaklanan ortalama kaybı en aza indirmesini sağlar. Önceki bilgilerdeki bilgiler bir ağırlıklandırma şeması gibi davranır, böylece talihsiz bir şansla bazı aşırı numuneler seçilirse, önceki verilerin oynadığı rolü zayıflatır.

EDIT Özel bir cevap sağlamadığımı fark ettim. Soruydu

Stan'de yaptığımın aslında ne bilmek istediğimi söyleyeceğini doğrulamak için simülasyon yöntemlerini nasıl kullanabilirim?

X

p1-pp{1/3,1/2,2/3}

Sizin için önemli olan, Bayesci tahminin gerçek dağılım olması imkansızdır. Üç dağılımdan biri gerçek dağılımdır. Bayes usulleri olasılıklarını gözlemlenen değere ve öncekine göre ağırlıklandırır. Posterior asla gerçek dağılım ya da tahmin yoğunluğu olamaz.

"Olası tüm açıklamaların (parametreler, modeller, vb.) Üzerinde altı kafa ve iki kuyruk görme olasılığının ne olduğunu soruyor."

'H0:p=1/3,

Bir örneği sabit tutmak için simülasyonları kullanırsanız, Bay'in teoreminin matematiksel bir teorem olması nedeniyle Stan'in takdire şayan bir performans sergileyeceğini görürsünüz. Ex-post en uygunudur. Tek bulacağınız algoritma, paydayı tahmin etmede doğal hata seviyesine kadar Bayes teoremini doğru bir şekilde uyguladı.

Yapabileceğiniz üç şey var. İlk olarak, örnek dışı veriler için model puanlama yöntemlerini kullanabilirsiniz. İkincisi, bir Bayesci model seçimi veya model ortalama alma işlemi kullanabilirsiniz. Üçüncüsü, bunu Frequentist bir sorun olarak ele alabilir ve tahmin edicilerin örnekleme dağılımını oluşturabilirsiniz.

İlk olarak, puanlama yöntemleri kendi başına bütün bir literatürdür. Onları araştırmalısın. Bayesci model seçimi ve model ortalaması modellere parametre olarak davranır. Model seçimi için modellerin doğru olma olasılığı hesaplanır. Olasılığın ortalamasını almak için her bir model doğrudur ve model alanı üzerinde ağırlık olarak işlev görür. Son olarak, bunu Frequentist bir model olarak ele alabilirsiniz.

Sonuncusu, önceki standartlar nedeniyle birçok standart durumda bir sorun olacaktır. Üç veya daha fazla boyuta ve normal dağılıma sahip modeller için, önceki yoğunluk uygun bir yoğunluk değilse, arka yoğunluk birliğe entegre olmaz. Başka bir deyişle, mermiyi ısırmanız ve herhangi bir gerçek karmaşıklığa sahip herhangi bir model için bir öncelik seçmeniz gerekir.

Doğru şekilde merkezlenmiş uygun bir önceki varlığın varlığı, Bayesian yönteminin, iyileştirilmiş bilgiler nedeniyle karşılık gelen Frequentist yöntemden daha üstün olacağı durumu zorlar. Bayesian yöntemi makul herhangi bir standart altında kazanacaktır. Bu, Frequentist yöntemdeki bir kusurdan kaynaklanmıyor, ancak Bayesian yöntemi dış bilgileri varsayıyor. Frequentist yöntemi, yalnızca örnekteki bilgileri göz önünde bulundurarak, gerçek bir önceliğiniz varsa daha az bilgiye sahip olacaktır.

Yine, eğer gerçek bir önceliğiniz yoksa, neden Bayesian yöntemi kullanıyorsunuz?


@Aksakal Sana katılıyorum, kararları ve analizleri birleştiriyor. Kaldırdım.
Dave Harris
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.