https://github.com/itsrainingdata/ccdralgorithm
Structure learning for Bayesian networks using the CCDr algorithm.
https://github.com/itsrainingdata/ccdralgorithm
bayesian-networks experimental-data graphical-models machine-learning-algorithms r regularization statistical-learning
Last synced: 10 months ago
JSON representation
Structure learning for Bayesian networks using the CCDr algorithm.
- Host: GitHub
- URL: https://github.com/itsrainingdata/ccdralgorithm
- Owner: itsrainingdata
- Created: 2016-03-11T02:45:58.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-01-10T09:00:43.000Z (about 2 years ago)
- Last Synced: 2025-03-27T03:51:12.638Z (10 months ago)
- Topics: bayesian-networks, experimental-data, graphical-models, machine-learning-algorithms, r, regularization, statistical-learning
- Language: C++
- Homepage:
- Size: 298 KB
- Stars: 6
- Watchers: 3
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.Rmd
Awesome Lists containing this project
README
---
output:
md_document:
variant: markdown_github
---
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
```
# ccdrAlgorithm
[](http://www.repostatus.org/#active)
[](https://travis-ci.org/itsrainingdata/ccdrAlgorithm)
[](http://www.r-pkg.org/pkg/ccdrAlgorithm)
[](http://www.r-pkg.org/pkg/ccdrAlgorithm)
`ccdrAlgorithm` implements the CCDr structure learning algorithm described in [[1-2](#references)]. 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`](https://cran.r-project.org/package=sparsebnUtils) package. Other packages for simulating DAGs and observational data include [`bnlearn`](https://cran.r-project.org/package=bnlearn), [`pcalg`](https://cran.r-project.org/package=pcalg), and [`igraph`](https://cran.r-project.org/package=igraph).
## Overview
The main method is `ccdr.run`, which runs the CCDr structure learning algorithm as described in [[1-2](#references)]. 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
```R
install.packages("ccdrAlgorithm")
````
* the latest development version from GitHub with
```R
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.](http://jmlr.org/papers/v16/aragam15a.html) _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.](http://amstat.tandfonline.com/doi/abs/10.1080/01621459.2012.754359) Journal of the American Statistical Association, 108: 288-300.