我正在尝试R使用以下方法实现简单的分位数回归JAGS:
n <- 200
x <- runif(n=n,min=0,max=10)
y <- 1 + 2*x + rnorm(n,sd=.6*x)
p <- 0.95
jdf <- list(y=y,x=x,p=p)
params <- c("alpha","beta","tau")
mcmcmodel <- jags.model(file="qreg.jag",data=jdf,n.chains=3)
update(mcmcmodel,2000)
mcsamples <- coda.samples(mcmcmodel,params,n.iter=10000,thin=10)
使用qreg.jag如下:
model{
for(i in 1:length(y)){
mu[i] <- alpha + beta*x[i]
cmu[i] <- (step(mu[i])/(1-p) + step(-mu[i])/p)*mu[i]/2
y[i] ~ ddexp(cmu[i],2*tau*p*(1-p))
}
#priors for regression
alpha ~ dnorm(0,1E-6)
beta ~ dnorm(0,1E-6)#dunif(0,100)
lsigma ~ dunif(-5,15)
sigma <- exp(lsigma)
tau <- pow(sigma,-2)
}
我已经将我的结果与bayesQR包进行了比较:结果不匹配,并且我实施的结果给出了不合理的估计。
有人可以帮忙吗?