Description Usage Arguments Details Author(s) See Also Examples
makeAdjGrid()
produces a sparse representation of the adjacency structure for grid graphs, useful as the adj
argument in bcp()
.
1 | makeAdjGrid(n, m = NULL, k = 8)
|
n |
the number of rows of vertices in the graph data. |
m |
(optional) the number of column of vertices in the graph data. If not given, we assume |
k |
(optional) the number of neighbors assumed for a typical vertex (see details below), either 4 or 8. Default number of neighbors is assumed to be 8. |
makeAdjGrid()
produces a list representation of the adjacency structure for grid graphs. The i-th entry in the list gives a vector of neighbor ids for the i-th node. Note that neighbor ids are offset by 1 because indexing starts at 0 in C++.
If k = 8
, then we assume each node is joined via edges to its 8 neighbors in the (top left, top middle, top right, left, right, bottom left, bottom middle, and bottom right) directions, where applicable. If k = 4
, then we assume each node is joined via edges to its 4 neighbors in the (top, right, bottom, left) directions, where applicable.
Xiaofei Wang
bcp
for performing Bayesian change point analysis.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # generates an adjacency list for a 10 node by 5 node grid, assuming a maximum of 8 neighbors
adj <- makeAdjGrid(10, 5)
# generates an adjacency list for a 10 node by 5 node grid, assuming a maximum of 4 neighbors
adj4 <- makeAdjGrid(10, 5, 4)
### show a grid example
## Not run:
set.seed(5)
adj <- makeAdjGrid(20)
z <- rep(c(0, 2), each=200)
y <- z + rnorm(400, sd=1)
out <- bcp(y, adj=adj, burnin=500, mcmc=500)
if (require("ggplot2")) {
df <- data.frame(mean=z, data = y, post.means = out$posterior.mean[,1],
post.probs = out$posterior.prob,
i = rep(1:20, each=20), j = rep(1:20, times=20))
# visualize the data
g <- ggplot(df, aes(i,j)) +
geom_tile(aes(fill = data), color='white') +
scale_fill_gradientn(limits=range(y), colours=c('white', 'steelblue'))+
ggtitle("Observed Data")
print(g)
# visualize the means
g <- ggplot(df, aes(i,j)) +
geom_tile(aes(fill = mean), color='white') +
scale_fill_gradientn(limits=range(y), colours=c('white', 'steelblue'))+
ggtitle("True Means")
print(g)
# visualize the posterior means/probs
g <- ggplot(df, aes(i,j)) +
geom_tile(aes(fill = post.means), color='white') +
scale_fill_gradientn(limits=range(y), colours=c('white', 'steelblue'))+
ggtitle("Posterior Means")
print(g)
g <- ggplot(df, aes(i,j)) +
geom_tile(aes(fill = post.probs), color='white') +
scale_fill_gradientn(limits=c(0, 1), colours=c('white', 'steelblue'))+
ggtitle("Posterior Boundary Probabilities")
print(g)
}
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.