Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Потоковые алгоритмы в задачах обработки больших данных / Виктор Евстратов (Segmento)

954 views

Published on

Для того чтобы таргетировать рекламу по поведению интернет-пользователей, DMP ежедневно оценивает терабайты данных. В докладе расскажу, как при помощи алгоритмов потоковой обработки данных можно быстро оценить большой объем статистики и формы распределения различных характеристик.
+ Что будем оценивать?
Будем оценивать функции распределения различных случайных величин. На практике это может понадобиться, например, как инструмент первичного анализа трафика или как данные, необходимые для принятия решений в RTB.
+ Распределения параметров пользователей и их поведения.
+ Метод Манро-Патерсона, метод Канна-Гринвальда.
В этой части я расскажу о методе Манро-Патерсона — алгоритме оценки медианы, и о методе Канна-Гринвальда, который позволяет оценить функцию распределения.
+ Мотивирующий пример.
Расскажу о том, как применяю описанные методы на наших данных для составления портрета целевой аудитории наших клиентов.

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Потоковые алгоритмы в задачах обработки больших данных / Виктор Евстратов (Segmento)

  1. 1. 1 Потоковые алгоритмы в задачах обработки больших данных Виктор Евстратов, data scientist Segmento
  2. 2. 2
  3. 3. 3 RTB • Ход аукциона • Терминология
  4. 4. 4 Нагрузка и железо • 30k RPS (2.5 млрд запросов в день) • > 250 млн профилей • > 1 млн сайтов • Несколько десятков серверов • Hadoop-кластер
  5. 5. 5 Что хотят заказчики • Показы • Посещения сайтов • Хорошие поведенческие характеристики— большое количество посещённых страниц, долгие сессии, ... • Конверсии — покупки, заполнения формы обратной связи, тест-драйвы,…
  6. 6. 6 Данные • Базовая доступная информация: OS, браузер, ... • Прочая информация Всё, что научимся добывать сами … или найдем, где купить
  7. 7. 7 Потокововые алгоритмы — что? Позволяют что-то посчитать в условиях ограниченной памяти << объёма обрабатываемых данных
  8. 8. 8 Потокововые алгоритмы — зачем? Хотим отслеживать показатели здоровья системы: качество прогнозов характеристики пользовательского трафика … и другие
  9. 9. 9 Потокововые алгоритмы — зачем? Хотим отслеживать показатели здоровья системы: качество прогнозов характеристики пользовательского трафика … и другие Хотим прямо сейчас
  10. 10. 10 Что будем оценивать? Медианы и распределения характеристик трафика
  11. 11. 11
  12. 12. 12 Распределение 0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 150 155 160 165 165 175 180 185 (На самом деле плотность) 190
  13. 13. 13 Среднее против медианы Это среднее 0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 150 155 160 165 170 175 180 185 190
  14. 14. 14 Среднее против медианы А это — медиана 0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 150 155 160 165 170 175 180 Какая разница?! 185 190
  15. 15. 15 Среднее против медианы Time Bandits (1981, Monty Python)
  16. 16. 16 Среднее против медианы 0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 130 140 150 160 170 180 190 
  17. 17. 17 Мотивирующий пример — интересы трафика • Умеем определять интересы пользователей • Хотим составить портрет ЦА
  18. 18. 18 Мотивирующий пример — интересы трафика
  19. 19. 19 Мотивирующий пример — интересы трафика
  20. 20. 20 Интересы «Спортивные автомобили»: очень интересно «Бары и рестораны»: интересно «Детская одежда»: неинтересно Пётр
  21. 21. 21 Интересы «Спортивные автомобили»: очень интересно, неинтересно «Бары и рестораны»: интересно, интересно «Детская одежда»: неинтересно, очень интересно Василий
  22. 22. 22 Интересы «Спортивные автомобили»: очень интересно, неинтересно «Бары и рестораны»: интересно, интересно «Детская одежда»: неинтересно, очень интересно 1.0 0.7 0.0 0.0 0.7 0.9
  23. 23. 23 Интересы трафика • Удобно рассматривать распределение • Должно выглядеть примерно так Бары и рестораны Неинтересно Интересно
  24. 24. 24 Интересы трафика Весь траффик Бары и рестораныТовары для детей Спортивные авто
  25. 25. 25 Интересы трафика Оставим только хороший траффик — пользователей, совершивших покупки
  26. 26. 26 Интересы трафика «Хороший» траффик Бары и рестораныТовары для детей Спортивные авто
  27. 27. 27 Что можно получить? Эффективный тул для визуализации, сравнения, и анализа предпочтений ЦА
  28. 28. 28 Что ещё можно сделать? • Автоматически подключать/отключать сегменты • Исследовать трафик с различных площадок • ...
  29. 29. 29 Алгоритмы оценки распределения • С помощью сортировки • Munro-Paterson • Khanna-Greenwald
  30. 30. 30 Сортировка Все умеют Работает точно Затратна по памяти + -
  31. 31. 31 Алгоритм Манро-Патерсона
  32. 32. 32
  33. 33. 33 Алгоритм Манро-Патерсона Требует больше одного прохода Требует знаний о размере выборки За разрешённое количество проходов даёт точное решение + -
  34. 34. 34 Алгоритм Манро-Патерсона 1, 3, 2, 2, 3, 1, 1, 2, 2 5 ячеек памяти 0 0
  35. 35. 35 Алгоритм Манро-Патерсона 1, 3, 2, 2, 3, 1, 1, 2, 2 5 ячеек памяти 0 01
  36. 36. 36 Алгоритм Манро-Патерсона 1, 3, 2, 2, 3, 1, 1, 2, 2 5 ячеек памяти 0 01 3
  37. 37. 37 Алгоритм Манро-Патерсона 1, 3, 2, 2, 3, 1, 1, 2, 2 5 ячеек памяти 0 01 2 3
  38. 38. 38 Алгоритм Манро-Патерсона 1, 3, 2, 2, 3, 1, 1, 2, 2 5 ячеек памяти 1 02 2 3 +1
  39. 39. 39 Алгоритм Манро-Патерсона 1, 3, 2, 2, 3, 1, 1, 2, 2 5 ячеек памяти 1 12 2 3 +1
  40. 40. 40 Алгоритм Манро-Патерсона 1, 3, 2, 2, 3, 1, 1, 2, 2 5 ячеек памяти 2 12 2 3 +1
  41. 41. 41 Алгоритм Манро-Патерсона 1, 3, 2, 2, 3, 1, 1, 2, 2 5 ячеек памяти 2 31 2 2 +1
  42. 42. 42 Алгоритм Манро-Патерсона 1, 2, 3, 2, 3, 1, 1, 2, 2 5 ячеек памяти 2 31 2 2 +1
  43. 43. 43 Алгоритм Манро-Патерсона 1, 3, 2, 2, 3, 1, 1, 2, 2 5 ячеек памяти 3 32 2 2 +1
  44. 44. 44 Алгоритм Манро-Патерсона 1, 3, 2, 2, 3, 1, 1, 2, 2 5 ячеек памяти 3 32 2 2
  45. 45. 45
  46. 46. 46 Алгоритм Канна-Гринвальда
  47. 47. 47
  48. 48. 48 Алгоритм Канна-Гринвальда • Использует более сложную структуру данных, хранящую их в агрегированной форме • Отфильтровывает значения, поддерживая заданную точность
  49. 49. 49 Алгоритм Канна-Гринвальда Неточный, но даёт ответ с заданной погрешностью Работает за 1 проход + -
  50. 50. 50 Статьи Selection and sorting with limited storage, Манро Дж., Патерсон М. (1980) — ://polylogblog.files.wordpress.com/2009/08/80munro-median.pdf Space-Efficient Online Computation of Quantile Summaries, Канна С., Гринвальд М. (2001) http://infolab.stanford.edu/~datar/courses/cs361a/papers/quantiles.pdf
  51. 51. 51 Реализация и железо Python, Hadoop HBase, Kafka, Spark
  52. 52. 52 Спасибо !

×