Utilities to manipulate fitted Bayesian networks
Description
Assign, extract or compute various quantities of interest from an object of
class bn.fit
, bn.fit.dnode
, bn.fit.gnode
,
bn.fit.cgnode
or bn.fit.onode
.
Usage
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  ## methods available for "bn.fit"
## S3 method for class 'bn.fit'
fitted(object, ...)
## S3 method for class 'bn.fit'
coef(object, ...)
## S3 method for class 'bn.fit'
residuals(object, ...)
## S3 method for class 'bn.fit'
sigma(object, ...)
## S3 method for class 'bn.fit'
predict(object, node, data, method = "parents", ..., prob = FALSE,
debug = FALSE)
## S3 method for class 'bn.fit'
logLik(object, data, nodes, by.sample = FALSE, ...)
## S3 method for class 'bn.fit'
AIC(object, data, ..., k = 1)
## S3 method for class 'bn.fit'
BIC(object, data, ...)
## methods available for "bn.fit.dnode"
## S3 method for class 'bn.fit.dnode'
coef(object, ...)
## methods available for "bn.fit.onode"
## S3 method for class 'bn.fit.onode'
coef(object, ...)
## methods available for "bn.fit.gnode"
## S3 method for class 'bn.fit.gnode'
fitted(object, ...)
## S3 method for class 'bn.fit.gnode'
coef(object, ...)
## S3 method for class 'bn.fit.gnode'
residuals(object, ...)
## S3 method for class 'bn.fit.gnode'
sigma(object, ...)
## methods available for "bn.fit.cgnode"
## S3 method for class 'bn.fit.cgnode'
fitted(object, ...)
## S3 method for class 'bn.fit.cgnode'
coef(object, ...)
## S3 method for class 'bn.fit.cgnode'
residuals(object, ...)
## S3 method for class 'bn.fit.cgnode'
sigma(object, ...)

Arguments
object 
an object of class 
node 
a character string, the label of a node. 
nodes 
a vector of character strings, the label of a nodes whose loglikelihood components are to be computed. 
data 
a data frame containing the variables in the model. 
method 
a character string, the method used to estimate predictions. See below. 
... 
additional arguments. See below. 
k 
a numeric value, the penalty per parameter to be used; the default

by.sample 
a boolean value. If 
prob 
a boolean value. If 
debug 
a boolean value. If 
Details
coef
(and its alias coefficients
) extracts model coefficients
(which are conditional probabilities for discrete nodes and linear regression
coefficients for Gaussian and conditional Gaussian nodes).
residuals
(and its alias resid
) extracts model residuals and
fitted
(and its alias fitted.values
) extracts fitted values
from Gaussian and conditional Gaussian nodes. If the bn.fit
object
does not include the residuals or the fitted values for the node of interest
both functions return NULL
.
sigma
extracts the standard deviations of the residuals from Gaussian
and conditional Gaussian networks and nodes.
logLik
returns the loglikelihood for the observations in data
.
predict
returns the predicted values for node
given the data
specified by data
and the fitted network. Depending on the value of
method
, the predicted values are computed as follows.

parents
: the predicted values are computed by plugging in the new values for the parents ofnode
in the local probability distribution ofnode
extracted fromfitted
. 
bayeslw
: the predicted values are computed by averaging likelihood weighting simulations performed using all the available nodes as evidence (obviously, with the exception of the node whose values we are predicting). The number of random samples which are averaged for each new observation is controlled by then
optional argument; the default is500
. If the variable being predicted is discrete, the predicted level is that with the highest conditional probability. If the variable is continuous, the predicted value is the expected value of the conditional distribution.
Value
predict
returns a numeric vector (for Gaussian and conditional
Gaussian nodes), a factor (for categorical nodes) or an ordered factor (for
ordinal nodes). If prob = TRUE
and the network is discrete, the
probabilities used for prediction are attached to the predicted values as
an attribute called prob
.
logLik
returns a numeric vector or a single numeric value, depending
on the value of by.sample
. AIC
and BIC
always return a
single numeric value.
All the other functions return a list with an element for each node in the
network (if object
has class bn.fit
) or a numeric vector or
matrix (if object
has class bn.fit.dnode
, bn.fit.gnode
,
bn.fit.cgnode
or bn.fit.onode
).
Note
Ties in prediction are broken using Bayesian tie breaking, i.e. sampling at random from the tied values. Therefore, setting the random seed is required to get reproducible results.
predict
accepts either a bn
or a bn.fit
object as its
first argument. For the former, the parameters of the network are fitted on
data
, that is, the observations whose class labels the function is
trying to predict.
Author(s)
Marco Scutari
See Also
bn.fit
, bn.fitclass
.
Examples
1 2 3 4 5 6 7 8 9 10 11  data(gaussian.test)
res = hc(gaussian.test)
fitted = bn.fit(res, gaussian.test)
coefficients(fitted)
coefficients(fitted$C)
str(residuals(fitted))
data(learning.test)
res2 = hc(learning.test)
fitted2 = bn.fit(res2, learning.test)
coefficients(fitted2$E)
