Inform: A toolkit for information-theoretic analysis of complex systems

Douglas G. Moore, Gabriele Valentini, Sara Walker, Michael Levin

Research output: Chapter in Book/Report/Conference proceedingConference contribution

3 Citations (Scopus)

Abstract

Information theory is increasingly being employed in the study of complex systems, particularly in the fields of neuroscience and artificial life. While domain-specific tools for information analysis are certainly valuable, high-performance and general-purpose toolkits can ensure better reproducibility and faster research turnover. We introduce Inform, an open-source and cross-platform C library for information-theoretic analysis of complex systems. Inform provides a host of functions to estimate information-theoretic measures from time series data. This includes classical information-theoretic measures (e.g. entropy, mutual information) and measures of information dynamics (e.g. active information storage, transfer entropy), but also several less common, yet powerful information-based concepts such as effective information, information flow and integration measures. However, what makes Inform unique is that it exposes a lower-level API allowing users to construct measures of their own, and includes a suite of utility functions that can be used to augment and extend the built-in functionality. Significant effort went into designing Inform's API to make its use from other languages as simple as possible. We describe Inform's overall design and implementation including details of validation techniques and plans for future development. We present evidence that suggests that Inform's computational performance is at least comparable to the Java Information Dynamics Toolkit (JIDT), which is taken to be the gold-standard for the field. We provide several examples to guide users and provide information about higher-level language wrappers for Python, R, Julia and Mathematica.

Original languageEnglish (US)
Title of host publication2017 IEEE Symposium Series on Computational Intelligence, SSCI 2017 - Proceedings
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages1-8
Number of pages8
Volume2018-January
ISBN (Electronic)9781538627259
DOIs
StatePublished - Feb 2 2018
Event2017 IEEE Symposium Series on Computational Intelligence, SSCI 2017 - Honolulu, United States
Duration: Nov 27 2017Dec 1 2017

Other

Other2017 IEEE Symposium Series on Computational Intelligence, SSCI 2017
CountryUnited States
CityHonolulu
Period11/27/1712/1/17

Fingerprint

Information analysis
Application programming interfaces (API)
Large scale systems
Complex Systems
Entropy
High level languages
Information theory
Time series
Gold
Data storage equipment
Measures of Information
Artificial Life
Information Integration
Python
Wrapper
Neuroscience
Reproducibility
Mathematica
Information Flow
Information Theory

Keywords

  • complex systems
  • information dynamics
  • information storage
  • information theory
  • information transfer

ASJC Scopus subject areas

  • Artificial Intelligence
  • Computer Science Applications
  • Control and Optimization

Cite this

Moore, D. G., Valentini, G., Walker, S., & Levin, M. (2018). Inform: A toolkit for information-theoretic analysis of complex systems. In 2017 IEEE Symposium Series on Computational Intelligence, SSCI 2017 - Proceedings (Vol. 2018-January, pp. 1-8). Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/SSCI.2017.8285197

Inform : A toolkit for information-theoretic analysis of complex systems. / Moore, Douglas G.; Valentini, Gabriele; Walker, Sara; Levin, Michael.

2017 IEEE Symposium Series on Computational Intelligence, SSCI 2017 - Proceedings. Vol. 2018-January Institute of Electrical and Electronics Engineers Inc., 2018. p. 1-8.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Moore, DG, Valentini, G, Walker, S & Levin, M 2018, Inform: A toolkit for information-theoretic analysis of complex systems. in 2017 IEEE Symposium Series on Computational Intelligence, SSCI 2017 - Proceedings. vol. 2018-January, Institute of Electrical and Electronics Engineers Inc., pp. 1-8, 2017 IEEE Symposium Series on Computational Intelligence, SSCI 2017, Honolulu, United States, 11/27/17. https://doi.org/10.1109/SSCI.2017.8285197
Moore DG, Valentini G, Walker S, Levin M. Inform: A toolkit for information-theoretic analysis of complex systems. In 2017 IEEE Symposium Series on Computational Intelligence, SSCI 2017 - Proceedings. Vol. 2018-January. Institute of Electrical and Electronics Engineers Inc. 2018. p. 1-8 https://doi.org/10.1109/SSCI.2017.8285197
Moore, Douglas G. ; Valentini, Gabriele ; Walker, Sara ; Levin, Michael. / Inform : A toolkit for information-theoretic analysis of complex systems. 2017 IEEE Symposium Series on Computational Intelligence, SSCI 2017 - Proceedings. Vol. 2018-January Institute of Electrical and Electronics Engineers Inc., 2018. pp. 1-8
@inproceedings{f689a04473c04b12aa388bb07a3c0c15,
title = "Inform: A toolkit for information-theoretic analysis of complex systems",
abstract = "Information theory is increasingly being employed in the study of complex systems, particularly in the fields of neuroscience and artificial life. While domain-specific tools for information analysis are certainly valuable, high-performance and general-purpose toolkits can ensure better reproducibility and faster research turnover. We introduce Inform, an open-source and cross-platform C library for information-theoretic analysis of complex systems. Inform provides a host of functions to estimate information-theoretic measures from time series data. This includes classical information-theoretic measures (e.g. entropy, mutual information) and measures of information dynamics (e.g. active information storage, transfer entropy), but also several less common, yet powerful information-based concepts such as effective information, information flow and integration measures. However, what makes Inform unique is that it exposes a lower-level API allowing users to construct measures of their own, and includes a suite of utility functions that can be used to augment and extend the built-in functionality. Significant effort went into designing Inform's API to make its use from other languages as simple as possible. We describe Inform's overall design and implementation including details of validation techniques and plans for future development. We present evidence that suggests that Inform's computational performance is at least comparable to the Java Information Dynamics Toolkit (JIDT), which is taken to be the gold-standard for the field. We provide several examples to guide users and provide information about higher-level language wrappers for Python, R, Julia and Mathematica.",
keywords = "complex systems, information dynamics, information storage, information theory, information transfer",
author = "Moore, {Douglas G.} and Gabriele Valentini and Sara Walker and Michael Levin",
year = "2018",
month = "2",
day = "2",
doi = "10.1109/SSCI.2017.8285197",
language = "English (US)",
volume = "2018-January",
pages = "1--8",
booktitle = "2017 IEEE Symposium Series on Computational Intelligence, SSCI 2017 - Proceedings",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

TY - GEN

T1 - Inform

T2 - A toolkit for information-theoretic analysis of complex systems

AU - Moore, Douglas G.

AU - Valentini, Gabriele

AU - Walker, Sara

AU - Levin, Michael

PY - 2018/2/2

Y1 - 2018/2/2

N2 - Information theory is increasingly being employed in the study of complex systems, particularly in the fields of neuroscience and artificial life. While domain-specific tools for information analysis are certainly valuable, high-performance and general-purpose toolkits can ensure better reproducibility and faster research turnover. We introduce Inform, an open-source and cross-platform C library for information-theoretic analysis of complex systems. Inform provides a host of functions to estimate information-theoretic measures from time series data. This includes classical information-theoretic measures (e.g. entropy, mutual information) and measures of information dynamics (e.g. active information storage, transfer entropy), but also several less common, yet powerful information-based concepts such as effective information, information flow and integration measures. However, what makes Inform unique is that it exposes a lower-level API allowing users to construct measures of their own, and includes a suite of utility functions that can be used to augment and extend the built-in functionality. Significant effort went into designing Inform's API to make its use from other languages as simple as possible. We describe Inform's overall design and implementation including details of validation techniques and plans for future development. We present evidence that suggests that Inform's computational performance is at least comparable to the Java Information Dynamics Toolkit (JIDT), which is taken to be the gold-standard for the field. We provide several examples to guide users and provide information about higher-level language wrappers for Python, R, Julia and Mathematica.

AB - Information theory is increasingly being employed in the study of complex systems, particularly in the fields of neuroscience and artificial life. While domain-specific tools for information analysis are certainly valuable, high-performance and general-purpose toolkits can ensure better reproducibility and faster research turnover. We introduce Inform, an open-source and cross-platform C library for information-theoretic analysis of complex systems. Inform provides a host of functions to estimate information-theoretic measures from time series data. This includes classical information-theoretic measures (e.g. entropy, mutual information) and measures of information dynamics (e.g. active information storage, transfer entropy), but also several less common, yet powerful information-based concepts such as effective information, information flow and integration measures. However, what makes Inform unique is that it exposes a lower-level API allowing users to construct measures of their own, and includes a suite of utility functions that can be used to augment and extend the built-in functionality. Significant effort went into designing Inform's API to make its use from other languages as simple as possible. We describe Inform's overall design and implementation including details of validation techniques and plans for future development. We present evidence that suggests that Inform's computational performance is at least comparable to the Java Information Dynamics Toolkit (JIDT), which is taken to be the gold-standard for the field. We provide several examples to guide users and provide information about higher-level language wrappers for Python, R, Julia and Mathematica.

KW - complex systems

KW - information dynamics

KW - information storage

KW - information theory

KW - information transfer

UR - http://www.scopus.com/inward/record.url?scp=85046129112&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85046129112&partnerID=8YFLogxK

U2 - 10.1109/SSCI.2017.8285197

DO - 10.1109/SSCI.2017.8285197

M3 - Conference contribution

AN - SCOPUS:85046129112

VL - 2018-January

SP - 1

EP - 8

BT - 2017 IEEE Symposium Series on Computational Intelligence, SSCI 2017 - Proceedings

PB - Institute of Electrical and Electronics Engineers Inc.

ER -