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...
Main Author: | |
---|---|
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 |