JIDT: An information-theoretic toolkit for studying the dynamics of complex systems

Complex systems are increasingly being viewed as distributed information processing systems, particularly in the domains of computational neuroscience, bioinformatics and Artificial Life. This trend has resulted in a strong uptake in the use of (Shannon) information-theoretic measures to analyse the...

Full description

Bibliographic Details
Main Author: Joseph Troy Lizier
Format: Article
Language:English
Published: Frontiers Media S.A. 2014-12-01
Series:Frontiers in Robotics and AI
Subjects:
Online Access:http://journal.frontiersin.org/Journal/10.3389/frobt.2014.00011/full
id doaj-cf16b953f3f04f678284929cdc496402
record_format Article
spelling doaj-cf16b953f3f04f678284929cdc4964022020-11-25T01:01:04ZengFrontiers Media S.A.Frontiers in Robotics and AI2296-91442014-12-01110.3389/frobt.2014.00011113567JIDT: An information-theoretic toolkit for studying the dynamics of complex systemsJoseph Troy Lizier0Joseph Troy Lizier1Max Planck Institute for Mathematics in the SciencesCSIROComplex systems are increasingly being viewed as distributed information processing systems, particularly in the domains of computational neuroscience, bioinformatics and Artificial Life. This trend has resulted in a strong uptake in the use of (Shannon) information-theoretic measures to analyse the dynamics of complex systems in these fields. We introduce the Java Information Dynamics Toolkit (JIDT): a Google code project which provides a standalone, (GNU GPL v3 licensed) open-source code implementation for empirical estimation of information-theoretic measures from time-series data. While the toolkit provides classic information-theoretic measures (e.g. entropy, mutual information, conditional mutual information), it ultimately focusses on implementing higher-level measures for information dynamics. That is, JIDT focusses on quantifying information storage, transfer and modification, and the dynamics of these operations in space and time. For this purpose, it includes implementations of the transfer entropy and active information storage, their multivariate extensions and local or pointwise variants. JIDT provides implementations for both discrete and continuous-valued data for each measure, including various types of estimator for continuous data (e.g. Gaussian, box-kernel and Kraskov-Stoegbauer-Grassberger) which can be swapped at run-time due to Java's object-oriented polymorphism. Furthermore, while written in Java, the toolkit can be used directly in MATLAB, GNU Octave, Python and other environments. We present the principles behind the code design, and provide several examples to guide users.http://journal.frontiersin.org/Journal/10.3389/frobt.2014.00011/fullInformation Theorycomplex systemsMATLABcomplex networksinformation transferJava
collection DOAJ
language English
format Article
sources DOAJ
author Joseph Troy Lizier
Joseph Troy Lizier
spellingShingle Joseph Troy Lizier
Joseph Troy Lizier
JIDT: An information-theoretic toolkit for studying the dynamics of complex systems
Frontiers in Robotics and AI
Information Theory
complex systems
MATLAB
complex networks
information transfer
Java
author_facet Joseph Troy Lizier
Joseph Troy Lizier
author_sort Joseph Troy Lizier
title JIDT: An information-theoretic toolkit for studying the dynamics of complex systems
title_short JIDT: An information-theoretic toolkit for studying the dynamics of complex systems
title_full JIDT: An information-theoretic toolkit for studying the dynamics of complex systems
title_fullStr JIDT: An information-theoretic toolkit for studying the dynamics of complex systems
title_full_unstemmed JIDT: An information-theoretic toolkit for studying the dynamics of complex systems
title_sort jidt: an information-theoretic toolkit for studying the dynamics of complex systems
publisher Frontiers Media S.A.
series Frontiers in Robotics and AI
issn 2296-9144
publishDate 2014-12-01
description Complex systems are increasingly being viewed as distributed information processing systems, particularly in the domains of computational neuroscience, bioinformatics and Artificial Life. This trend has resulted in a strong uptake in the use of (Shannon) information-theoretic measures to analyse the dynamics of complex systems in these fields. We introduce the Java Information Dynamics Toolkit (JIDT): a Google code project which provides a standalone, (GNU GPL v3 licensed) open-source code implementation for empirical estimation of information-theoretic measures from time-series data. While the toolkit provides classic information-theoretic measures (e.g. entropy, mutual information, conditional mutual information), it ultimately focusses on implementing higher-level measures for information dynamics. That is, JIDT focusses on quantifying information storage, transfer and modification, and the dynamics of these operations in space and time. For this purpose, it includes implementations of the transfer entropy and active information storage, their multivariate extensions and local or pointwise variants. JIDT provides implementations for both discrete and continuous-valued data for each measure, including various types of estimator for continuous data (e.g. Gaussian, box-kernel and Kraskov-Stoegbauer-Grassberger) which can be swapped at run-time due to Java's object-oriented polymorphism. Furthermore, while written in Java, the toolkit can be used directly in MATLAB, GNU Octave, Python and other environments. We present the principles behind the code design, and provide several examples to guide users.
topic Information Theory
complex systems
MATLAB
complex networks
information transfer
Java
url http://journal.frontiersin.org/Journal/10.3389/frobt.2014.00011/full
work_keys_str_mv AT josephtroylizier jidtaninformationtheoretictoolkitforstudyingthedynamicsofcomplexsystems
AT josephtroylizier jidtaninformationtheoretictoolkitforstudyingthedynamicsofcomplexsystems
_version_ 1725210930758811648