BNSampler: Create a MCMC sampler (MC^3) for Bayesian Networks.

Description Usage Arguments Value See Also Examples

View source: R/mcmc-mh.R

Description

The sampler samples Bayesian Networks (ie models).

Usage

1
2
3
4
5
  BNSampler(data, initial, prior, return = "network",
    logScoreFUN = logScoreMultDirFUN(),
    logScoreParameters = list(hyperparameters = "bdeu"),
    constraint = NULL, statistics = list(nEdges = nEdges),
    maxNumberParents = NULL, verbose = F, keepTape = F)

Arguments

data

The data.

initial

An object of class 'bn'. The starting value of the MCMC.

prior

EITHER A function that returns the prior score of the supplied bn. OR A list of functions of the same length as initial that returns the local prior score of the corresponding node, given a numeric vector of parents. The default value NULL uses an improper uniform prior.

return

Either "network" or "contingency".

logScoreFUN

A list of four elements:

offline

A function that computes the logScore of a Bayesian Network

online

A function that incrementally computes the logScore of a Bayesian Network

local

A function that computes the local logScore of a Bayesian Network

prepare

A function that prepares the data, and any further pre-computation required by the logScore functions.

For Multinomial-Dirichlet models, logScoreMultDirFUN returns the appropriate list; for Normal models with Zellner g-priors, logScoreNormalFUN returns the appropriate list.

logScoreParameters

A list of parameters that are passed to logScoreFUN.

constraint

A matrix of dimension ncol(data) x ncol(data) giving constraints to the sample space. The (i, j) element is:

1

if the edge i -> j is required

-1

if the edge i -> is excluded.

0

if the edge i -> j is not constrained.

The diagonal of constraint must be all 0.

statistics

A named list of functions which should be applied to the current network after each step. Each function should accept an object of class bn and return a scalar output. Each item in the list must be named so that it can be referred to.

maxNumberParents

Integer of length 1. The maximum number of parents of any node. The default value, which is used for NULL is to not constrain the maximum indegree, i.e. to use ncol(data) - 1.

verbose

A logical of length 1, indicating whether verbose output should be printed.

keepTape

A logical of length 1, indicating whether a full log (tape) of the MCMC sampler should be kept. Enabling this option can be very memory-intensive.

Value

A function, which when called draws the next sample of the MCMC.

See Also

draw. BNSamplerMJ, BNSamplerPT, BNGibbsSampler. Example priors priorGraph, priorUniform

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
x1 <- factor(c("a", "a", "g", "c", "c", "a", "g", "a", "a"))
x2 <- factor(c(2, 2, 4, 3, 1, 4, 4, 4, 1))
x3 <- factor(c(FALSE, FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE))
x <- data.frame(x1 = x1, x2 = x2, x3 = x3)

initial <- empty(3, "bn")
prior <- priorUniform(initial)

sampler <- BNSampler(data = x, initial = initial, prior = prior)
samples <- draw(sampler, n = 100, burnin = 10)

x <- bnpostmcmc(sampler, samples)
ep(x)

rjbgoudie/structmcmc documentation built on Nov. 3, 2020, 3:41 a.m.