如何从R中删除BMA中的拦截

时间:2018-02-07 11:18:07

标签: r intercept

是否有可能从R(BMA包)中的BMA中删除拦截。我尝试将'y~x'替换为'y~0 + x'(就像在glm中一样),但它没有效果。请问我能做些什么来克服这个问题?

我的测试数据:

x <- rbind(c(0, 0, 0),c(0, 1, 0),c(1, 0, 0),c(1, 1, 1))
colnames(x) <- c("x1","x2","x3")
y <- c(1,1,1,0)
d <- as.data.frame(cbind(y,x),stringsAsFActors=F)

命令

library(BMA)
bic.glm(y~0+x,data=d,glm.family=binomial(logit))

生成输出(带截距)

Call:
bic.glm.formula(f = y ~ 0 + x, data = d, glm.family = binomial(logit))


 Posterior probabilities(%): 
 xx1  xx2  xx3 
43.3 43.3 65.0 

 Coefficient posterior expected values: 
(Intercept)          xx1          xx2          xx3  
     28.338       -8.163       -8.163      -30.641  
Warnmeldung:
glm.fit: fitted probabilities numerically 0 or 1 occurred 

但我需要BMA而不需要拦截!

0 个答案:

没有答案