All Projects → M-Nauta → Tcdf

M-Nauta / Tcdf

Licence: gpl-3.0
Temporal Causal Discovery Framework (PyTorch): discovering causal relationships between time series

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Tcdf

Ergo
A Python library for integrating model-based and judgmental forecasting
Stars: ✭ 82 (-62.21%)
Mutual labels:  jupyter-notebook, prediction, forecasting
arima
ARIMA, SARIMA, SARIMAX and AutoARIMA models for time series analysis and forecasting in the browser and Node.js
Stars: ✭ 31 (-85.71%)
Mutual labels:  timeseries, prediction, forecasting
Deep Learning With Python
Deep learning codes and projects using Python
Stars: ✭ 195 (-10.14%)
Mutual labels:  jupyter-notebook, neural-networks, cnn
Kaggle Web Traffic Time Series Forecasting
Solution to Kaggle - Web Traffic Time Series Forecasting
Stars: ✭ 29 (-86.64%)
Mutual labels:  jupyter-notebook, timeseries, cnn
Convisualize nb
Visualisations for Convolutional Neural Networks in Pytorch
Stars: ✭ 57 (-73.73%)
Mutual labels:  jupyter-notebook, neural-networks, cnn
Yann
This toolbox is support material for the book on CNN (http://www.convolution.network).
Stars: ✭ 41 (-81.11%)
Mutual labels:  jupyter-notebook, neural-networks, cnn
Tsai
Time series Timeseries Deep Learning Pytorch fastai - State-of-the-art Deep Learning with Time Series and Sequences in Pytorch / fastai
Stars: ✭ 407 (+87.56%)
Mutual labels:  jupyter-notebook, timeseries, cnn
Neural prophet
NeuralProphet - A simple forecasting model based on Neural Networks in PyTorch
Stars: ✭ 1,125 (+418.43%)
Mutual labels:  timeseries, prediction, forecasting
Codesearchnet
Datasets, tools, and benchmarks for representation learning of code.
Stars: ✭ 1,378 (+535.02%)
Mutual labels:  jupyter-notebook, neural-networks, cnn
Keraspp
코딩셰프의 3분 딥러닝, 케라스맛
Stars: ✭ 178 (-17.97%)
Mutual labels:  jupyter-notebook, cnn
Anime4k
A High-Quality Real Time Upscaler for Anime Video
Stars: ✭ 14,083 (+6389.86%)
Mutual labels:  neural-networks, cnn
Cnn Re Tf
Convolutional Neural Network for Multi-label Multi-instance Relation Extraction in Tensorflow
Stars: ✭ 190 (-12.44%)
Mutual labels:  jupyter-notebook, cnn
Tutorials
AI-related tutorials. Access any of them for free → https://towardsai.net/editorial
Stars: ✭ 204 (-5.99%)
Mutual labels:  jupyter-notebook, neural-networks
Lstm anomaly thesis
Anomaly detection for temporal data using LSTMs
Stars: ✭ 178 (-17.97%)
Mutual labels:  jupyter-notebook, neural-networks
Lidc nodule detection
lidc nodule detection with CNN and LSTM network
Stars: ✭ 187 (-13.82%)
Mutual labels:  jupyter-notebook, cnn
Attentionn
All about attention in neural networks. Soft attention, attention maps, local and global attention and multi-head attention.
Stars: ✭ 175 (-19.35%)
Mutual labels:  jupyter-notebook, neural-networks
Coursera Deep Learning Specialization
Notes, programming assignments and quizzes from all courses within the Coursera Deep Learning specialization offered by deeplearning.ai: (i) Neural Networks and Deep Learning; (ii) Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization; (iii) Structuring Machine Learning Projects; (iv) Convolutional Neural Networks; (v) Sequence Models
Stars: ✭ 188 (-13.36%)
Mutual labels:  jupyter-notebook, neural-networks
Clinicalbert
ClinicalBERT: Modeling Clinical Notes and Predicting Hospital Readmission (CHIL 2020 Workshop)
Stars: ✭ 175 (-19.35%)
Mutual labels:  jupyter-notebook, prediction
Deep Learning Notes
My personal notes, presentations, and notebooks on everything Deep Learning.
Stars: ✭ 191 (-11.98%)
Mutual labels:  jupyter-notebook, neural-networks
Radio
RadIO is a library for data science research of computed tomography imaging
Stars: ✭ 198 (-8.76%)
Mutual labels:  jupyter-notebook, neural-networks

TCDF: Temporal Causal Discovery Framework

The Temporal Causal Discovery Framework (TCDF) is a deep learning framework implemented in PyTorch. Given multiple time series as input, TCDF discovers causal relationships between these time series and outputs a causal graph. It can also predict one time series based on other time series. TCDF uses Attention-based Convolutional Neural Networks combined with a causal validation step. By interpreting the internal parameters of the convolutional networks, TCDF can also discover the time delay between a cause and its effect.

The learnt temporal causal graphs can include confounders and instantaneous effects. This broadly applicable framework can be used to gain novel insights into the causal dependencies in a complex system, which is important for reliable predictions, knowledge discovery and data-driven decision making.

Corresponding Paper: "Causal Discovery with Attention-Based Convolutional Neural Networks".

Multivariate time series as input, causal graph as output

Functionality

  • Predicts one time series based on other time series and its own historical values using CNNs
  • Discovers causal relationships between time series
  • Discovers time delay between cause and effect
  • Plots temporal causal graph
  • Plots predicted time series

Check out the Jupyter Notebook TCDF Demo to see a demonstration of the functionality.

Prerequisites

General

  • Python >= 3.5
  • PyTorch (tested with PyTorch 0.4.1)
  • Optional: CUDA (tested with CUDA 9.2)

Required Python Packages:

  • numpy
  • pandas
  • random
  • heapq
  • copy
  • os
  • sys
  • matplotlib
  • pylab
  • networkx
  • argparse

Data

Required: Dataset(s) containing multiple continuous time series (such as stock markets).

File format: CSV file (comma separated) with header and a column for each time series.

Data provided

The folder 'data' contains two benchmarks:

  1. Financial benchmark with stock returns, taken from S. Kleinberg (Finance CPT) and preprocessed. Files with 'returns' in the filename are the input datasets, the other files contain the ground truth.
  2. Neuroscientific FMRI benchmark with brain networks, taken from Smith et al. and preprocessed. Files with 'timeseries' in the filename are the input datasets, the other files contain the ground truth.

Furthermore, there is one small dataset for demonstration purposes.

Running

Check out the Jupyter Notebook TCDF Demo to see a demonstration of the functionality.

Run runTCDF.py --data yourdataset.csv to run TCDF on your own dataset(s). TCDF will discover causal relationships between time series in the dataset and their time delay.

If the ground truth is available, the results of TCDF can be compared with the ground truth for evaluation as follows: runTCDF.py --ground_truth yourdataset.csv=yourgroundtruth.csv. Use --help to see all argument options.

To evaluate the predictions made by TCDF, run evaluate_predictions_TCDF. Use --help to see all argument options.

Feel free to improve TCDF. Some closed issues already mention some suggestions.

Paper

Corresponding Paper (peer-reviewed, open access): "Causal Discovery with Attention-Based Convolutional Neural Networks". Please cite this paper when using TCDF:

@article{nauta2019causal,
  title={Causal Discovery with Attention-Based Convolutional Neural Networks},
  author={Nauta, Meike and Bucur, Doina and Seifert, Christin},
  journal={Machine Learning and Knowledge Extraction},
  volume={1},
  number={1},
  pages={312-340},
  year={2019},
  publisher={Multidisciplinary Digital Publishing Institute}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].