Nothing
### R code from vignette source 'LaplacesDemonTutorial.Stex'
###################################################
### code chunk number 1: LaplacesDemonTutorial.Stex:64-65 (eval = FALSE)
###################################################
## install.packages(pkgs="path/LaplacesDemon_ver.tar.gz", repos=NULL, type="source")
###################################################
### code chunk number 2: LaplacesDemonTutorial.Stex:72-73
###################################################
library(LaplacesDemon)
###################################################
### code chunk number 3: LaplacesDemonTutorial.Stex:80-97
###################################################
data(demonsnacks)
N <- nrow(demonsnacks)
y <- log(demonsnacks$Calories)
X <- cbind(1, as.matrix(log(demonsnacks[,c(1,4,10)]+1)))
J <- ncol(X)
for (j in 2:J) {X[,j] <- CenterScale(X[,j])}
mon.names <- "LP"
parm.names <- as.parm.names(list(beta=rep(0,J), sigma=0))
pos.beta <- grep("beta", parm.names)
pos.sigma <- grep("sigma", parm.names)
PGF <- function(Data) {
beta <- rnorm(Data$J)
sigma <- runif(1)
return(c(beta, sigma))
}
MyData <- list(J=J, PGF=PGF, X=X, mon.names=mon.names,
parm.names=parm.names, pos.beta=pos.beta, pos.sigma=pos.sigma, y=y)
###################################################
### code chunk number 4: LaplacesDemonTutorial.Stex:122-140
###################################################
Model <- function(parm, Data)
{
### Parameters
beta <- parm[Data$pos.beta]
sigma <- interval(parm[Data$pos.sigma], 1e-100, Inf)
parm[Data$pos.sigma] <- sigma
### Log-Prior
beta.prior <- dnormv(beta, 0, 1000, log=TRUE)
sigma.prior <- dhalfcauchy(sigma, 25, log=TRUE)
### Log-Likelihood
mu <- tcrossprod(beta, Data$X)
LL <- sum(dnorm(Data$y, mu, sigma, log=TRUE))
### Log-Posterior
LP <- LL + sum(beta.prior) + sigma.prior
Modelout <- list(LP=LP, Dev=-2*LL, Monitor=LP,
yhat=rnorm(length(mu), mu, sigma), parm=parm)
return(Modelout)
}
###################################################
### code chunk number 5: LaplacesDemonTutorial.Stex:203-204
###################################################
Initial.Values <- c(rep(0,J), 1)
###################################################
### code chunk number 6: LaplacesDemonTutorial.Stex:211-212
###################################################
set.seed(666)
###################################################
### code chunk number 7: LaplacesDemonTutorial.Stex:219-220 (eval = FALSE)
###################################################
## help(LaplacesDemon)
###################################################
### code chunk number 8: LaplacesDemonTutorial.Stex:225-228 (eval = FALSE)
###################################################
## Fit <- LaplacesDemon(Model, Data=MyData, Initial.Values,
## Covar=NULL, Iterations=1000, Status=100, Thinning=1,
## Algorithm="AFSS", Specs=list(A=500, B=NULL, m=100, n=0, w=1))
###################################################
### code chunk number 9: LaplacesDemonTutorial.Stex:246-249
###################################################
Fit <- LaplacesDemon(Model, Data=MyData, Initial.Values,
Covar=NULL, Iterations=1000, Status=100, Thinning=1,
Algorithm="AFSS", Specs=list(A=500, B=NULL, m=100, n=0, w=1))
###################################################
### code chunk number 10: LaplacesDemonTutorial.Stex:254-255 (eval = FALSE)
###################################################
## str(Fit)
###################################################
### code chunk number 11: LaplacesDemonTutorial.Stex:260-261
###################################################
Fit$Acceptance.Rate
###################################################
### code chunk number 12: LaplacesDemonTutorial.Stex:272-274 (eval = FALSE)
###################################################
## Fit
## print(Fit)
###################################################
### code chunk number 13: LaplacesDemonTutorial.Stex:279-280
###################################################
Consort(Fit)
###################################################
### code chunk number 14: LaplacesDemonTutorial.Stex:285-286 (eval = FALSE)
###################################################
## Fit$Posterior2
###################################################
### code chunk number 15: LaplacesDemonTutorial.Stex:309-309
###################################################
###################################################
### code chunk number 16: LaplacesDemonTutorial.Stex:311-312 (eval = FALSE)
###################################################
## plot(Fit, BurnIn=500, MyData, PDF=FALSE, Parms=NULL)
###################################################
### code chunk number 17: fig1
###################################################
par(mfrow=c(3,3))
BurnIn <- 500
for (j in 1:3){
plot((BurnIn+1):Fit$Thinned.Samples,
Fit$Posterior1[(BurnIn+1):Fit$Thinned.Samples,j],
type="l", xlab="Thinned Samples", ylab="Value",
main=MyData$parm.names[j])
panel.smooth((BurnIn+1):Fit$Thinned.Samples,
Fit$Posterior1[(BurnIn+1):Fit$Thinned.Samples,j], pch="")
plot(density(Fit$Posterior1[(BurnIn+1):Fit$Thinned.Samples,j]),
xlab="Value", main=MyData$parm.names[j])
polygon(density(Fit$Posterior1[(BurnIn+1):Fit$Thinned.Samples,j]),
col="black", border="black")
abline(v=0, col="red", lty=2)
z <- acf(Fit$Posterior1[(BurnIn+1):Fit$Thinned.Samples,j], plot=FALSE)
se <- 1/sqrt(length(Fit$Posterior1[(BurnIn+1):Fit$Thinned.Samples,j]))
plot(z$lag, z$acf, ylim=c(min(z$acf,-2*se),1), type="h",
main=MyData$parm.names[j], xlab="Lag", ylab="Correlation")
abline(h=(2*se), col="red", lty=2)
abline(h=(-2*se), col="red", lty=2)
}
###################################################
### code chunk number 18: fig2
###################################################
par(mfrow=c(3,3))
for (j in 4:5){
plot((BurnIn+1):Fit$Thinned.Samples,
Fit$Posterior1[(BurnIn+1):Fit$Thinned.Samples,j],
type="l", xlab="Thinned Samples", ylab="Value",
main=MyData$parm.names[j])
panel.smooth((BurnIn+1):Fit$Thinned.Samples,
Fit$Posterior1[(BurnIn+1):Fit$Thinned.Samples,j], pch="")
plot(density(Fit$Posterior1[(BurnIn+1):Fit$Thinned.Samples,j]),
xlab="Value", main=MyData$parm.names[j])
polygon(density(Fit$Posterior1[(BurnIn+1):Fit$Thinned.Samples,j]),
col="black", border="black")
abline(v=0, col="red", lty=2)
z <- acf(Fit$Posterior1[(BurnIn+1):Fit$Thinned.Samples,j], plot=FALSE)
se <- 1/sqrt(length(Fit$Posterior1[(BurnIn+1):Fit$Thinned.Samples,j]))
plot(z$lag, z$acf, ylim=c(min(z$acf,-2*se),1), type="h",
main=MyData$parm.names[j], xlab="Lag", ylab="Correlation")
abline(h=(2*se), col="red", lty=2)
abline(h=(-2*se), col="red", lty=2)
}
plot((BurnIn+1):length(Fit$Deviance),
Fit$Deviance[(BurnIn+1):length(Fit$Deviance)],
type="l", xlab="Thinned Samples", ylab="Value", main="Deviance")
panel.smooth((BurnIn+1):length(Fit$Deviance),
Fit$Deviance[(BurnIn+1):length(Fit$Deviance)], pch="")
plot(density(Fit$Deviance[(BurnIn+1):length(Fit$Deviance)]),
xlab="Value", main="Deviance")
polygon(density(Fit$Deviance[(BurnIn+1):length(Fit$Deviance)]),
col="black", border="black")
abline(v=0, col="red", lty=2)
z <- acf(Fit$Deviance[(BurnIn+1):length(Fit$Deviance)], plot=FALSE)
se <- 1/sqrt(length(Fit$Deviance[(BurnIn+1):length(Fit$Deviance)]))
plot(z$lag, z$acf, ylim=c(min(z$acf,-2*se),1), type="h",
main="Deviance", xlab="Lag", ylab="Correlation")
abline(h=(2*se), col="red", lty=2)
abline(h=(-2*se), col="red", lty=2)
###################################################
### code chunk number 19: fig3
###################################################
par(mfrow=c(2,3))
JJ <- NCOL(Fit$Monitor); nn <- NROW(Fit$Monitor)
for (j in 1:JJ){
plot((BurnIn+1):nn,
Fit$Monitor[(BurnIn+1):nn,j],
type="l", xlab="Thinned Samples", ylab="Value",
main=MyData$mon.names[j])
panel.smooth((BurnIn+1):nn,
Fit$Monitor[(BurnIn+1):nn,j], pch="")
plot(density(Fit$Monitor[(BurnIn+1):nn,j]), xlab="Value",
main=MyData$mon.names[j])
polygon(density(Fit$Monitor[(BurnIn+1):nn,j]),
col="black", border="black")
abline(v=0, col="red", lty=2)
z <- acf(Fit$Monitor[(BurnIn+1):nn,j], plot=FALSE)
se <- 1/sqrt(length(Fit$Monitor[(BurnIn+1):nn,j]))
plot(z$lag, z$acf, ylim=c(min(z$acf,-2*se),1), type="h",
main=MyData$mon.names[j], xlab="Lag", ylab="Correlation")
abline(h=(2*se), col="red", lty=2)
abline(h=(-2*se), col="red", lty=2)
}
###################################################
### code chunk number 20: LaplacesDemonTutorial.Stex:424-425 (eval = FALSE)
###################################################
## plot(BMK.Diagnostic(Fit$Posterior1[501:1000,]))
###################################################
### code chunk number 21: fig4
###################################################
par(mfrow=c(1,1))
plot(BMK.Diagnostic(Fit$Posterior1[501:1000,]))
###################################################
### code chunk number 22: LaplacesDemonTutorial.Stex:442-443 (eval = FALSE)
###################################################
## caterpillar.plot(Fit, Parms="beta")
###################################################
### code chunk number 23: fig5
###################################################
par(mfrow=c(1,1))
caterpillar.plot(Fit, Parms=1:4)
###################################################
### code chunk number 24: LaplacesDemonTutorial.Stex:462-463
###################################################
Pred <- predict(Fit, Model, MyData, CPUs=1)
###################################################
### code chunk number 25: LaplacesDemonTutorial.Stex:472-473
###################################################
summary(Pred, Discrep="Chi-Square")
###################################################
### code chunk number 26: LaplacesDemonTutorial.Stex:487-488 (eval = FALSE)
###################################################
## plot(Pred, Style="Density", Rows=1:9)
###################################################
### code chunk number 27: fig6
###################################################
par(mfrow=c(3,3))
for (j in 1:9){
plot(density(Pred$yhat[j,]), xlab="Value",
main=paste("Post. Pred. Plot of yhat[", j,
",]", sep=""), sub="Black=Density, Red=y")
polygon(density(Pred$yhat[j,]), col="black", border="black")
abline(v=Pred$y[j], col="red")
}
###################################################
### code chunk number 28: LaplacesDemonTutorial.Stex:509-510 (eval = FALSE)
###################################################
## plot(Pred, Style="Fitted")
###################################################
### code chunk number 29: fig7
###################################################
par(mfrow=c(1,1))
temp <- summary(Pred, Quiet=TRUE)$Summary
plot(temp[,1], temp[,5], pch=16, cex=0.75,
ylim=c(min(temp[,c(1,4:6)], na.rm=TRUE),
max(temp[,c(1,4:6)], na.rm=TRUE)),
xlab="y", ylab="yhat", main="Fitted")
for (i in 1:length(y)) {
lines(c(temp[i,1], temp[i,1]),
c(temp[i,4], temp[i,6]))}
panel.smooth(temp[,1], temp[,5], pch=16, cex=0.75)
###################################################
### code chunk number 30: LaplacesDemonTutorial.Stex:572-573 (eval = FALSE)
###################################################
## LaplacesDemon
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.