我只是想知道是否有人有一些R代码使用包R2WinBUGS来运行逻辑回归 - 理想情况下用模拟数据来生成“真值”和两个连续的协变量。R2WinBUGS - 逻辑回归与模拟数据
谢谢。
基督教
PS:
潜在的代码来生成通过r2winbugs人工数据(一维的情况下),然后运行WinBUGS软件(它不工作还没有)。
library(MASS)
library(R2WinBUGS)
setwd("d:/BayesianLogisticRegression")
n.site <- 150
X1<- sort(runif(n = n.site, min = -1, max =1))
xb <- 0.0 + 3.0*X1
occ.prob <- 1/(1+exp(-xb))
plot(X1, occ.prob,xlab="X1",ylab="occ.prob")
true.presence <- rbinom(n = n.site, size = 1, prob = occ.prob)
plot(X1, true.presence,xlab="X1",ylab="true.presence")
# combine data as data frame and save
data <- data.frame(X1, true.presence)
write.matrix(data, file = "data.txt", sep = "\t")
sink("model.txt")
cat("
model {
# Priors
alpha ~ dnorm(0,0.01)
beta ~ dnorm(0,0.01)
# Likelihood
for (i in 1:n) {
C[i] ~ dbin(p[i], N) # Note p before N
logit(p[i]) <- alpha + beta *X1[i]
}
}
",fill=TRUE)
sink()
# Bundle data
win.data <- list(mass = X1, n = length(X1))
# Inits function
inits <- function(){ list(alpha=rlnorm(1), beta=rlnorm(1))}
# Parameters to estimate
params <- c("alpha", "beta")
# MCMC settings
nc <- 3 #Number of Chains
ni <- 1200 #Number of draws from posterior
nb <- 200 #Number of draws to discard as burn-in
nt <- 2 Thinning rate
# Start Gibbs sampling
out <- bugs(data=win.data, inits=inits, parameters.to.save=params,
model.file="model.txt", n.thin=nt, n.chains=nc, n.burnin=nb,
n.iter=ni, debug = TRUE)
第140页http://books.google.ca/books?id的= WpeZyTc6U94C给你一个部分答案。谷歌搜索“逻辑回归WinBUGS”也得到很多点击 - 没有看到他们都怀疑,但可能有代码存在。你可以发布你迄今为止尝试过的吗?另请参阅'glmmBUGS'包... –
我正在寻找特别为R代码(包R2WinBUGS)与人造数据生成。 – cs0815
嗨csetzkorn!你知道Marc Kery?从上一个问题看来,您使用的是Marc Kery的书中的代码:-)他在此有很多示例... – TMS