За допомогою пакетів Stan і Frontend rstanarm
або brms
я можу легко проаналізувати дані байєсівським способом, як я це робив раніше при змішаних моделях, таких як lme
. Хоча я маю на своєму столі більшість книг та статей Крушке-Гельмана-Вагенмакера тощо, вони не розповідають, як підводити результати для медичної аудиторії, розірваної між гнівом Скілла Байесяна та Харибдами медичних рецензентів ( "ми хочемо важливості, а не тієї розсіяної речі").
Приклад: шлункова частота (1 / хв) вимірюється в трьох групах; здоровий контроль - це орієнтир. Для кожного учасника є кілька вимірювань, тому я часто використовував таку змішану модель lme
:
summary(lme(freq_min~ group, random = ~1|study_id, data = mo))
Трохи відредаговані результати:
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
Для простоти я буду використовувати 2 * std помилку як 95% ІС.
У контексті частотизму я би це підсумував як:
- У контрольній групі орієнтовна частота становила 2,7 / хв (можливо, сюди слід додати CI, але я іноді уникаю цього через плутанину, створювану абсолютною та різницею CI).
- У групі без симптом частота була вищою на 0,4 / хв, ДІ (0,11 до 0,59) / хв, р = 0,006, ніж контрольна.
- У групі безсимптомних частота була вищою на 0,2 / хв, ІІ (від -0,04 до 0,4) / хв, р = 0,11, ніж у контролю.
Йдеться про максимально прийнятну складність для медичного видання, рецензент, ймовірно, попросить мене додати "не значиме" у другому випадку.
Тут те саме stan_lmer
і пріори за замовчуванням.
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
де CredI мають 90% достовірних інтервалів (див. віньєтку rstanarm, чому 90% використовується як за замовчуванням.)
Запитання:
- Як перекласти наведене вище резюме до байєсівського світу?
- Наскільки необхідна попередня дискусія? Я впевнений, що папір повернеться зі звичайним "суб'єктивним припущенням", коли я згадаю про пріорів; або, принаймні, "жодної технічної дискусії, будь ласка". Але всі власті Баєсів вимагають, щоб інтерпретація була справедливою лише в контексті пріорів.
- Як я можу поставити деякий суттєвий сурогат у формулюванні, не зраджуючи байєсівських концепцій? Щось на кшталт "неймовірно різного" (uuuh ...) або майже неймовірно іншого (buoha ..., звучить як "на межі значення).
Джона Габрі та Бен Гудрих (2016). rstanarm: Байєсівське прикладне регресійне моделювання через Стен. Версія пакету R 2.9.0-3. https://CRAN.R-project.org/package=rstanarm
Команда розвитку Стен (2015). Стен: Бібліотека C ++ для вірогідності та вибірки, версія 2.8.0. URL http://mc-stan.org/ .
Пол-Крістіан Буркнер (2016). brms: Байєсові регресійні моделі за допомогою Стен. Версія пакета R 0.8.0. https://CRAN.R-project.org/package=brms
Pinheiro J, Bates D, DebRoy S, Sarkar D та R Core Team (2016). nlme: Лінійні та нелінійні моделі змішаних ефектів . Версія пакета R 3.1-124, http://CRAN.R-project.org/package=nlme>.
group_nosymptoms
а потім сказати, що ймовірність його негативного значення є 1 / draws
. Але для перехоплення ланцюг ніколи не збирається бродити на негативну територію за цими даними, тому, мабуть, ви могли б сказати, що ймовірність менша 1 / draws
.
mean(as.matrix(freq_stan)[,"groupwith_symptoms"] < 0)
.