Estoy tratando de implementar una regresión del quantile simple en R
con 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)
con qreg.jag como sigue:
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)
}
He comparado mis resultados con bayesQR
paquete: no coinciden los resultados y lo he implementado da estimaciones razonables.
¿Puede alguien ayudar?