Displaying 2 results from an estimated 2 matches for "logprior".
Did you mean:
logerror
2007 Mar 09
1
MCMC logit
...sidering four covariates
> d.df=as.data.frame(read.table("c:/tina/phd/thesis/data/modified_data1.1.txt",header=T,sep=","))
> y=d.df[,ncol(d.df)]
> x=d.df[,1:4]
> c.df=cbind(y,x)
> #x=cbind(1,x)
> p <- ncol(c.df)
>
> # marginal log-prior of beta[]
> logpriorfun <- function(beta, mu, gshape, grate)
+ {
+ logprior = -p*log(2) + log(gamma(p+gshape)) - log(gamma(gshape))
+ + gshape*log(grate) - (p+gshape)* log(grate+sum(abs(beta)))
+ return(logprior)
+ }
> require(MCMCpack)
Loading required package: MCMCpack
Loading required package: coda
Loading req...
2007 Jun 01
0
Metropolis code help
...,'%\n')
sims
}
# Use the binomial likelihood
logitll=function(beta,y,X)
{
X<- cbind(1,DF$nsaid,DF$diuretic,DF$diuretic*DF$nsaid)
y<- DF$Var3
lF1=plogis(X%*%as.vector(beta),log.p=TRUE)
lF2=plogis(-X%*%as.vector(beta),log.p=TRUE)
sum(y*lF1+(1-y)*lF2)
}
# Use a uniform prior for p
logprior <- function(beta,y,X) 0
# The log posterior is the sum. It's the target of our MCMC run
logposterior <- function(beta,y,X) logprior(beta,y,X)+logitll(beta,y,X)
start <- c(0,0,0,0)
sims <- Metropolis(logposterior, start, 10000, sd=1)
se_sims <- apply(sims, 2, sd)
sims <- M...