rbprobitGibbs帮助文档模拟输入值?

时间:2016-08-03 19:06:16

标签: r bayesian

当我查看上面的帮助文件时,它在R:

中提供了这个示例程序
##
## rbprobitGibbs example
##
if(nchar(Sys.getenv("LONG_TEST")) != 0) {R=2000} else {R=10}

set.seed(66)
simbprobit=
function(X,beta) {
##  function to simulate from binary probit including x variable
y=ifelse((X%*%beta+rnorm(nrow(X)))<0,0,1)
list(X=X,y=y,beta=beta)
}

nobs=200
X=cbind(rep(1,nobs),runif(nobs),runif(nobs))
beta=c(0,1,-1)
nvar=ncol(X)
simout=simbprobit(X,beta)

Data1=list(X=simout$X,y=simout$y)
Mcmc1=list(R=R,keep=1)

out=rbprobitGibbs(Data=Data1,Mcmc=Mcmc1)

summary(out$betadraw,tvalues=beta)

if(0){
## plotting example
plot(out$betadraw,tvalues=beta)
}

所以,我的问题是,simbprobit的代码是否只是为rbprobitGibbs函数准备了一些模拟值?也就是说,如果我从rbprobitGibbs计算结果,我是否可以有效地忽略simbprobit并简单地准备Data,Prior,Mcmc输入值?

1 个答案:

答案 0 :(得分:0)

是的,经过一些研究,我发现它是通过simbprobit的模拟随机输入,因为函数调用rnorm意味着它是一个随机变量。从帮助文件:

&#34; dnorm给出密度,pnorm给出分布函数,qnorm给出分位数函数,rnorm生成随机偏差。&#34;