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.ipynb
to run inference on Elementary Cellular Automata data, using non-linear measures (mutual information, transfer entropy, multivariate transfer entropy)NetworkInference_Linear.ipynb
to 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: