Dengan paket Stan dan frontend rstanarm
atau brms
saya dapat dengan mudah menganalisis data dengan cara Bayesian seperti yang saya lakukan sebelumnya dengan model campuran seperti lme
. Sementara saya memiliki sebagian besar buku dan artikel oleh Kruschke-Gelman-Wagenmakers-dll di meja saya, ini tidak memberi tahu saya bagaimana meringkas hasil untuk audiens medis, terpecah antara Skylla murka Bayesian dan Charybdis pengulas medis ( "Kami ingin signifikansi, bukan hal-hal yang menyebar").
Contoh: Frekuensi lambung (1 / mnt) diukur dalam tiga kelompok; kontrol yang sehat adalah rujukan. Ada beberapa pengukuran untuk setiap peserta, jadi à la frequentist saya menggunakan model campuran berikut lme
:
summary(lme(freq_min~ group, random = ~1|study_id, data = mo))
Hasil yang sedikit diedit:
Fixed effects: freq_min ~ group
Value Std.Error DF t-value p-value
(Intercept) 2.712 0.0804 70 33.7 0.0000
groupno_symptoms 0.353 0.1180 27 3.0 0.0058
groupwith_symptoms 0.195 0.1174 27 1.7 0.1086
Untuk kesederhanaan, saya akan menggunakan kesalahan 2 * std sebagai 95% CI.
Dalam konteks frequentist, saya akan meringkas ini sebagai:
- Pada kelompok kontrol, frekuensi yang diperkirakan adalah 2,7 / mnt (mungkin tambahkan CI di sini, tapi saya kadang-kadang menghindari ini karena kebingungan yang diciptakan oleh CI absolut dan perbedaan).
- Pada kelompok gejala no_sim, frekuensi lebih tinggi sebesar 0,4 / mnt, CI (0,11 hingga 0,59) / mnt, p = 0,006 daripada kontrol.
- Pada kelompok with_symacter, frekuensi lebih tinggi sebesar 0,2 / menit, CI (-0,04 hingga 0,4) / menit, p = 0,11 dari kontrol.
Ini adalah tentang kompleksitas maksimum yang dapat diterima untuk publikasi medis, peninjau mungkin akan meminta saya untuk menambahkan "tidak signifikan" dalam kasus kedua.
Di sini adalah sama dengan stan_lmer
dan standar bawaan.
freq_stan = stan_lmer(freq_min~ group + (1|study_id), data = mo)
contrast lower_CredI frequency upper_CredI
(Intercept) 2.58322 2.714 2.846
groupno_symptoms 0.15579 0.346 0.535
groupwith_symptoms -0.00382 0.188 0.384
di mana CredI adalah interval kredibel 90% (lihat sketsa rstanarm mengapa 90% digunakan sebagai default.)
Pertanyaan:
- Bagaimana menerjemahkan ringkasan di atas ke dunia Bayesian?
- Sejauh mana diperlukan diskusi sebelumnya? Saya cukup yakin makalah itu akan kembali dengan "asumsi subyektif" yang biasa ketika saya menyebutkan prior; atau setidaknya dengan "tidak ada diskusi teknis, silakan". Namun semua otoritas Bayesian meminta agar interpretasi hanya berlaku dalam konteks prior.
- Bagaimana saya bisa memberikan pengganti "signifikansi" dalam perumusan, tanpa mengkhianati konsep Bayesian? Sesuatu seperti "berbeda secara kredibel" (uuuh ...) atau hampir berbeda secara kredibel (buoha ..., terdengar seperti "hampir penuh makna).
Jonah Gabry dan Ben Goodrich (2016). rstanarm: Pemodelan Regresi Terapan Bayesian melalui Stan. Paket R versi 2.9.0-3. https://CRAN.R-project.org/package=rstanarm
Tim Pengembangan Stan (2015). Stan: Perpustakaan C ++ untuk Probabilitas dan Pengambilan Sampel, Versi 2.8.0. URL http://mc-stan.org/ .
Paul-Christian Buerkner (2016). brms: Model Regresi Bayesian menggunakan Stan. Paket R versi 0.8.0. https://CRAN.R-project.org/package=brms
Pinheiro J, Bates D, DebRoy S, Sarkar D dan R Core Team (2016). nlme: Model Efek Campuran Linier dan Nonlinier . Paket R versi 3.1-124, http://CRAN.R-project.org/package=nlme>.
group_nosymptoms
dan kemudian mengatakan probabilitasnya negatif 1 / draws
. Tetapi untuk intersep, rantai tidak akan pernah berjalan ke wilayah negatif untuk data ini, jadi saya kira Anda bisa mengatakan probabilitasnya kurang dari 1 / draws
.
mean(as.matrix(freq_stan)[,"groupwith_symptoms"] < 0)
.