2009-10-06 29 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) 

結果總是在0 MCMC接受比例是多少?任何解釋將不勝感激!

回答

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,如果你的模型只有一個攔截。

如果你添加一個協變量,那麼你可以指定一個精度就好了。

如果你真的想從這個模型中抽樣,我會考慮其他包(如arm或rjags)。有關可用於貝葉斯迴歸的選項列表,請參見http://cran.r-project.org/web/views/Bayesian.html