LINUX.ORG.RU

Приблизительный статистический анализ большого объема данных

 ,


0

1

Предположим, у нас есть много статистических данных. Например, время отклика нагруженного сервиса для множества запросов. Мы хотим их как-то обработать: посчитать перцентили, понять, есть ли выбросы и т.д. То есть просто матожидания и дисперсии недостаточно.

При этом:

  • Данные не влезают в память (и, к примеру, хадуп тоже не из чего построить)
  • Данные легко могут иметь разброс на порядки

У меня нарисовался велосипед, который выдает правдоподобные квантили, не имея всех данных в памяти. При этом, однако, теряется точность. Грубо говоря, в результатах будет фиксированная (заранее заданная) относительная погрешность.

Но при анализе производительности это как будто и не страшно. В крайнем случае, можно прогнать ещё раз данные, вырезать интересный интервал и получить для него более детальную картину.

Возникает вопрос - а есть ли подобные (вероятно, лучшие) решения вообще-то? Гугл по «statistical approximate algorithm large data» выдает море информации, по понять что из этого то, а что нет, я не смог.

Поиск осложняется тем, что матстатистику я не знаю, что знал всё забыл.

★★★★

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

Eddy_Em ☆☆☆☆☆ ()

Строите ф-ю распределения от времени отклика и каких-то-ма-еще-интересных-Вам-параметров

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

AIv ★★★★★ ()
Ответ на: комментарий от AIv

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

Я примерно это и сделал, только ещё прологарифмировал (откуда и «фиксированная относительная погрешность»). Про статистику бы ещё почитать что-нибудь толковое...

lodin ★★★★ ()
Ответ на: комментарий от lodin

Ну и нормально. Дальше от задачи надо идти, но ф.р. это как бы наиболее исчерпывающее представление, дальше смотрите на нее и анализируете что откуда берется.

AIv ★★★★★ ()
Ответ на: комментарий от buddhist

mmap отменили? Или они не влезают и в 2^64 байт?

Все равно, чтобы посчитать что-то интересное, придется по этим данным интенсивно ползать. Жалко диск!

А хочется один раз прочитать данные и построить относительно маленький агрегат, который уже тягать и анализировать.

lodin ★★★★ ()

время отклика нагруженного сервиса...

В простейшем случае это пуассоновский процесс. Распределение времен будет экспоненциальным. Если нужно смотреть что-то более сложное, то можно глянуть

http://en.wikipedia.org/wiki/Queueing_theory

и для эстетов по ссылкам

http://en.wikipedia.org/wiki/Queueing_model

anonymous ()
Ответ на: комментарий от anonymous

PS: критерий стьюдента тут нахер не упал.

anonymous ()
Ответ на: комментарий от anonymous

В простейшем случае это пуассоновский процесс. Распределение времен будет экспоненциальным. Если нужно смотреть что-то более сложное, то можно глянуть

http://en.wikipedia.org/wiki/Queueing_theory

и для эстетов по ссылкам

Анонимный коллега дело говорит.

Ещё суда посмотри:

http://en.wikipedia.org/wiki/Little's_law

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.