Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

50 оттенков линейной регрессии, или почему всё, что вы знаете об A/B тестах, помещается в одно уравнение

Время на прочтение18 мин
Количество просмотров19K

Всем привет! A/B тестирование уже давно стало стандартом в проверке гипотез и улучшении продуктов в X5. Но, как ни странно, многие из «модных» техник, которые применяются в A/B тестировании, на самом деле, не что иное, как вариации старой доброй линейной регрессии. 

Основная идея здесь проста: правильное добавление новых переменных в модель помогает лучше контролировать внешние факторы и уменьшать шум в данных. Это позволяет точнее оценить эффект от воздействия и объединить разные статистические подходы, которые обычно рассматриваются отдельно. Но почему это работает? Почему всё сводится к тому, что добавление переменных помогает объединить, казалось бы, разрозненные техники? 

Чтобы разобраться в этом, для начала вспомним основы линейной регрессии, после чего перейдём к различным статистическим методам снижения дисперсии и покажем, как они сводятся к линейной регрессии. Затем объединим все техники вместе и на примере покажем, как они работают на практике.

Читать далее
Всего голосов 20: ↑20 и ↓0+27
Комментарии10

Визуализация данных: четыре простых способа быстро улучшить диаграмму

Время на прочтение6 мин
Количество просмотров9.3K

Для многих специальностей, будь то бизнес-аналитика, Data Science или геология и геофизика, эффективная визуализация данных вошла в число принципиально важных навыков. Наглядное представление информации, понятное и эстетически привлекательное, может подтолкнуть целевую аудиторию к определенным мыслям или действиям. Хотя на Python создано несколько библиотек визуализации данных, студенты, изучающие этот язык и аналитику данных, часто начинают с Matplotlib.

Команда VK Cloud перевела руководство, как улучшить диаграммы, созданные в Matplotlib. Все показано на реальных примерах.

Читать далее
Всего голосов 21: ↑21 и ↓0+25
Комментарии3

Почему я больше не делаю важные дела: и еще 3 правила как не потерять себя к 40 годам

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров148K

До 30 лет кажется, что ты еще успеваешь завоевать мир. Кое-кто и вправду успевает. Но вскоре у многих появляются дети, а поясница с желудком потихоньку выходят из игры. Тогда-то и начинаешь понимать – жизнь чертовски быстро заканчивается. В этой статье поговорим о том, как не просрать ее окончательно.

Читать далее
Всего голосов 156: ↑121 и ↓35+112
Комментарии243

Как устроено A/B-тестирование в Авито

Время на прочтение7 мин
Количество просмотров88K

Всем привет. Меня зовут Данила, я работаю в команде, которая развивает аналитическую инфраструктуру в Авито. Центральное место в этой инфраструктуре занимает А/B-тестирование.


А/B эксперименты — ключевой инструмент принятия решений в Авито. В нашем цикле продуктовой разработки А/B-тест является обязательным этапом. Мы проверяем каждую гипотезу и выкатываем только позитивные изменения.


Мы собираем сотни метрик и умеем детализировать их до бизнес-разрезов: вертикали, регионы, авторизованные пользователи и т. д. Мы делаем это автоматизированно с помощью единой платформы для экспериментов. В статье я достаточно подробно расскажу, как платформа устроена и мы с вами погрузимся в некоторые интересные технические детали.


Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии35

Pandas — НЕ для анализа данных (Используем Pandas для server-side рендеринга html)

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров11K

В среде питонистов библиотека Pandas пользуется большой популярностью и по большей мере известна в контексте DataSciense и анализа данных. DataFrame пандас позволяет не только всячески манипулировать данными, но и выводить их в нужном формате, предоставляя широкие возможности для кастомизации. Например, использовали ли вы объекты класса Styler, входящего в состав Pandas? Мне показалось интересным взглянуть на Pandas с этой стороны.

Читать далее
Всего голосов 14: ↑12 и ↓2+12
Комментарии7

Машинное обучение: мост между бизнесом и Data Science

Время на прочтение16 мин
Количество просмотров4.9K

Если последние несколько лет вы не жили на далёком острове без электричества и связи, то, вероятно, слышали о машинном обучении. Этот тренд было сложно не заметить. Каждый раз, когда мы говорим о беспилотных автомобилях, чат-ботах, AlphaGo или предиктивной аналитике, упоминается та или иная реализация машинного обучения. Хотя недостатка в историях и евангелистах нет, машинное обучение пока не стало в глазах бизнеса абсолютной необходимостью. В общественном восприятии применяемые в ML алгоритмы близки к научной фантастике, а подготовка конкретного плана внедрения ML по-прежнему остаётся высоким барьером.

Цель этой статьи — практические ответы, а не подготовка видения или продвижение тренда. Мы поговорим о зонтичном термине data science, о взаимосвязи его отраслей, основных задачах, которые может решать машинное обучение, а также о том, как эти задачи можно перевести на язык бизнеса. Также мы обсудим основные решения, которые нужно принять при найме специалистов, и выделим сложности, которые нужно учесть заранее
Читать дальше →
Всего голосов 7: ↑4 и ↓3+3
Комментарии3

Бутстрап временных рядов

Время на прочтение19 мин
Количество просмотров6.2K

Всем привет! Как и во многих других компаниях, в X5 существует огромное количество данных, зависящих от времени. Такие данные принято называть временными рядами (time-series). Это могут быть данные о продажах в магазинах, об остатках на складах или об удовлетворенности клиентов. Используя эти данные, мы хотим искать инсайты и приносить пользу бизнесу.

Бутстрап является ценным инструментом — он позволяет генерировать множество синтетических выборок из исходных данных, на основе которых мы можем оценить распределение интересующей нас статистики и построить доверительные интервалы. Например, если нужно определить доверительный интервал для медианы или какого-то другого квантиля предсказаний, бутстрап позволяет это сделать, даже когда прямое аналитическое вычисление невозможно.

Для временных рядов бывает полезно оценить границы, в которых находятся параметры модели, из которой получен ряд. Кроме того, часто необходимо посчитать доверительный интервал, в котором находятся предсказания для объекта с использованием моделей машинного обучения. Однако обычные методы бутстрапа не подойдут для временных рядов, так как они не учитывают структуру таких данных.

В нашем обзоре мы рассмотрим, как различные модификации метода бутстрапа учитывают структурные особенности и зависимости в данных временных рядов. Особое внимание будет уделено объяснению, почему нельзя применять стандартный подход бутстрапа к временным рядам без учёта их структуры. Затем мы перейдем к обзору методов, которые позволяют эффективно решить эту проблему.

Читать далее
Всего голосов 9: ↑8 и ↓1+10
Комментарии0

Стратификация. Как разбиение выборки повышает чувствительность A/B теста

Время на прочтение15 мин
Количество просмотров39K

Всем привет! На связи команда ad-hoc аналитики X5 Tech.

Сегодня подробно обсудим применение стратификации для повышения чувствительности оценки AB экспериментов.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии1

Охота на недостающий тип данных

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров15K
Направленный граф — это набор узлов, связанных стрелками (рёбрами). Как узлы, так и рёбра могут содержать данные. Вот несколько примеров:

Все графы созданы с помощью graphviz (источник)

В сфере разработки ПО графы используются повсеместно:

  1. Зависимости пакетов, как и импорт модулей, формируют направленные графы.
  2. Интернет — это граф, состоящий из ссылок между веб-страницами.
  3. При проверке моделей анализ выполняется путём изучения «пространства состояний» всех возможных конфигураций. Узлы — это состояния, а рёбра — это допустимые переходы между ними.
  4. Реляционные базы данных — это графы, в которых узлы являются записями, а рёбра — внешними ключами.
  5. Графы — это обобщение связанных списков, двоичных деревьев и хэш-таблиц.1

Кроме того, графы также широко используются в бизнес-логике. Научные работы со ссылками формируют графы цитат. Транспортные сети представляют графы маршрутов. Социальные сети — это графы связей. Если вы работаете в сфере разработки, то рано или поздно встретитесь с графами.

Я вижу графы повсюду и использую их для анализа всевозможных систем. В то же время я побаиваюсь использовать их в коде. Какой из популярных языков программирования ни возьми, поддержка графов в них практически отсутствует. Ни в одном её нет в виде встроенного типа, очень мало где они прописаны в стандартной библиотеке, и у многих языков нет для этой функциональности надёжного стороннего пакета. Чаще всего мне приходится создавать графы с нуля. Существует большой разрыв между тем, как часто инженерам ПО могут понадобиться графы и тем, в какой степени экосистема их поддерживает. Где все графовые типы?
Читать дальше →
Всего голосов 49: ↑47 и ↓2+69
Комментарии21

Почему машинному обучению с трудом дается причинно-следственная связь?

Время на прочтение10 мин
Количество просмотров7.2K

Эта статья является частью наших обзоров исследовательских работ в области ИИ, серии публикаций, в которых исследуются последние открытия в области искусственного интеллекта.

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Анализируем причинно-следственные связи метрик ВКонтакте

Время на прочтение8 мин
Количество просмотров6K
Всем привет, меня зовут Анвер, я работаю в команде Core ML ВКонтакте. Одна из наших задач — создавать и улучшать алгоритмы ранжирования для ленты новостей. В этой статье расскажу о том, как можно применять для этого причинно-следственный анализ — чтобы в результате сделать сервис интереснее для пользователей. Поговорим про преимущества такого подхода по сравнению с корреляционным анализом, и я предложу модификации существующих алгоритмов.



Читать дальше →
Всего голосов 8: ↑7 и ↓1+7
Комментарии3

Нелинейные корреляции. Моя любимая статистическая мера: D Хёфдинга

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров6.3K

Предположим, у вас есть две последовательности чисел, которые вы хотите сравнить, чтобы измерить, насколько они связаны или зависимы друг от друга. Это действительно довольно общий сеттинг: две последовательности могут представлять временные ряды, так что у вас есть таблица с тремя столбцами и кучей строк. Первый столбец будет временем (скажем, с часовыми интервалами), а затем по одному столбцу для каждой последовательности; первый, например, может быть средней ценой акции за этот интервал, а второй - объемом торгуемых акций за этот интервал. Или вы могли бы сравнить процентное изменение цены одной акции по сравнению с другой. Конечно, это вовсе не обязательно должны быть временные ряды: у вас также может быть всего два столбца (то есть вообще без столбца времени). Первый может быть ростом американца старше 30 лет в дюймах, а второй — весом того же человека в фунтах. Или, чтобы использовать более актуальный пример, каждый столбец может представлять вектор эмбеддингов некоторых предложений на английском языке от определенной модели LLM. Первый столбец может быть вектором от модели Mixtral 8x7B для строки "I love my 3 sons" (Я люблю моих трех сыновей), а другой — от той же модели для строки "I cherish my 5 daughters" (Я дорожу моими пятью дочерьми).

В каждом из этих случаев у нас есть две последовательности данных, которые мы хотим сравнить. Проблема заключается в том, что в самой общей ситуации мы не имеем ни малейшего представления о том, какова может быть природа связи, или даже есть ли связь, о которой стоит говорить. Что, если две последовательности полностью независимы, как записи бросков двух разных честных кубиков? Что, если данные немного искажены и содержат некоторые экстремальные выбросы, которые искажают наиболее общие виды мер, на которые вы могли бы захотеть посмотреть, такие как среднее значение и дисперсия каждого столбца отдельно? Вы могли бы подумать сейчас: «Погодите, разве ответ на это — просто посмотреть на корреляцию?» И это действительно хорошая идея для проверки, поскольку это наиболее часто используемая мера ассоциации между двумя наборами данных.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии4

АБ тесты и подводные камни при их автоматизации

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров8.5K

Задача оценки нововведений в онлайн и мобильных приложениях возникает повсеместно. Один из наиболее надёжных и популярных способов решения этой задачи - двойной слепой рандомизированный эксперимент, также известный как АБ-тест.

На тему АБ-тестирования доступны как статьи на Хабре, так и целые книги (неполный список литературы в конце). В основе АБ-теста лежит следующая идея - случайно разделить пользователей на две или более группы, в одной из которых исследуемая функциональность выключена, а в других - включена. Затем можно сравнить метрики и сделать выводы.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Типичные задачи аналитика данных. Часть 1. Упала метрика

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров16K

В прошлой статье мы рассматривали неочевидные проблемы АБ тестирования и как можно с ними справляться [ссылка]. Но часто бывает так, что при внедрении новой функциональности АБ тестирование провести нельзя. Например, это типично для маркетинговых кампаний нацеленных на массовую аудиторию. В данной ситуации существует вероятность того, что пользователи контрольной группы, которым недоступна рекламируемая функциональность, начнут массово перерегистрироваться. Также возможен сценарий, при котором возникнет значительное количество негативных отзывов из-за воспринимаемой дискриминации. Но задача оценки таких нововведений одна из наиболее частых, которые приходится решать аналитикам. Если метрики только улучшаются, то это обычно легко объяснить хорошей работой, а если метрика ухудшилась, то сразу появляется задача на аналитика. В этой заметке мы рассмотрим первую часть задачи - а действительно ли метрика упала и если да, то имеет ли смысл разбираться дальше?

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Искусство прогнозирования: погружение в Марковские цепи

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров13K


Автор статьи: Артем Михайлов

Марковские цепи — это математическая модель, которая с успехом применяется в различных областях, таких как машинное обучение, генерация текстов или музыки, криптография и многих других. Модель была разработана Андреем Марковым в начале 20 века и с тех пор нашла широкое применение в различных областях.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+21
Комментарии0

Как мы используем цепи Маркова в оценке решений и поиске багов. Со скриптом на Python

Время на прочтение6 мин
Количество просмотров12K
Нам важно понимать, что происходит с нашими студентами во время обучения, и как эти события влияют на результат, поэтому мы выстраиваем Customer Journey Map — карту клиентского опыта. Ведь процесс обучения — не нечто непрерывное и цельное, это цепочка взаимосвязанных событий и действий студента, причем эти действия могут сильно отличаться у разных учеников. Вот он прошел урок: что он сделает дальше? Пойдет в домашнее задание? Запустит мобильное приложение? Изменит курс, попросит сменить учителя? Сразу зайдет в следующий урок? Или просто уйдет разочарованным? Можно ли, проанализировав эту карту, выявить закономерности, приводящие к успешному окончанию курса или наоборот, «отваливанию» студента?



Обычно для выстраивания CJM используют специализированные, весьма дорогие инструменты с закрытым кодом. Но нам хотелось придумать что-то простое, требующее минимальных усилий и по возможности опенсорсное. Так появилась идея воспользоваться цепями Маркова — и у нас получилось. Мы построили карту, интерпретировали данные о поведении студентов в виде графа, увидели совершенно неочевидные ответы на глобальные вопросы бизнеса и даже нашли глубоко спрятанные баги. Все это мы сделали с помощью опенсорсных решений Python-скрипта. В этой статье я расскажу про два кейса с теми самыми неочевидными результатами и поделюсь скриптом со всеми желающими.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии7

Краткое введение в цепи Маркова

Время на прочтение16 мин
Количество просмотров202K
image

В 1998 году Лоуренс Пейдж, Сергей Брин, Раджив Мотвани и Терри Виноград опубликовали статью «The PageRank Citation Ranking: Bringing Order to the Web», в которой описали знаменитый теперь алгоритм PageRank, ставший фундаментом Google. Спустя чуть менее двух десятков лет Google стал гигантом, и даже несмотря на то, что его алгоритм сильно эволюционировал, PageRank по-прежнему является «символом» алгоритмов ранжирования Google (хотя только немногие люди могут действительно сказать, какой вес он сегодня занимает в алгоритме).

С теоретической точки зрения интересно заметить, что одна из стандартных интерпретаций алгоритма PageRank основывается на простом, но фундаментальном понятии цепей Маркова. Из статьи мы увидим, что цепи Маркова — это мощные инструменты стохастического моделирования, которые могут быть полезны любому эксперту по аналитическим данным (data scientist). В частности, мы ответим на такие базовые вопросы: что такое цепи Маркова, какими хорошими свойствами они обладают, и что с их помощью можно делать?
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии11

Увеличение чувствительности A/Б-тестов с помощью Cuped. Доклад в Яндексе

Время на прочтение12 мин
Количество просмотров35K
CUPED (Controlled-experiment Using Pre-Experiment Data) — техника A/Б-экспериментов, которую стали применять в продакшене сравнительно недавно. Она позволяет увеличить чувствительность метрик за счёт использования данных, полученных ранее. Чем больше чувствительность, тем более слабые изменения можно замечать и учитывать в эксперименте. Первой компанией, внедрившей CUPED, была Microsoft. Теперь этой техникой пользуются многие международные фирмы. В своём докладе Валерий Бабушкин venheads объяснил, в чём заключается смысл CUPED и каких результатов можно достичь, а перед этим разобрал метод стратификации, который также улучшает чувствительность.


— Меня зовут Валерий Бабушкин, я директор по моделированию и анализу данных в X5 Retail Group и советник в Яндекс.Маркете. В свободное время преподаю в Высшей школе экономики и частенько летаю в Казахстан, преподаю в Нацбанке Казахстана.
Читать дальше →
Всего голосов 8: ↑5 и ↓3+8
Комментарии0

Степени свободы в статистике

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров23K

Статистический анализ играет важную роль в научных исследованиях, коммерческих деятельностях и в других областях. Однако, его результаты могут быть неточными, если не учитывать имеющиеся степени свободы. Степени свободы – это концепция, которая широко используется в статистике, и она позволяет более точно определить, насколько можно доверять полученным результатам.

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

Читать далее
Всего голосов 13: ↑11 и ↓2+12
Комментарии2

Погружаемся в статистику вместе с Python. Часть 3. Тестов много, принцип один

Время на прочтение18 мин
Количество просмотров29K

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

О чем мне следует вас предупредить перед погружением на такую глубину? Во-первых, я предполагаю, что вы уже почитали книгу Сары Бослаф "Статистика для всех", а еще покопались в официальной документации модуля stats библиотеки SciPy. Уж простите меня за мое следующее предположение, но мне кажется, что вы скорее всего были немного ошарашены огромным количеством тестов, которые там имеются, и были ошарашены еще больше, когда поняли, что это на самом деле только верхушка айсберга. Ну, а если вы еще не столкнулись со всеми прелестями этого чудесного "пубертатного периода", то рекомендую раздобыть книгу Александра Ивановича Кобзаря "Прикладная математическая статистика. Для инженеров и научных работников". Ну, а если вы "в теме", то все равно загляните под кат, почему? Потому что изложение и интерпретация фактов порой важнее и интереснее самих фактов.

Ну что, погружаемся еще глубже?
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность