Skip to main content

Time-Aware PC Python Package

Project description

TimeAwarePC: A Python Package for Finding Causal Connectivity from Time Series Data image Documentation Status

TimeAwarePC is a Python package that implements the Time-Aware PC Algorithm for finding the Causal Functional Connectivity from time series data, based on recent research in directed probabilistic graphical modeling with time series [1]. The package also includes implementations of Granger Causality and the PC algorithm.

Installation

You can get the latest version of TimeAwarePC as follows.

$ pip install timeawarepc

Requirements

  • Python >=3.6
  • Python packages automatically checked and installed as part of the setup. To use Granger Causality, additional dependency of nitime which can be installed by pip install nitime.
  • R >=4.0
  • R package kpcalg and its dependencies. They can be installed in R or RStudio as follows:
> install.packages("BiocManager")
> BiocManager::install("graph")
> BiocManager::install("RBGL")
> install.packages("pcalg")
> install.packages("kpcalg")

Documentation

Documentation is available at readthedocs.org

Tutorial

See the Quick Start Guide for a quick tutorial of the main functionalities of this library and check if it is installed properly.

Contributing

Your help is absolutely welcome! Please do reach out or create a feature branch!

Citation

Biswas, R., & Shlizerman, E. (2022). Statistical Perspective on Functional and Causal Neural Connectomics: The Time-Aware PC Algorithm. https://arxiv.org/abs/2204.04845

Biswas, R., & Shlizerman, E. (2021). Statistical Perspective on Functional and Causal Neural Connectomics: A Comparative Study. Frontiers in Systems Neuroscience. https://doi.org/10.3389/fnsys.2022.817962

References

R Clay Reid. (2012) From functional architecture to functional connectomics. Neuron, 75(2):209–217.

Smith, S. M., Miller, K. L., Salimi-Khorshidi, G., Webster, M., Beckmann, C. F., Nichols, T. E., ... & Woolrich, M. W. (2011). Network modelling methods for FMRI. Neuroimage, 54(2), 875-891.

Judea Pearl. (2009) Causality. Cambridge University press.

Markus Kalisch and Peter Bhlmann. (2007) Estimating high-dimensional directed acyclic graphs with the pc-algorithm. In The Journal of Machine Learning Research, Vol. 8, pp. 613-636.

Peter Spirtes, Clark N Glymour, Richard Scheines, and David Heckerman. (2000) Causation, prediction, and search. MIT press.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

timeawarepc-1.1.1.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

timeawarepc-1.1.1-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file timeawarepc-1.1.1.tar.gz.

File metadata

  • Download URL: timeawarepc-1.1.1.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for timeawarepc-1.1.1.tar.gz
Algorithm Hash digest
SHA256 1863cbfa9d1d01b2b4b861a641c6b9f8ba6f0583c6831bbad49a5cbbac9e8bc1
MD5 60fa93eb8553f93d48ffdb852a09520c
BLAKE2b-256 9a9ef45b1c7e40678bef3f1954da2ce5b0a43b69a0c9a8e8cd1ba51fc754d6e0

See more details on using hashes here.

File details

Details for the file timeawarepc-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: timeawarepc-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for timeawarepc-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7dcd11beb958442985b233c68a18125de13e6fecb925935244c576ab1bcc4867
MD5 f8e6056d62ebd909a174648382cb107a
BLAKE2b-256 b0b9657280f614e74238c218c985758319805b6d7d02f6ff8e6a61e5db3f433e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page