ccdrAlgorithm
ccdrAlgorithm implements the CCDr structure learning algorithm
described in [1-2]. This algorithm estimates the
structure of a Bayesian network from mixed observational and
experimental data using penalized maximum likelihood based on L1 or
concave (MCP) regularization.
Presently, this package implements the main algorithm and provides a
method to simulate data from a Gaussian Bayesian network. To simulate
random networks, it is recommended to use the
sparsebnUtils
package. Other packages for simulating DAGs and observational data
include bnlearn,
pcalg, and
igraph.
Overview
The main method is ccdr.run, which runs the CCDr structure learning
algorithm as described in [1-2]. For simulating data
from a Gaussian Bayesian network, the package provides the method
generate_mvn_data. This method can simulate observational data or
experimental data with interventions (or combinations of both).
Installation
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"))
References
[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] Zhang, D. (2016). Concave Penalized Estimation of Causal Gaussian Networks with Intervention. Master’s thesis, UCLA.
[3] 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.