Embo: a Python package for empirical data analysis using the Information Bottleneck

We present 'embo', a Python package to analyze empirical data using the Information Bottleneck (IB) method and its variants, such as the Deterministic Information Bottleneck (DIB). Given two random variables 'X' and 'Y', the IB finds the stochastic mapping 'M'...

Full description

Bibliographic Details
Main Authors: Eugenio Piasini, Alexandre L. S. Filipowicz, Jonathan Levine, Joshua I. Gold
Format: Article
Language:English
Published: Ubiquity Press 2021-05-01
Series:Journal of Open Research Software
Subjects:
Online Access:https://openresearchsoftware.metajnl.com/articles/322
Description
Summary:We present 'embo', a Python package to analyze empirical data using the Information Bottleneck (IB) method and its variants, such as the Deterministic Information Bottleneck (DIB). Given two random variables 'X' and 'Y', the IB finds the stochastic mapping 'M' of 'X' that encodes the most information about 'Y', subject to a constraint on the information that 'M' is allowed to retain about 'X'. Despite the popularity of the IB, an accessible implementation of the reference algorithm oriented towards ease of use on empirical data was missing. Embo is optimized for the common case of discrete, low-dimensional data. Embo is fast, provides a standard data-processing pipeline, offers a parallel implementation of key computational steps, and includes reasonable defaults for the method parameters. Embo is broadly applicable to different problem domains, as it can be employed with any dataset consisting in joint observations of two discrete variables. It is available from the Python Package Index (PyPI), Zenodo and GitLab.
ISSN:2049-9647