我只是想知道是否有人有一些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