score {bnlearn}R Documentation

Score of the Bayesian network

Description

Compute the score of the Bayesian network.

Usage

  score(x, data, type = NULL, ..., debug = FALSE)

  ## S3 method for class 'bn':
  logLik(object, data, ...)
  ## S3 method for class 'bn':
  AIC(object, data, ..., k = 1)

Arguments

x an object of class bn.
object an object of class bn.
data a data frame, containing the data the Bayesian network was learned from.
type a character string, the label of a score. Possible values are lik (multinomial likelihood), loglik (multinomial loglikelihood), aic (Akaike Information Criterion), bic (Bayesian Information Criterion), k2 (K2 score), bde or dir (Bayesian Dirichlet posterior density), bge (Bayesian Gaussian posterior density). If none is specified, the default score is the Akaike Information Criterion for discrete data sets and the Bayesian Gaussian posterior density for discrete ones. See bnlearn-package for details.
debug a boolean value. If TRUE a lot of debugging output is printed; otherwise the function is completely silent.
... extra arguments from the generic method (for the AIC and logLik functions, currently ignored) or additional tuning parameters (for the score function).
k a numeric value, the penalty per parameter to be used; the default k = 1 gives the expression used to compute the AIC in the context of scoring Bayesian networks.

Details

Additional parameters of the score function:

Value

A numeric value, the score of the Bayesian network.

Note

Only discrete Bayesian networks are supported.

The execution time scales linearly with the sample size.

Author(s)

Marco Scutari

References

D. M. Chickering. A Transformational Characterization of Equivalent Bayesian Network Structures. In Proceedings of 11th Conference on Uncertainty in Artificial Intelligence, pages 87-98. Morgan Kaufmann Publishers Inc., 1995.

D. Heckerman, D. Geiger and D. Chieckering. Learning Bayesian Networks: The Combination of Knowledge and Statistical Data. Microsoft Research Technical Report MSR-TR-94-09.

See Also

choose.direction, arc.strength.

Examples

data(learning.test)
res = set.arc(gs(learning.test), "A", "B")
score(res, learning.test, type = "bde")
# [1] -24002.36
## let's see score equivalence in action!
res2 = set.arc(gs(learning.test), "B", "A")
score(res2, learning.test, type = "bde")
# [1] -24002.36

## k2 score on the other hand is not score equivalent.
score(res, learning.test, type = "k2")
# [1] -23958.70
score(res2, learning.test, type = "k2")
# [1] -23957.68

## equivalent to logLik(res, learning.test)
score(res, learning.test, type = "loglik")
# [1] -23832.13

## equivalent to AIC(res, learning.test)
score(res, learning.test, type = "aic")
# [1] -23873.13

[Package bnlearn version 0.8 Index]