Causal Network Inference and Analysis from Time Series
BETS is a Python package that infers causal networks from time series data.
It is described in this paper with the analysis available here on Zenodo.
BETS is a good method for your problem if:
- you have a dataset of gene expression values (or other assay type) over time
- time points are about equally spaced
- number of genes can greatly exceed number of time points (thousands is fine, if you have a computing cluster)
- Multiple replicates are allowed if each replicate has the same number of timepoints.
- you want to know about the strength and time delay of the causal effects
BETS is coded in Python 3. It requires installation of the following libraries:
- numpy (>= 1.13.1)
- scipy (>= 0.19.1)
- pandas (>= 0.20.3)
- matplotlib (>= 1.4.3)
- sklearn (>= 0.0)
It has been tested on MacOSX v.10.11.6.
See BETS_tutorial.md
for a step-by-step walk through of BETS.
Please post them at our google group!
BETS is short for "Bootstrap Elastic net regression from Time Series", a statistical framework based on Granger causality for the recovery of a directed gene network from transcriptional time series data. applies regularized vector autoregression along with a permutation-based null and False Discovery control to infer causal networks. It was designed for a high-dimensional gene-expression time series data.
BETS was developed by Jonathan Lu, Bianca Dumitrascu, and Professor Barbara Engelhardt in the Engelhardt Group at the Department of Computer Science at Princeton University over 2016-2019.
This work is in submission. Preprint available here.