##### A random sample from a few normal distributions #####
testdata <- c(rnorm(50), rnorm(50, 5, 1), rnorm(50))
bcp.0 <- bcp(testdata)
plot.bcp(bcp.0)
##### An example using NetWorkSpaces for parallel MCMC; note that
##### you must have package nws as well as an NWS server available,
##### specified in the nwsHost argument (see Details, above).
if (require(nws)) {
s <- sleigh(workerCount=4, nwsHost='hostname.XXX.YYY.ZZZ')
bcp.parallel <- bcp(testdata, nwssleigh=s)
stopSleigh(s)
}
##### Coriell chromosome 11 #####
data(coriell)
chrom11 <- as.vector(na.omit(coriell$Coriell.05296[coriell$Chromosome==11]))
bcp.11 <- bcp(chrom11)
plot.bcp(bcp.11)
# to see bcp and Circular Binary Segmentation results run:
if(require("DNAcopy")) {
n <- length(chrom11)
cbs <- segment(CNA(chrom11, rep(1, n), 1:n), verbose = 0)
cbs.ests <- rep(unlist(cbs$output[6]), unlist(cbs$output[5]))
op <- par(mfrow=c(2,1),col.lab="black",col.main="black")
op2 <- par(mar=c(0,4,4,2),xaxt="n", cex.axis=0.75)
plot(1:n, bcp.11$data, col="grey", pch=20, xlab="Location", ylab="Posterior Mean", main="Posterior Means and Probabilities of a Change")
lines(cbs.ests, col="red")
lines(bcp.11$posterior.mean, lwd=2)
par(op2)
op3 <- par(mar=c(5,4,0,2), xaxt="s", cex.axis=0.75)
plot(1:n, bcp.11$posterior.prob, type="l", ylim=c(0,1), xlab="Location", ylab="Posterior Probability", main="")
for(i in 1:(dim(cbs$output)[1]-1)) abline(v=cbs$output$loc.end[i], col="red")
par(op3)
par(op)
} else {
cat("DNAcopy is not loaded")
}
##### RealInt #####
data("RealInt")
bcp.ri <- bcp(as.vector(RealInt))
plot.bcp(bcp.ri)
# to see bcp and Bai and Perron results run:
if(require("strucchange")) {
bp <- breakpoints(RealInt ~ 1, h = 2)$breakpoints
rho <- rep(0, length(RealInt))
rho[bp] <- 1
b.num<-1 + c(0,cumsum(rho[1:(length(rho)-1)]))
bp.mean <- unlist(lapply(split(RealInt,b.num),mean))
bp.ri <- rep(0,length(RealInt))
for(i in 1:length(bp.ri)) bp.ri[i] <- bp.mean[b.num[i]]
xax <- seq(1961, 1987, length=103)
op<-par(mfrow=c(2,1),col.lab="black",col.main="black")
op2 <- par(mar=c(0,4,4,2),xaxt="n", cex.axis=0.75)
plot(1:length(bcp.ri$data), bcp.ri$data, col="grey", pch=20, xlab="", ylab="Posterior Mean", main="U.S. Ex-Post Interest Rate")
lines(bcp.ri$posterior.mean, lwd=2)
lines(bp.ri, col="blue")
par(op2)
op3 <- par(mar=c(5,4,0,2), xaxt="s", cex.axis=0.75)
plot(xax, bcp.ri$posterior.prob, yaxt="n", type="l", ylim=c(0,1), xlab="Year", ylab="Posterior Probability", main="")
for(i in 1:length(bp.ri)) abline(v=xax[bp[i]], col="blue")
axis(2, yaxp=c(0, 0.9, 3))
par(op3)
par(op)
} else {
cat("strucchange is not loaded")
}
Run the code above in your browser using DataLab