2009-10-06 11 views
2

Может кто-нибудь объяснить мне, почемуMCMClogit путаница

simulatedCase <- rbinom(100,1,0.5) 
simDf <- data.frame(CASE = simulatedCase) 
posterior_m0 <<- MCMClogit(CASE ~ 1, data = simDf, b0 = 0, B0 = 1) 

всегда приводит к коэффициенту приема MCMC от 0? Любое объяснение будет принята с благодарностью!

ответ

3

Я думаю, что ваша проблема в формуле модели, начиная с logistic regression models have no error term. Таким образом, модель CASE ~ 1 должна быть заменена чем-то вроде CASE ~ x (переменная предиктора x является обязательной). Вот ваш пример, изменение:

CASE <- rbinom(100,1,0.5) 
x <- 1:100 
posterior_m0 <- MCMClogit (CASE ~ x, b0 = 0, B0 = 1) 
classic_m0 <- glm (CASE ~ x, family=binomial(link="logit"), na.action=na.pass) 

Так что я думаю, что ваша проблема не связана с библиотекой MCMCpack (отказ от ответственности: Я никогда не использовал этот пакет).

+0

Этот код работает, но он подходит для двух переменных: перехвата и линейного члена для зависимости от x. Первоначально я предполагал использовать MCMClogit только для соответствия перехвату, вне зависимости от x (странный сценарий, я знаю ...) .. – Alexander

0

Для тех, кто спотыкаясь в эту же проблему:

кажется, что функция MCMClogit не может ничего, кроме B0 = 0 обрабатывать, если ваша модель имеет только перехватывать.

Если вы добавляете ковариат, то вы можете точно указать точность.

Я бы рассмотрел другие пакеты (такие как рука или rjags), если вы действительно хотите попробовать эту модель. Список вариантов, доступных для байесовской регрессии, см. http://cran.r-project.org/web/views/Bayesian.html