R: Utilities to manipulate fitted Bayesian networks

bn.fit utilities {bnlearn} | R Documentation

## 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

    ## 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'
    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, for.parents, ...)

    ## methods available for "bn.fit.onode"
    ## S3 method for class 'bn.fit.onode'
    coef(object, for.parents, ...)

    ## 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, for.parents, ...)
    ## S3 method for class 'bn.fit.cgnode'
    residuals(object,  ...)
    ## S3 method for class 'bn.fit.cgnode'
    sigma(object, for.parents, ...)

### Arguments

`object` | an object of class `bn.fit`, `bn.fit.dnode`, `bn.fit.gnode`, `bn.fit.cgnode` or `bn.fit.onode`.
`nodes` | a vector of character strings, the label of a nodes whose log-likelihood components are to be computed.
`data` | a data frame containing the variables in the model.
`...` | additional arguments, currently ignored.
`k` | a numeric value, the penalty coefficient to be used; the default `k = 1` gives the expression used to compute AIC.
`by.sample` | a boolean value. If `TRUE`, `logLik()` returns a vector containing the the log-likelihood of each observations in the sample. If `FALSE`, `logLik()` returns a single value, the likelihood of the whole sample.
`for.parents` | a named list in which each element contains

### 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 log-likelihood for the observations in `data`.

The `for.parents` argument in the methods for `coef()` and `sigma()` can be used to have both functions return the parameters associated with a specific configuration of the discrete parents of a node. If `for.parents` is not specified, all relevant parameters are returned.

### Value

`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`).

### Author(s)

Marco Scutari

### See Also

`bn.fit`, `bn.fit-class`.

### Examples

    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)
    coefficients(fitted2$E, for.parents = list(F = "a", B = "b"))

[Package bnlearn version 4.6 Index]