Байесовский фактор для пересечения только смешанная модель логистической регрессии против нулевой модели - PullRequest
0 голосов
/ 12 февраля 2019

Я хотел бы рассчитать коэффициент Байеса для модели смешанной логистической регрессии только с перехватами и нулевой модели.

Это исследование, в котором каждый участник проходит несколько испытаний с успешным или неудачным исходом, и мыхотел бы оценить, является ли более вероятным, что данные поступили из мира, где M0 является истинным (шанс на успех равен p = 0,5 в каждом испытании), по сравнению с миром, где M1 является истинным (люди имеют другой показатель успеха, чем p= 0,5, и могут быть некоторые личные различия в уровне успеха, т.е. случайный перехват).

Я попытался сделать это с помощью пакета brms в R. В соответствии с этими руководствами для вычисленияФактор Байеса: https://rpubs.com/lindeloev/bayes_factors https://mvuorre.github.io/post/2017/03/21/bayes-factors-with-brms/

Но когда я использую подход гипотезы (), значение Evid.Ratio равно NA, и когда я пытаюсь подогнать нулевую модель с пересечением = 0 дляиспользуйте функцию bayes_factor (), нулевая модель не запускается и возвращает сообщение об ошибке:

SAMPLING FOR MODEL '7fd1e8370afde87f07b7e1f715ec714c' NOW (CHAIN 1).
[1] "Error in sampler$call_sampler(args_list[[i]]) : "
[2] " Must use algorithm="Fixed_param" for model that has no parameters."
[1] "error occurred during calling the sampler; sampling not done"

Вот мой код:

library(brms)
dat_1 = read.csv("https://raw.githubusercontent.com/kekecsz/Bayes-factor-different-distributions/master/data_all_%200.51_14000.csv")

fit2 <- brm(data_all_H1_pre2 ~ 0 + intercept + (0 + intercept|participant_ID), data = dat_1, family = bernoulli, control = list(adapt_delta = 0.90))

hypothesis(fit2, hypothesis = 'intercept = 0')

fit2_null <- brm(data_all_H1_pre2 ~ 0, data = dat_1,
family = bernoulli,
control = list(adapt_delta = 0.90))

bayes_factor(fit2, fit2_null) # can't run this, because the code above (fit2_null) returns an error.

ВВ приведенном выше примере я использую смоделированные данные, где истинный показатель успеха равен p = 0,51 вместо 0,5 для всех участников, поэтому ожидаемым результатом будет фактор Байеса, благоприятствующий M1.

Я не обязательно хочу использоватьПакет brms, это единственный, который я знаю, который может работать со смешанными моделями.Я бы тоже согласился с решением, использующим JAGS или rstan.

Как я могу вычислить коэффициент Байеса в этом случае?

...