We present “fastEntropyLib”, a set of Python functions, organized as a library, to facilitate the computation of popular definitions of entropy, used in biomedicine. Entropy estimation is a powerful tool in non-linear analysis. However, the computation of the most common entropy metrics is time consuming, an inhibitor, especially when large amount of data is to be processed. The library includes the most common definitions of entropy: Shannon, Renyi, Approximate, Sample Entropy, as well as the more recently proposed Bubble Entropy, an entropy almost free of parameters. What makes this library different from other similar Python libraries is the employment of fast algorithms for the implementation of Approximate, Sample Entropy and Bubble Entropy. For both Approximate and Sample Entropy, the Bucket Assisted and Lightweight algorithms have been employed. These two algorithms speed up the computation significantly by excluding similarity comparisons, which we know in advance will fail. Even though bubble sort is a quadratic algorithm, the computation of Bubble Entropy is done in linear time, exploiting, in each step, already sorted vectors. Since speed is the weak point of Python, we selected to implement all algorithms in C and add a Python wrapper on top of them. In this way, we exploit both the speed of C and the convenience and popularity of Python.

A Python Library with Fast Algorithms for Popular Entropy Definitions / G. Manis, R. Sassi - In: 2021 Computing in Cardiology (CinC)[s.l] : IEEE, 2021. - ISBN 978-1-6654-7916-5. - pp. 1-4 (( Intervento presentato al 48. convegno Computing in Cardiology (CinC) tenutosi a Brno nel 2021 [10.23919/CinC53138.2021.9662811].

A Python Library with Fast Algorithms for Popular Entropy Definitions

R. Sassi
Ultimo
2021

Abstract

We present “fastEntropyLib”, a set of Python functions, organized as a library, to facilitate the computation of popular definitions of entropy, used in biomedicine. Entropy estimation is a powerful tool in non-linear analysis. However, the computation of the most common entropy metrics is time consuming, an inhibitor, especially when large amount of data is to be processed. The library includes the most common definitions of entropy: Shannon, Renyi, Approximate, Sample Entropy, as well as the more recently proposed Bubble Entropy, an entropy almost free of parameters. What makes this library different from other similar Python libraries is the employment of fast algorithms for the implementation of Approximate, Sample Entropy and Bubble Entropy. For both Approximate and Sample Entropy, the Bucket Assisted and Lightweight algorithms have been employed. These two algorithms speed up the computation significantly by excluding similarity comparisons, which we know in advance will fail. Even though bubble sort is a quadratic algorithm, the computation of Bubble Entropy is done in linear time, exploiting, in each step, already sorted vectors. Since speed is the weak point of Python, we selected to implement all algorithms in C and add a Python wrapper on top of them. In this way, we exploit both the speed of C and the convenience and popularity of Python.
Settore INF/01 - Informatica
2021
IEEE
Book Part (author)
File in questo prodotto:
File Dimensione Formato  
CinC2021-222.pdf

accesso aperto

Tipologia: Publisher's version/PDF
Dimensione 170.42 kB
Formato Adobe PDF
170.42 kB Adobe PDF Visualizza/Apri
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2434/906934
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 3
  • ???jsp.display-item.citation.isi??? 0
social impact