Slides and code for my Network Inference from time-series data tutorial.
(c) Joseph T. Lizier, 2025-.
See 202506-NetSci-NetworkInferenceTutorial.pdf.
Contents:
- Philosophy: functional, effective and structural connectivity:
- Approaches/measures
- Considerations
There are two main demonstration notebooks here:
NetworkInference_CAs.ipynbto run inference on Elementary Cellular Automata data, using non-linear measures (mutual information, transfer entropy, multivariate transfer entropy)NetworkInference_Linear.ipynbto run inference on various data sets (synthetic VAR, stock closing prices, fMRI) with linear measures (correlation, least squares regression)
To run the notebooks, you require Python v3 with packages:
- The usual suspects:
numpy,scipy,sys,matplotlib,os - Specific packages for finance (
yfinance,pandas) and neuroscience (nilearn) examples jpype1-- it's important that you install jpype1 rather than jpype!
A Java runtime (JRE) installation, so that python's jpype1 can call it, and to run the AutoAnalyser from JIDT to generate Java code.
- JIDT -- toolkit for information-theoretic measures
- IDTxl -- toolkit for effective network inference with information-theoretic measures
- pyspi -- toolkit for many pairwise statistical measures which could be used for functional connectivity
- assessing-linear-dependence -- toolkit for handling autocorrelations for linear measures
This repo is distributed under GPLv3.
It redistributes the jar file from my JIDT project under GPLv3.
This tutorial has been run at: