Расчет гистограммы для потоковых данных - онлайн-расчет гистограммы - PullRequest
8 голосов
/ 17 июня 2011

Я ищу алгоритм для генерации гистограммы для большого количества потоковых данных, максимальное и минимальное заранее не известны, но стандартное отклонение и среднее значение находятся в определенном диапазоне.

Я ценю ваши идеи.

Приветствия

Ответы [ 3 ]

4 голосов
/ 18 июня 2011

Я только что нашел одно решение.Sec.2.2 документа «Построение онлайн-гистограммы из алгоритма потокового параллельного дерева решений».Алгоритм реализован классом NumericHistogram в проекте Hive:

Общий, многократно используемый класс гистограммы, который поддерживает частичные агрегации.Алгоритм является эвристическим, адаптированным из следующей статьи: Яэль Бен-Хаим и Элад Том-Тов, «Алгоритм потокового параллельного дерева решений», J. Machine Learning Research 11 (2010), с. 849–872.Хотя нет никаких гарантий аппроксимации, похоже, он хорошо работает с адекватными данными и большим (например, 20-80) количеством бинов гистограммы.

1 голос
/ 17 июня 2011

Стандартное отклонение и среднее значение не имеют значения для гистограммы.Просто выберите свое разрешение и нарисуйте планку так высоко, как у вас есть хиты для его диапазона.Это, конечно, станет дороже с более высоким разрешением.Вы можете попытаться отрегулировать разрешение, попытавшись подогнать существующие данные к нормальной кривой (или любой другой модели) и найти стандартное отклонение, чтобы выбрать разумную гранулярность.

Редактировать: в первый раз прочитать неправильно,Если вы знаете приблизительное стандартное отклонение, вы можете выбрать разумные размеры для своих групп гистограмм с самого начала.Просто сравните каждую новую запись с вашими текущими минимальными и максимальными значениями и соответствующим образом настройте диапазон.

0 голосов
/ 12 ноября 2014

Я использую пакет под названием «GoHistogram», который предоставляет две потоковые гистограммы аппроксимации (NumericHistogram и Weighted Numeric Histogram).Это реализовано в Голанге (https://code.google.com). Вот ссылка:

https://github.com/VividCortex/gohistogram

...