PyIF: A Fast and Light Weight Implementation to Estimate Bivariate Transfer Entropy for Big Data

Kelechi M. Ikegwu, Jacob Trauger, Jeff McMullin, Robert J. Brunner

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


Transfer entropy is an information measure that quantifies information flow between processes evolving in time. Transfer entropy has a plethora of potential applications in financial markets, canonical systems, neuroscience, and social media. We offer a fast open source Python implementation called PyIF that estimates Transfer Entropy with Kraskov's method. PyIF utilizes KD-Trees, multiple processes by parallelizing queries on said KD-Trees, and can be used with CUDA compatible GPUs to significantly reduce the wall time for estimating transfer entropy. We find from our analyses that PyIF's GPU implementation is up to 1072 times faster (and it's CPU implementation is up 181 times faster) than existing implementations to estimate transfer entropy on large data and scales better than existing implementatin.

Original languageEnglish (US)
Title of host publicationIEEE SoutheastCon 2020, SoutheastCon 2020
PublisherInstitute of Electrical and Electronics Engineers Inc.
ISBN (Electronic)9781728168616
StatePublished - Mar 28 2020
Externally publishedYes
Event2020 IEEE SoutheastCon, SoutheastCon 2020 - Virtual, Raleigh, United States
Duration: Mar 28 2020Mar 29 2020

Publication series

NameConference Proceedings - IEEE SOUTHEASTCON
ISSN (Print)1091-0050
ISSN (Electronic)1558-058X


Conference2020 IEEE SoutheastCon, SoutheastCon 2020
Country/TerritoryUnited States
CityVirtual, Raleigh


  • Parallel Processing
  • Transfer Entropy

ASJC Scopus subject areas

  • Computer Networks and Communications
  • Software
  • Electrical and Electronic Engineering
  • Control and Systems Engineering
  • Signal Processing


Dive into the research topics of 'PyIF: A Fast and Light Weight Implementation to Estimate Bivariate Transfer Entropy for Big Data'. Together they form a unique fingerprint.

Cite this