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