Pull to refresh

Comments 6

Интересно, что Канн-Гринвальд детерминированный и всегда дает ответ с нужной погрешностью. Но он мне в свое время показался очень сложным, особенно в смысле понимания, почему работает.

У задачи поиска медианы и произвольного inline_formula-квантиля есть очень простое вероятностное решение через сэмплирование. Берем из всего набора случайно inline_formula элементов, сортируем. Теперь, если хотим посчитать inline_formula-квантиль, нужно просто вернуть inline_formula-ый элемент. С константной вероятностью ответ будет на расстоянии не более inline_formula от правильного. Если нужна вероятность ошибки inline_formula, берем соответсвенно inline_formula элементов.

Гарантия доказывается довольно просто через неравенство Чернова.

P.S. Предлагаю на подобные вещи ставить тэг data streaming.
Надо было упомянуть сэмплирование, но очень хотелось описать алгоритм в котором N не известно заранее. В подходе с сэмплированием описание алгоритма перехода от N к N+1 c объяснением того, что «обновленная» выборка обладает всеми необходимыми свойствами занимает больше места.

Тег добавил.
На практике часто случается, что наши данные есть поток каких-то показаний с датчика, причем разрядность датчика часто довольно небольшая (8, 16, 24, пусть даже 32 бита). В этом случае можно посчитать медиану поточно за счет памяти. Просто создаем массив счетчиков, сколько раз встретился 0, сколько 1 и т.д. до maxval, тупо counter[sample]++. По сути строим гистограмму, найти по которой медиану вообще не проблема. При этом гистограмма сама по себе очень полезна в плане статистики, посмотреть распределение, посчитать отклонения, всякие колмогоровы-смирновы, вот это все.
В тексте есть ссылка на этот подход. И да, практически все пакеты предлагают именно гистограммный подход, например (раз уж я тут пишу на скале), он предлагается в mllib spark-а и breeze (scala backend) для spark. Тут я описываю метод, когда мы хотим обойтись минимальнымы предположениями о структуре входных данных, то есть мы не знаем min/max, не знаем разброс, да и вообще почти ничего не знаем. =)
Как раз с этого заметка и возникла. На одном радио был опрос сколько человек получают больше среднего, среди позвонивших было всего 15% таковых. Надеюсь из заметки стало понятнее почему постановка опроса не корректная.
Sign up to leave a comment.

Articles