Вычисление энтропии потоковой передачи данных
Я ищу способ вычислить оценку информационной энтропии Шеннона H'(X) для потоковых данных. Пространство состояний случайной величины X велико, и несколько тысяч этих вычислений будут выполняться параллельно, поэтому невозможно сохранить каждое наблюдение X с соответствующим счетчиком в памяти, поэтому нельзя использовать обычную формулу для вычислений.
Насколько мне известно, реализации такого алгоритма в Интернете нет. Все, что мне удалось найти, это несколько статей с кучей математического материала (и, возможно, некоторого псевдокода), которые я либо не смог расшифровать с практической точки зрения, либо алгоритмы непригодны для общих целей (например, требовать, чтобы размер потока был равным. быть известным) - пример: [1].
Есть ли какой-либо доступный алгоритм реализации / используемый алгоритм или библиотека Python для вычисления оценки энтропии для потоков данных, которые мне не удалось найти? Или есть альтернативный способ получить оценку энтропии удобным для памяти способом? Заранее спасибо.
[1] LALL A. et al. Алгоритмы потоковой передачи данных для оценки энтропии сетевого трафика. 2006. [Интернет]. Доступно по адресу: https://www.cc.gatech.edu/~jx/reprints/Sigm06_entropy.pdf