ccdrAlgorithm implements the CCDr structure learning algorithm described in [1]. Based on observational data, this algorithm estimates the structure of a Bayesian network (aka edges in a DAG) using penalized maximum likelihood based on L1 or concave (MCP) regularization.
Presently, this package consists of a single method that implements the main algorithm; more functionality will be provided in the future. To generate data from a given Bayesian network and/or simulate random networks, the following R packages are recommended:
bnlearn: bnlearn on CRAN, www.bnlearn.compcalg: pcalg on CRANigraph: igraph on CRAN, http://igraph.org/r/
The main method is ccdr.run, which runs the CCDr structure learning algorithm as described in [1].
You can install:
-
the latest CRAN version with
install.packages("ccdrAlgorithm") -
the latest development version from GitHub with
devtools::install_github(c("itsrainingdata/sparsebnUtils/dev", "itsrainingdata/ccdrAlgorithm/dev"))
[1] Aragam, B. and Zhou, Q. (2015). Concave penalized estimation of sparse Gaussian Bayesian networks. The Journal of Machine Learning Research. 16(Nov):2273−2328.
[2] Fu, F. and Zhou, Q. (2013). Learning sparse causal Gaussian networks with experimental intervention: Regularization and coordinate descent. Journal of the American Statistical Association, 108: 288-300.