rbn {bnlearn} R Documentation

Simulate random samples from a given Bayesian network

Description

Simulate random samples from a given Bayesian network.

Usage

rbn(x, n = 1, ..., debug = FALSE)

Arguments

x

an object of class bn.fit.

n

a positive integer giving the number of observations to generate.

...

additional arguments for the parameter estimation procedure, see again bn.fit for details.

debug

a boolean value. If TRUE, a lot of debugging output is printed. Otherwise, the function is completely silent.

Details

rbn() implements forward/logic sampling: values for the root nodes are sampled from their (unconditional) distribution, then those of their children conditional on the respective parent sets. This is done iteratively until values have been sampled for all nodes.

If x contains NA parameter estimates (because of unobserved discrete parent configurations in the data the parameters were learned from), rbn() will produce samples that contain NAs when those parent configurations appear in the simulated samples. See bn.fit for details on how to make sure bn.fit objects contain no NA parameter estimates.

Value

A data frame with the same structure as the data originally used to fit the parameters of the Bayesian network.

Author(s)

Marco Scutari

References

Korb K, Nicholson AE (2010). Bayesian Artificial Intelligence. Chapman & Hall/CRC, 2nd edition.

See Also

cpdist.

Examples

data(learning.test)
dag = hc(learning.test)
fitted = bn.fit(dag, learning.test)
rbn(fitted, 5)

[Package bnlearn version 5.2-20260704 Index]