Latar belakang : Saya memiliki gelar PhD dalam psikologi sosial, di mana statistik teoretis dan matematika nyaris tidak tercakup dalam kursus kuantitatif saya. Melalui sarjana dan pascasarjana, saya diajar (seperti banyak dari Anda juga dalam ilmu sosial, mungkin) melalui kerangka kerja kerap kali "klasik". Sekarang, saya juga suka R dan menggunakan metode simulasi untuk memverifikasi bahwa metode kerja membuat caralebih masuk akal bagi saya daripada bukti matematika (sekali lagi: latar belakang dalam ilmu sosial kuantitatif, bukan statistik teoritis). Metode Frequentist dan metode simulasi bersama membuat banyak akal bagi saya. Karena frequentist melihat probabilitas sebagai peluang jangka panjang (misalnya, jika saya melakukan ini dalam jumlah besar secara sewenang-wenang, dan itu terjadi 50% dari waktu, maka ada kemungkinan 50%). Kita dapat mensimulasikan jangka panjang ini dengan metode Monte Carlo!
Komplikasi : Sejak sarjana, saya sangat menyadari metode Bayesian, dan selalu ada orang dalam hidup saya yang memanggil saya ke pihak Bayesian, mengatakan bahwa hasilnya lebih mudah untuk ditafsirkan, bahwa kami mendapatkan probabilitas untuk hipotesis daripada data. diberikan hipotesis, dll. Saya benar-benar menyukai ini dan mengambil kelas Bayesian, membaca beberapa buku dan makalah Bayesian, dan sekarang saya cukup akrab dengan Stan dan paket-paket R yang terkait.
Masukkan Mayo : Setelah berpikir "Bayesian mungkin adalah jalan masa depan" untuk sementara waktu, saya membaca Kesimpulan Statistik Deborah Mayo sebagai Pengujian Berat . Dia bilang dia tidak memilih sisi di awal buku, tetapi dia melakukannya: Dia adalah seorang yang sering, dan banyak buku yang membela metodologi yang sering. Saya tidak ingin selalu berdiskusi tentang apakah kita berpikir cara dia melihat bukti itu valid, tetapi ini membuat saya berpikir: Apakah Bayes benar-benar semua yang diiklankan? Maksudku, kerumunan Bayes begitu retak sehingga saya bahkan tidak tahu cara "benar" untuk menganalisis data dalam kerangka Bayesian sering. Biasanya, saya hanya akan menggunakanrstanarm
dan perkiraan titik saat ini dan interval yang kredibel ... yang sering kali sejalan dengan perkiraan frekuensi dan interval kepercayaan. Saya mungkin melakukan perbandingan model, tetapi saya selalu takut menggambarkan faktor Bayes sebagai perbandingan probabilitas posterior, dll.
Lebih Berpikir : Apa yang saya terus pikirkan dalam buku Mayo adalah: Ada cara kita dapat menggunakan komputer untuk memastikan metode frequentist kita bekerja, karena probabilitas adalah apa yang kita lihat dalam jangka panjang dan kita dapat mensimulasikannya. Bayesian bahkan tidak bisa menyetujui probabilitas apa yang sebenarnya, tampaknya, tergantung pada sekolah Bayesian (default, subyektif, dll.). Yang mengarahkan saya ke pertanyaan saya:
Pertanyaan : Bagaimana Bayesian memverifikasi bahwa metode mereka mendefinisikan ketidakpastian dengan benar (yaitu, menghitung interval kredibel yang valid dan distribusi posterior) menggunakan metode simulasi Monte Carlo, jika probabilitas tidak didefinisikan sebagai tingkat dalam jangka panjang?
Contoh : Saya membuat generator data. Ini hanya akan mensimulasikan dari distribusi Bernoulli dengan probabilitas 0,5:
set.seed(1839)
p <- .50
n <- 100
gen_dat <- function(n, p) {
rbinom(n, 1, p)
}
Sekarang, katakanlah saya ingin memastikan bahwa interval kepercayaan dalam regresi logistik benar-benar valid. Saya dapat mensimulasikan regresi sejumlah besar kali dan memastikan bahwa nilai populasi aktual jatuh dalam interval kepercayaan 95% dari 95% waktu. Ini model pencegat saja, jadi saya hanya ingin memastikan bahwa saya memperkirakan p
dengan benar:
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)
Ini membutuhkan waktu beberapa menit untuk berjalan, tetapi kami berakhir dengan mean(results)
panggilan memberi kami 0.9416
. Ini sekitar 95%, dan saya yakin mengatakan bahwa glm
perintah itu menggambarkan ketidakpastian dengan cara yang valid. Saya yakin itu akan menjadi lebih dekat ke tepat di hidung pada 95% jika saya naik iter
dan ingin menunggu di sini di laptop saya lagi.
Di sisi lain, mari kita paskan model Bayesian untuk hal yang sama:
library(rstanarm)
set.seed(1839)
dat <- data.frame(y = gen_dat(n, p))
stan_mod <- stan_glm(y ~ 1, binomial, dat)
summary(stan_mod)
Sebagian, ini memberi saya:
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
Karena orang Bayesia tidak mendefinisikan probabilitas sebagai apa yang kita lihat dalam jangka panjang, bagaimana saya bisa menggunakan metode simulasi untuk memverifikasi daripada stan_glm
secara akurat menangkap ketidakpastian? Yaitu, bagaimana saya bisa percaya bahwa interval yang kredibel ini valid, menggunakan metode simulasi? Dan saat ini, saya bahkan tidak mendefinisikan prior — bagaimana dimasukkannya prior ke dalam permainan di sini, karena itu akan mempengaruhi ukuran ketidakpastian kita?
Ketika saya mencoba untuk menulis regresi beta dengan komponen model rintangan di Stan dari awal sekali, saya mempunyai seseorang yang merekomendasikan kepada saya: "Simulasikan data. Lakukan beberapa kali, dan perkiraan sebenarnya harus dalam interval kredibel sekitar 95 % dari waktu. " Tetapi bagi saya, itu bertentangan dengan hal yang diyakini orang Bayesian! Itu bergantung pada pemahaman yang sering tentang kemungkinan! Jadi bagaimana seorang Bayesian meyakinkan saya bahwa interval kredibel yang saya dapatkan dari summary()
panggilan ke model saya secara akurat menggambarkan ketidakpastian, menggunakan metode simulasi?
Tujuan Pertanyaan : Ini adalah contoh sepele, tetapi banyak kali klien memberi saya masalah yang sulit. Dan saya mencoba hal-hal yang saya tidak kenal, jadi saya sering menjalankan studi simulasi untuk memastikan bahwa apa yang saya lakukan valid. Jika saya menulis model khusus di Stan, bagaimana saya tahu bahwa apa yang saya lakukan adalah sah? Bagaimana saya bisa menggunakan metode simulasi untuk memverifikasi bahwa apa yang saya lakukan di Stan sebenarnya akan memberi tahu saya apa yang ingin saya ketahui?