#QA
Есть ли такие задачи, где ML, в любом виде, будет работать примерно как подбрасывание монетки? Не хотелось бы начинать заранее безнадёжный проект по анализу спортивной статистики 😉
Если под задачей подразумевать "спрогнозировать ответ y по данным X", то конечно бывают данные, по которым ничего не спрогнозируешь. А по любым, даже довольно хорошим данным, все равно можно предсказать не всё, есть предел качества. В машинном обучении традиционно рассматривают ошибку алгоритма как сумму трёх вещей: смещения, разброса и шума. Если хотите, это три разных по смыслу части ошибки прогноза. Так вот шум - это часть, обусловленная сугубо случайностью, это оценка снизу для ошибки алгоритма. Меньше не бывает! (Если говорить о среднестатистической ошибке, а разово, конечно, можно и угадать) Отвечая на вопрос про анализ спортивной статистики, до какой-то степени спортивные прогнозы можно успешно делать с помощью ML, и есть примеры стартапов, которым удается на этом зарабатывать (в том числе российских стартапов), но супер точности здесь ожидать не стоит.
Например, одни знакомые применяют ML в Daily Fantasy Sports - там вы набирате вирутальную команду из игроков (на ограничнный бюджет) и в зависимости от результатов игроков в реальных играх получаются баллы вашей команды, которыми вы соревнуетесь с другими. С одной стороны, вполне можно прогнозировать сколько баллов наберет каждый игрок, и с учетом этого укомплектовывать команду. Но различные "редкие" события в духе получения травм или выхода игрока на нетипичную для него позицию сильно ломают прогноз. При этом зная, что кто-то вчера получил травму, вы иногда сами можете лучше скорректировать свои действия, чем это сделает алгоритм, не обладающий этой информацией. Модели даже сложно научиться нормально учитывать травмы - т.к. для того, чтобы ее этому обучить, нужна большая обучающая выборка (тысячи объектов). Ее обычно нет. Кроме того есть другой фактор, портящий прогнозы - изменение правил.
В общем я бы рекомендовал заниматься задачами, где данных достаточно для обучения, все важные для прогноза вещи автоматически логгируются в данных, а постановка задачи не меняется с течением времени слишком быстро. Возможно в спортивной аналитике такие тоже есть.
Есть ли такие задачи, где ML, в любом виде, будет работать примерно как подбрасывание монетки? Не хотелось бы начинать заранее безнадёжный проект по анализу спортивной статистики 😉
Если под задачей подразумевать "спрогнозировать ответ y по данным X", то конечно бывают данные, по которым ничего не спрогнозируешь. А по любым, даже довольно хорошим данным, все равно можно предсказать не всё, есть предел качества. В машинном обучении традиционно рассматривают ошибку алгоритма как сумму трёх вещей: смещения, разброса и шума. Если хотите, это три разных по смыслу части ошибки прогноза. Так вот шум - это часть, обусловленная сугубо случайностью, это оценка снизу для ошибки алгоритма. Меньше не бывает! (Если говорить о среднестатистической ошибке, а разово, конечно, можно и угадать) Отвечая на вопрос про анализ спортивной статистики, до какой-то степени спортивные прогнозы можно успешно делать с помощью ML, и есть примеры стартапов, которым удается на этом зарабатывать (в том числе российских стартапов), но супер точности здесь ожидать не стоит.
Например, одни знакомые применяют ML в Daily Fantasy Sports - там вы набирате вирутальную команду из игроков (на ограничнный бюджет) и в зависимости от результатов игроков в реальных играх получаются баллы вашей команды, которыми вы соревнуетесь с другими. С одной стороны, вполне можно прогнозировать сколько баллов наберет каждый игрок, и с учетом этого укомплектовывать команду. Но различные "редкие" события в духе получения травм или выхода игрока на нетипичную для него позицию сильно ломают прогноз. При этом зная, что кто-то вчера получил травму, вы иногда сами можете лучше скорректировать свои действия, чем это сделает алгоритм, не обладающий этой информацией. Модели даже сложно научиться нормально учитывать травмы - т.к. для того, чтобы ее этому обучить, нужна большая обучающая выборка (тысячи объектов). Ее обычно нет. Кроме того есть другой фактор, портящий прогнозы - изменение правил.
В общем я бы рекомендовал заниматься задачами, где данных достаточно для обучения, все важные для прогноза вещи автоматически логгируются в данных, а постановка задачи не меняется с течением времени слишком быстро. Возможно в спортивной аналитике такие тоже есть.
Как развиваться дальше, если ты уже что-то знаешь и даже умеешь?
Вы скажете: в чём проблема - работай и приобретай опыт. Это разумеется, но ведь можно ускорить свой прогресс, общаясь с коллегами, в том числе более опытными.
Есть много конференций и митапов про задачи из Data Science.
Можно послушать коллег из других компаний и в кулуарах узнать больше подробностей, кто как делает свою работу. Но иногда кажется: вот бы, как в универе, периодически куда-нибудь ходить, чтобы систематизировать свои знания.
Можно пойти в какую-нибудь магистратуру по анализу данных или аналогичную ей программу. Хороших не очень много, но они есть. В Сколтехе очень хорошо, в ШАДе превосходно, ФКН в Вышке, говорят, прекрасен.
А если вы хотите под чьим-то руководством прямо практики-практики даже в обучении, чтобы руками мастерить что-то работающее и полезное?
Вот непонятно, куда за этим идти?
Может я просто не знаю?
Давайте соберем образовательные проекты с практикой на задачах из бизнеса 🙂
Пишите свои варианты мне в директ ( @vkantor ) или в гугл-форму - https://forms.gle/neoVkoeQuQp2QXG38 И, конечно же, я напишу в канале, какой список в итоге получился
Вы скажете: в чём проблема - работай и приобретай опыт. Это разумеется, но ведь можно ускорить свой прогресс, общаясь с коллегами, в том числе более опытными.
Есть много конференций и митапов про задачи из Data Science.
Можно послушать коллег из других компаний и в кулуарах узнать больше подробностей, кто как делает свою работу. Но иногда кажется: вот бы, как в универе, периодически куда-нибудь ходить, чтобы систематизировать свои знания.
Можно пойти в какую-нибудь магистратуру по анализу данных или аналогичную ей программу. Хороших не очень много, но они есть. В Сколтехе очень хорошо, в ШАДе превосходно, ФКН в Вышке, говорят, прекрасен.
А если вы хотите под чьим-то руководством прямо практики-практики даже в обучении, чтобы руками мастерить что-то работающее и полезное?
Вот непонятно, куда за этим идти?
Может я просто не знаю?
Давайте соберем образовательные проекты с практикой на задачах из бизнеса 🙂
Пишите свои варианты мне в директ ( @vkantor ) или в гугл-форму - https://forms.gle/neoVkoeQuQp2QXG38 И, конечно же, я напишу в канале, какой список в итоге получился
В продолжение предыдущей темы: интересно, какой должна быть программа такого практико-ориентированного образовательного проекта по DS, рассчитанного на неновичков?
С одной стороны, можно сразу бежать образовывать людей крутыми курсами. Сколько такая программа может длиться? Несколько недель - маловато. Полгода-год - получше, можно многое содержательно успеть обсудить. Идеальный срок, наверно, бесконечность! Life-long learning! Но бесконечную программу составлять бесконечно долго, отбросим пока этот вариант :)
Возникает другая проблема.
100% придут люди с разным уровнем знаний. Нужно либо их очень строго отбирать, либо смириться с тем, что базовые знания могут существенно различаться
С одной стороны, можно сразу бежать образовывать людей крутыми курсами. Сколько такая программа может длиться? Несколько недель - маловато. Полгода-год - получше, можно многое содержательно успеть обсудить. Идеальный срок, наверно, бесконечность! Life-long learning! Но бесконечную программу составлять бесконечно долго, отбросим пока этот вариант :)
Возникает другая проблема.
100% придут люди с разным уровнем знаний. Нужно либо их очень строго отбирать, либо смириться с тем, что базовые знания могут существенно различаться
Запуск Академии больших данных MADE
В сообществе уже известно, что с июля я работаю в Mail.ru Group. Настало время рассказать, что это значит.
К моим образовательным проектам добавился новый, очень важный для меня проект — Академия больших данных MADE.
Что такое MADE?
Mail.ru Group запускает образовательные программы для специалистов с опытом. Уже запустилась Академия продукт менеджеров.
Последние два месяца большую часть времени я искал преподавателей и уточнял программу для аналогичного (только более продолжительного) проекта для Data scientist’ов, ML и Data инженеров — Академии больших данных.
Длительность программы - 3 семестра (1,5 года), начиная с этого октября, обучение бесплатное.
Что будет в первом семестре?
Первый семестр — «выравнивающий». Он помогает всем подтянуть машинное обучение, алгоритмы и структуры данных и что-то по выбору: либо продвинутые курсы С++/Java/Python от опытных в продакшн-разработке преподавателей, либо прикладную статистику на курсе «Статистические методы анализа данных» Михаила Борисовича Лагутина (автора той самой «Наглядной матстатистики» — она же «книжка с коровой» 🙂
В случае курсов по программированию ожидается, что вы выбираете тот язык, на котором уже умеете писать код, но хотите делать это чуть увереннее и меньше бояться продакшена. Если же вы хотите быть тем аналитиком данных, который не пишет в продакшн… нет, никто не погонит вас вон из профессии, можете просто смело выбирать статистику и прокачиваться в теории 🙂 То же самое вы можете сделать, если в программировании вы уже сами можете учить кого угодно и чему угодно.
В этом одна из важный особенностей Академии больших данных — мы постарались учесть, что у компаний есть потребности в различных специалистах, а у людей бывают разные таланты, и построить процесс так, чтобы дать как можно большему числу людей возможность прокачаться. Кстати, заочное обучение тоже сразу будет. И это я пока рассказал только про первый семестр, а самое интересное будет во втором и третьем: очень много практики, интересные проекты, курсы про то, как делать ML в большой IT компании для сервисов с миллионами пользователей, ну и конечно — бесподобные преподаватели.
Когда живешь каким-то проектом, можешь говорить о нем очень много, но пожалуй не буду стараться запихнуть все мысли в один пост. Просто заходите на data.mail.ru и посмотрите, а чуть позже я еще напишу про отбор в академию, преподавателей, 2-3 семестр, почему Академия больших данных — это очень важный проект для Data Science сообщества и другие интересные вещи.
В сообществе уже известно, что с июля я работаю в Mail.ru Group. Настало время рассказать, что это значит.
К моим образовательным проектам добавился новый, очень важный для меня проект — Академия больших данных MADE.
Что такое MADE?
Mail.ru Group запускает образовательные программы для специалистов с опытом. Уже запустилась Академия продукт менеджеров.
Последние два месяца большую часть времени я искал преподавателей и уточнял программу для аналогичного (только более продолжительного) проекта для Data scientist’ов, ML и Data инженеров — Академии больших данных.
Длительность программы - 3 семестра (1,5 года), начиная с этого октября, обучение бесплатное.
Что будет в первом семестре?
Первый семестр — «выравнивающий». Он помогает всем подтянуть машинное обучение, алгоритмы и структуры данных и что-то по выбору: либо продвинутые курсы С++/Java/Python от опытных в продакшн-разработке преподавателей, либо прикладную статистику на курсе «Статистические методы анализа данных» Михаила Борисовича Лагутина (автора той самой «Наглядной матстатистики» — она же «книжка с коровой» 🙂
В случае курсов по программированию ожидается, что вы выбираете тот язык, на котором уже умеете писать код, но хотите делать это чуть увереннее и меньше бояться продакшена. Если же вы хотите быть тем аналитиком данных, который не пишет в продакшн… нет, никто не погонит вас вон из профессии, можете просто смело выбирать статистику и прокачиваться в теории 🙂 То же самое вы можете сделать, если в программировании вы уже сами можете учить кого угодно и чему угодно.
В этом одна из важный особенностей Академии больших данных — мы постарались учесть, что у компаний есть потребности в различных специалистах, а у людей бывают разные таланты, и построить процесс так, чтобы дать как можно большему числу людей возможность прокачаться. Кстати, заочное обучение тоже сразу будет. И это я пока рассказал только про первый семестр, а самое интересное будет во втором и третьем: очень много практики, интересные проекты, курсы про то, как делать ML в большой IT компании для сервисов с миллионами пользователей, ну и конечно — бесподобные преподаватели.
Когда живешь каким-то проектом, можешь говорить о нем очень много, но пожалуй не буду стараться запихнуть все мысли в один пост. Просто заходите на data.mail.ru и посмотрите, а чуть позже я еще напишу про отбор в академию, преподавателей, 2-3 семестр, почему Академия больших данных — это очень важный проект для Data Science сообщества и другие интересные вещи.
Сегодня понедельник. На выходных прошел последний вступительный экзамен в Академию больших данных MADE, все работы проверены, сейчас мы подводим итоги. Вопрос:
Вам интересно узнать, что и зачем мы проверяли на каждом этапе и посмотреть на задачи с отбора?
Вам интересно узнать, что и зачем мы проверяли на каждом этапе и посмотреть на задачи с отбора?
Anonymous Poll
93%
Да. Давай сюда примеры, может даже подумаем, как решается!
2%
Скорее нет. Кому было интересно - поучаствовал в отборе
5%
Мне все равно. Можно запостить, а можно забить
По мотивам голосования, рассказываю про задания с отбора в Академию больших данных MADE. Отбор состоял из онлайн-этапа (проверяли математику и программирование), письменного экзамена по математике (для очной формы обучения) и опционального контеста по анализу данных (для всех, давал дополнительные баллы).
Цель такого набора испытаний - проверить некоторый необходимый минимум знаний и дать возможность поступающим в Академию проявить любые релевантные её тематике таланты. Т.е. для поступления не нужно быть идеальным - нужно знать необходимое и хотя бы в чем-то быть особенно талантливым.
Онлайн-тестирование по математике состояло из пяти задач. Обсудив с руководителями внутри Mail.ru Group и внешними экспертами, какие темы из математики полезны в анализе данных, мы получили такой набор:
1. Мат.анализ: производные (для объяснения решения оптимизационных задач при обучении моделей в ML) и интегралы (в основном для осознания понятий из теорвера, используемых в ML - например, той же связи плотности распределения и вероятности)
2. Линейная алгебра: линейная независимость, определители, собственные значения, собственные векторы - для понимания проблем мультиколлинеарности и связи с обусловленностью матрицы, для анализа многомерных нормальных распределений, а также для метода главных компонент и похожих на него применений
3. Дифференциальные уравнения (опционально, но полезно): понимание самой концепции и способность быстро разобраться как решать - т.к. есть примеры использования дифуров вместе с ML в многопользовательских сервисах для управления активностью пользователей, есть также примеры из промышленности и других сфер, где сейчас активно применяется ML
4. Теория вероятностей: дискретные вероятности, условная вероятность, формула Байеса и формула полной вероятности, популярные семейства распределений и их свойства, матожидание и его свойства - как база для статистики
Отдельно пришлось позаботиться о том, чтобы формулировка задачи как можно реже позволяла просто скопировать ее в Wolfram Alpha и получить ответ. Отсюда вместо задач “найдите производную” возникли задачи, в которых ее нужно суметь правильно применить.
Также нам было важно понимание перечисленных тем, а не безупречная арифметика, поэтому к каждой задаче давались варианты ответа, чтобы поступающим в Академию было проще заметить ошибку в вычислениях.
Цель такого набора испытаний - проверить некоторый необходимый минимум знаний и дать возможность поступающим в Академию проявить любые релевантные её тематике таланты. Т.е. для поступления не нужно быть идеальным - нужно знать необходимое и хотя бы в чем-то быть особенно талантливым.
Онлайн-тестирование по математике состояло из пяти задач. Обсудив с руководителями внутри Mail.ru Group и внешними экспертами, какие темы из математики полезны в анализе данных, мы получили такой набор:
1. Мат.анализ: производные (для объяснения решения оптимизационных задач при обучении моделей в ML) и интегралы (в основном для осознания понятий из теорвера, используемых в ML - например, той же связи плотности распределения и вероятности)
2. Линейная алгебра: линейная независимость, определители, собственные значения, собственные векторы - для понимания проблем мультиколлинеарности и связи с обусловленностью матрицы, для анализа многомерных нормальных распределений, а также для метода главных компонент и похожих на него применений
3. Дифференциальные уравнения (опционально, но полезно): понимание самой концепции и способность быстро разобраться как решать - т.к. есть примеры использования дифуров вместе с ML в многопользовательских сервисах для управления активностью пользователей, есть также примеры из промышленности и других сфер, где сейчас активно применяется ML
4. Теория вероятностей: дискретные вероятности, условная вероятность, формула Байеса и формула полной вероятности, популярные семейства распределений и их свойства, матожидание и его свойства - как база для статистики
Отдельно пришлось позаботиться о том, чтобы формулировка задачи как можно реже позволяла просто скопировать ее в Wolfram Alpha и получить ответ. Отсюда вместо задач “найдите производную” возникли задачи, в которых ее нужно суметь правильно применить.
Также нам было важно понимание перечисленных тем, а не безупречная арифметика, поэтому к каждой задаче давались варианты ответа, чтобы поступающим в Академию было проще заметить ошибку в вычислениях.
math_online_test.pdf
63.2 KB
А вот и сами условия задач из онлайн-теста по математике (один из вариантов)
Давайте добавим немного экшена и попробуем решить вторую задачу из онлайн-теста по математике в MADE. Чему равно минимальное расстояние между двумя фигурами на плоскости, заданными неявными функциями:
x − y − 3 = 0 - x^2 + y + 2 = 0
x − y − 3 = 0 - x^2 + y + 2 = 0
Anonymous Poll
28%
Посмотреть результаты
42%
Я взрослый приличный человек, не буду я ничего дифференцировать, отстаньте :)
3%
0,975
21%
0,530
3%
0,437
2%
0,140
2%
0,615
О других этапах отбора. Тест по программированию был контестом из четырех задачек, из которых первая проверяла способность написать хоть какую-то простую программу, вторая не предполагала знание алгоритмов, а третья и четвертая подразумевали знание совсем азов вроде обходов графов.
Отдельной головной болью стал вопрос, включать или нет алгоритмы в письменный экзамен (для очников). Было принято решение, что никто не пишет в продакшн на бумажке, так что можно обойтись без этого. Да и все равно программирование на бумаге ненавидят все, включая проверяющих.
Письменный экзамен был из менее "шаблонной" математики, чем онлайн-тест. Но такой, чтобы в 2-3 задачах решение было изящным и лежало на поверхности. Например: чтобы выяснить, существуют ли матрицы A и B такие, что AB - BA = E, достаточно было догадаться вспомнить свойства следа матрицы.
Изначально у меня были большие сомнения в том, что письменный экзамен с олимпиадными задачками по математике нужен. Не буду лукавить: однажды я провалил один такой очень важный для меня вступительный экзамен, отсюда и мой настрой. Но во-первых в задании Академии хватало понятных и доступных задач, а во-вторых мы постарались сделать отбор таким, чтобы было реально компенсировать неудачу на письменном успехами на других этапах.
Была и еще одна важная причина, по которой письменный экзамен по математике нужно было оставить. Я постарался изучить мнение разных экспертов с незыблемой репутацией в Data Science, и в личной беседе встретил как резко негативные отзывы о таких процедурах отбора, так и отзыв "если бы там не было этих задач, то я бы никогда туда не поступил". Если уж кому-то из звезд DS олимпиадные задачки по математике на вступительных помогли, значит нужно оставить их как шанс для других таких же людей.
Также эксперты подсказали добавить соревнование по анализу данных, как часть отбора, более релевантную data science, чем задачки по линалу и матану. Участие в соревновании в случае успеха добавляло дополнительные баллы, позволяя, например, хуже решить задачки на письменном.
Соревнование было таким, чтобы лучший результат давали не знания ML (ему мы еще будем учить), а работа с данными и внимательное их изучение. Ради этого мы подготовили данные, в которых была "утечка" (leak) правильных ответов в признаки объектов. Соревнование на этих данных уже тестировалось на группе из 40 человек, и из них только один человек нашел утечку. В нашем случае ей смогли воспользоваться примерно 5% участников. Может показаться, что утечки нужно искать только в соревнованиях на kaggle. Но в индустрии, пропустив утечку в данных, можно запросто получать завышенные оценки качества модели и не долго не замечать подвох.
Итоговый балл для очной формы обучения учитывал письменную математику, программирование (за вычетом первой задачи) и соревнование по анализу данных. У заочников же вместо письменной математики использовался результат онлайн-тура.
Предмет моей особой гордости — то, что в MADE этапы отбора оценивали людей с разных сторон, и ошибка только на каком-то одном из этапов не лишала возможности поступить в Академию. Главное было хорошо показать себя в других испытаниях. Я нахожу это очень человечной и внимательной к разным талантам людей системой отбора, и ровно этого и хотелось в итоге добиться.
Отдельной головной болью стал вопрос, включать или нет алгоритмы в письменный экзамен (для очников). Было принято решение, что никто не пишет в продакшн на бумажке, так что можно обойтись без этого. Да и все равно программирование на бумаге ненавидят все, включая проверяющих.
Письменный экзамен был из менее "шаблонной" математики, чем онлайн-тест. Но такой, чтобы в 2-3 задачах решение было изящным и лежало на поверхности. Например: чтобы выяснить, существуют ли матрицы A и B такие, что AB - BA = E, достаточно было догадаться вспомнить свойства следа матрицы.
Изначально у меня были большие сомнения в том, что письменный экзамен с олимпиадными задачками по математике нужен. Не буду лукавить: однажды я провалил один такой очень важный для меня вступительный экзамен, отсюда и мой настрой. Но во-первых в задании Академии хватало понятных и доступных задач, а во-вторых мы постарались сделать отбор таким, чтобы было реально компенсировать неудачу на письменном успехами на других этапах.
Была и еще одна важная причина, по которой письменный экзамен по математике нужно было оставить. Я постарался изучить мнение разных экспертов с незыблемой репутацией в Data Science, и в личной беседе встретил как резко негативные отзывы о таких процедурах отбора, так и отзыв "если бы там не было этих задач, то я бы никогда туда не поступил". Если уж кому-то из звезд DS олимпиадные задачки по математике на вступительных помогли, значит нужно оставить их как шанс для других таких же людей.
Также эксперты подсказали добавить соревнование по анализу данных, как часть отбора, более релевантную data science, чем задачки по линалу и матану. Участие в соревновании в случае успеха добавляло дополнительные баллы, позволяя, например, хуже решить задачки на письменном.
Соревнование было таким, чтобы лучший результат давали не знания ML (ему мы еще будем учить), а работа с данными и внимательное их изучение. Ради этого мы подготовили данные, в которых была "утечка" (leak) правильных ответов в признаки объектов. Соревнование на этих данных уже тестировалось на группе из 40 человек, и из них только один человек нашел утечку. В нашем случае ей смогли воспользоваться примерно 5% участников. Может показаться, что утечки нужно искать только в соревнованиях на kaggle. Но в индустрии, пропустив утечку в данных, можно запросто получать завышенные оценки качества модели и не долго не замечать подвох.
Итоговый балл для очной формы обучения учитывал письменную математику, программирование (за вычетом первой задачи) и соревнование по анализу данных. У заочников же вместо письменной математики использовался результат онлайн-тура.
Предмет моей особой гордости — то, что в MADE этапы отбора оценивали людей с разных сторон, и ошибка только на каком-то одном из этапов не лишала возможности поступить в Академию. Главное было хорошо показать себя в других испытаниях. Я нахожу это очень человечной и внимательной к разным талантам людей системой отбора, и ровно этого и хотелось в итоге добиться.
Подошло время запуска очередного осеннего семестра курса Data Mining in Action (DMIA).
Курс проводится уже много лет и постоянно обновляется, развивается и дорабатывается для каждого нового запука. DMIA берет начало из факультатива по машинному обучению в МФТИ, который я начал вести, кажется, в 2011 году. За это время сформировалась сильная команда преподавателей, курс получил свое нынешнее название, переехал в центр Москвы, и сейчас занятия проходят в МИСиС. Количество желающих пройти курс выросло настолько, что в какой-то момент пришлось ввести отбор.
За год на DMIA даже после отбора приходит около 800-1000 человек. Пока мне неизвестны более масштабные курсы по ML в оффлайне.
Изначально отбора не было - была простая идея "приходите и оставайтесь, если вам нравится и у вас получается делать задания". И вот, спустя годы, мы возвращаемся к этой концепции. Отборочное задание на DMIA - посмотреть запись по первой теме курса и выполнить домашнее задание. Если справитесь, и если мы не закроем регистрацию из-за того, что кончилось место в лекционных аудиториях, то можно будет приходить 5 октября на первое очное занятие (уже не вводное).
На курсе есть 4 направления с лекциями и семинарами:
- Базовый поток (основы ML)
- Индустрия (применение ML в компаниях)
- Спорт (о том, как участвовать и побеждать в соревнованиях по анализу данных)
-Глубокое обучение.
"Базовое направление" и "глубокое обучение" рассчитаны на начинающих специалистов. "Индустрия" и "Спорт" требуют некоторых знаний в ML.
Форма для записи на курс: https://forms.gle/4xZ48bCZBnBKtALL6 . Подробнее про курс можно почитать на сайте dmia.space
Курс проводится уже много лет и постоянно обновляется, развивается и дорабатывается для каждого нового запука. DMIA берет начало из факультатива по машинному обучению в МФТИ, который я начал вести, кажется, в 2011 году. За это время сформировалась сильная команда преподавателей, курс получил свое нынешнее название, переехал в центр Москвы, и сейчас занятия проходят в МИСиС. Количество желающих пройти курс выросло настолько, что в какой-то момент пришлось ввести отбор.
За год на DMIA даже после отбора приходит около 800-1000 человек. Пока мне неизвестны более масштабные курсы по ML в оффлайне.
Изначально отбора не было - была простая идея "приходите и оставайтесь, если вам нравится и у вас получается делать задания". И вот, спустя годы, мы возвращаемся к этой концепции. Отборочное задание на DMIA - посмотреть запись по первой теме курса и выполнить домашнее задание. Если справитесь, и если мы не закроем регистрацию из-за того, что кончилось место в лекционных аудиториях, то можно будет приходить 5 октября на первое очное занятие (уже не вводное).
На курсе есть 4 направления с лекциями и семинарами:
- Базовый поток (основы ML)
- Индустрия (применение ML в компаниях)
- Спорт (о том, как участвовать и побеждать в соревнованиях по анализу данных)
-Глубокое обучение.
"Базовое направление" и "глубокое обучение" рассчитаны на начинающих специалистов. "Индустрия" и "Спорт" требуют некоторых знаний в ML.
Форма для записи на курс: https://forms.gle/4xZ48bCZBnBKtALL6 . Подробнее про курс можно почитать на сайте dmia.space
Вчера обсуждал с хорошим знакомым рекомендательные сервисы и понял, что стоит рассказать в канале про uplift моделирование. В начале карьеры мне сильно не хватало знаний про uplift, а сейчас я абсолютно уверен, что его обязательно нужно включать во все курсы по ML в рекомендациях и маркетинге.
Представьте, что вы предлагаете человеку подписаться на какую-то услугу или вовсе показываете целый рекомендательный блок с товарами, а он после этого соглашается на ваше предложение или покупает товар. Значит ли это, что ваши рекомендации работают? Смотря какая у вас цель. Когда вы хотите помочь человеку быстрее получить то, что он итак выберет (так, например, дело обстоит с разными подсказками в приложениях вроде пунктов назначения в приложении Яндекс.Такси), нужно просто верно угадать, что выберет пользователь (купит/посмотрит/лайкнет). Когда же вам нужно заинтересовать клиента чем-то новым или даже просто помочь найти то, что он не сможет разыскать самостоятельно в большом каталоге - ситуация чуть сложнее.
Здесь и появляется uplift моделирование - задача понять, на какие товары/услуги клиент обратит внимание после вашей рекомендации, но не обратил бы без нее. Если вы прогнозируете не какие товары человек купит, а для каких товаров рекомендация повысит вероятность покупки больше всего, рекомендации начинают советовать человеку действительно что-то новое. На экономику рекомендательных систем, конечно же, успешное uplift моделирование влияет очень хорошо 🙂
Если вам интересно почитать подробнее про uplift - буквально пару недель назад Макс Шевченко и Ира Елисова из Data Science МТС опубликовали отличный туториал: часть 1 -
https://habr.com/ru/company/ru_mts/blog/485980/ , часть 2 - https://habr.com/ru/company/ru_mts/blog/485976/ . Там же есть много других полезных ссылок. А если вы технический специалист и хотите попрактиковаться в uplift моделировании - можно еще успеть поучаствовать в конкурсе Retail Hero от X5: https://retailhero.ai (остается 10 дней, конкурс недавно продлевали)
Представьте, что вы предлагаете человеку подписаться на какую-то услугу или вовсе показываете целый рекомендательный блок с товарами, а он после этого соглашается на ваше предложение или покупает товар. Значит ли это, что ваши рекомендации работают? Смотря какая у вас цель. Когда вы хотите помочь человеку быстрее получить то, что он итак выберет (так, например, дело обстоит с разными подсказками в приложениях вроде пунктов назначения в приложении Яндекс.Такси), нужно просто верно угадать, что выберет пользователь (купит/посмотрит/лайкнет). Когда же вам нужно заинтересовать клиента чем-то новым или даже просто помочь найти то, что он не сможет разыскать самостоятельно в большом каталоге - ситуация чуть сложнее.
Здесь и появляется uplift моделирование - задача понять, на какие товары/услуги клиент обратит внимание после вашей рекомендации, но не обратил бы без нее. Если вы прогнозируете не какие товары человек купит, а для каких товаров рекомендация повысит вероятность покупки больше всего, рекомендации начинают советовать человеку действительно что-то новое. На экономику рекомендательных систем, конечно же, успешное uplift моделирование влияет очень хорошо 🙂
Если вам интересно почитать подробнее про uplift - буквально пару недель назад Макс Шевченко и Ира Елисова из Data Science МТС опубликовали отличный туториал: часть 1 -
https://habr.com/ru/company/ru_mts/blog/485980/ , часть 2 - https://habr.com/ru/company/ru_mts/blog/485976/ . Там же есть много других полезных ссылок. А если вы технический специалист и хотите попрактиковаться в uplift моделировании - можно еще успеть поучаствовать в конкурсе Retail Hero от X5: https://retailhero.ai (остается 10 дней, конкурс недавно продлевали)
Хабр
Туториал по uplift моделированию. Часть 1
Команда Big Data МТС активно извлекает знания из имеющихся данных и решает большое количество задач для бизнеса. Один из типов задач машинного обучения, с которыми мы сталкиваемся – это задачи...
#рекомендательные_системы #оценка_эффекта
Что сложного в оценке качества рекомендательных систем (часть 1)
Золотые косинусы
На заре развития рекомендательных систем в ритейле, была компания-первопроходец Х или, как их прозвали тролли-завистники, "Золотые косинусы". Называть их так стали, т.к. одни из самых простых методов сделать рекомендации используют идею порекомендовать то же, что нравится похожим пользователям или похожие на уже купленные/просмотренные товары. А оценивают похожесть часто как косинус угла между векторами признаков объектов.
Last click и first click attribution
Компания Х должна была как-то обосновывать онлайн-ритейлерам, что их блоки с рекомендациями товаров на сайте приносят какую-то пользу. Как это делать проще всего? Конечно сказать: "смотрите, по каким товарам из купленных человек кликал в блоке рекомендаций - вот эти продажи мы вам и сделали!". Но заказчики были не дураки и понимали, что не факт, что именно клик в блоке рекомендаций был таким вот определяющим. И так появилась проблема аттрибуции - к какому действию пользователя аттрибуцировать покупку.
Здесь возникло две крайности. Первая - считать, что то, на что последним кликнул пользователь, и повлияло на факт покупки больше всего (last click attribution). Иронично, что продажи с рекомендательного блока по last click attribution очень легко накрутить - достаточно на странице с товаром разместить рекомендательный блок с самим товаром в нем. Пользователь перед покупкой будет обращать внимание на наличие очень похожего товара в рекомендациях, кликать на него и огорченно обнаруживать, что это тот же самый товар. Зато покупка, если она случится, теперь будет засчитана вашему алгоритму 🙂 Вторая крайность - считать, что наиболее важен первый клик по товару (first click attribution), т.к. именно он породил у пользователя цепочку размышлений о том, не купить ли этот товар.
Каннибализация и А/В тестирование
Стоит ли говорить, что измеренная выручка с рекомендательного блока что по last click attribution, что по first click, часто составляла десятки процентов от выручки всего онлайн-магазина. Только вот денег настолько больше не становилось, рекомендательный блок просто каннибализировал трафик из каталога. Но все более-менее сходились в том, что если через блок идет 20-30% продаж, то он не может быть бесполезной вещью.
Жизнь компании Х сильно усложнилась, когда на рынке появились их конкуренты Y, рассказывавшие заказчикам, что такое А/В тесты. Идея разбивать пользователей на две группы - тестовую (с новыми рекомендациями) и контрольную (со старыми или без них - смотря что было у заказчика) была новой для многих онлайн-ритейлеров, а возможность честно сравнить всю выручку в группах и получить экономический эффект без "жульничества" с каннибализацией вынудила Х тоже начать заниматься проведением А/В тестов. Но не всё так просто, и отчасти статистика была на стороне Х - об этом в следующей части поста.
Что сложного в оценке качества рекомендательных систем (часть 1)
Золотые косинусы
На заре развития рекомендательных систем в ритейле, была компания-первопроходец Х или, как их прозвали тролли-завистники, "Золотые косинусы". Называть их так стали, т.к. одни из самых простых методов сделать рекомендации используют идею порекомендовать то же, что нравится похожим пользователям или похожие на уже купленные/просмотренные товары. А оценивают похожесть часто как косинус угла между векторами признаков объектов.
Last click и first click attribution
Компания Х должна была как-то обосновывать онлайн-ритейлерам, что их блоки с рекомендациями товаров на сайте приносят какую-то пользу. Как это делать проще всего? Конечно сказать: "смотрите, по каким товарам из купленных человек кликал в блоке рекомендаций - вот эти продажи мы вам и сделали!". Но заказчики были не дураки и понимали, что не факт, что именно клик в блоке рекомендаций был таким вот определяющим. И так появилась проблема аттрибуции - к какому действию пользователя аттрибуцировать покупку.
Здесь возникло две крайности. Первая - считать, что то, на что последним кликнул пользователь, и повлияло на факт покупки больше всего (last click attribution). Иронично, что продажи с рекомендательного блока по last click attribution очень легко накрутить - достаточно на странице с товаром разместить рекомендательный блок с самим товаром в нем. Пользователь перед покупкой будет обращать внимание на наличие очень похожего товара в рекомендациях, кликать на него и огорченно обнаруживать, что это тот же самый товар. Зато покупка, если она случится, теперь будет засчитана вашему алгоритму 🙂 Вторая крайность - считать, что наиболее важен первый клик по товару (first click attribution), т.к. именно он породил у пользователя цепочку размышлений о том, не купить ли этот товар.
Каннибализация и А/В тестирование
Стоит ли говорить, что измеренная выручка с рекомендательного блока что по last click attribution, что по first click, часто составляла десятки процентов от выручки всего онлайн-магазина. Только вот денег настолько больше не становилось, рекомендательный блок просто каннибализировал трафик из каталога. Но все более-менее сходились в том, что если через блок идет 20-30% продаж, то он не может быть бесполезной вещью.
Жизнь компании Х сильно усложнилась, когда на рынке появились их конкуренты Y, рассказывавшие заказчикам, что такое А/В тесты. Идея разбивать пользователей на две группы - тестовую (с новыми рекомендациями) и контрольную (со старыми или без них - смотря что было у заказчика) была новой для многих онлайн-ритейлеров, а возможность честно сравнить всю выручку в группах и получить экономический эффект без "жульничества" с каннибализацией вынудила Х тоже начать заниматься проведением А/В тестов. Но не всё так просто, и отчасти статистика была на стороне Х - об этом в следующей части поста.
Что сложного в оценке качества рекомендательных систем (часть 2)
Статистическая значимость
В прошлый раз мы закончили на том, что для оценки эффекта от внедренных в онлайн-ритейле рекомендательных систем начали проводить А/В тесты. Казалось бы, что может быть проще: разделил пользователей на две группы, измерил выручку в каждой, где денег больше - там и лучше. Оказалось, что проблемы подстерегали повсюду.
Начнем с того, что если в группе А заработано $50129, а в группе B - $51104, не очевидно, что с одним и тем же подходом к рекомендациям мы не получили бы такое же различие - нам могло просто повезти получить такое случайное отклонение. Все зависит от того, сколько было сделано покупок в каждой группе, какие чеки были в этих покупках, были ли выбросы вроде супердорогих товаров, покупка которых может сразу перекосить всю статистику в пользу одной из групп.
Чтобы как-то уберечь себя от принятия случайного отклонения в группах за реальный эффект, начали оценивать статистическую значимость результата - грубо говоря, воспроизводимость эффекта при повторных замерах.
Деление на группы
На этом беды не заканчиваются: увы, мы можем неверно разбить пользователей на группы А и В. Если в группе В было больше состоятельных клиентов, не удивительно, что и результат там будет лучше. Вы скажете: "Ну надо же случайно делить на группы!" Но в том-то и подвох, что на бытовом уровне "случайность" все понимают по-своему. Частая история - относить клиента к той или иной группе по последней цифре номера телефона (например, четные в одну группу, нечетные - в другую). К сожалению, распределение по этим цифрам обычно далеко не равномерное, поэтому такой подход часто приводил к перекосам в группах и невалидным А/В тестам. В частности, я видел такую грубую ошибку в инструментах для А/В тестирования даже в очень технологичных коммерческих компаниях (причем не в одной!).
Так как это все влияет на оценку качества рекомендаций?
Оказывается, в А/В тестировании не все метрики качества одинаково быстро "красятся" - показывают статзначимое отличие в группах. Эмпирическое правило - чем интереснее метрика бизнесу и ближе к конечному результату, тем хуже будет "прокрашиваться". Различие в кликах быстрее красится, чем в добавлениях в корзину. Добавления в корзину - быстрее, чем покупки. А деньги? А деньги вообще часто не значимы, сколько не мучайся, из-за большого разброса в ценах товаров.
Конечно, здесь есть миллион оговорок и, например, таргетируя рекомендации только на определенный сегмент без большого разброса цен, получить статзначимость бывает проще (если сокращение количества наблюдений оказалось менее драматичным, чем сокращение разброса цен). Зато покупки и деньги с блока по last/first click attribution красятся "на ура" - по этому показателю эффект часто на порядок больше, чем "реальный" (без учета каннибализации), заметить его проще. Поэтому даже в условиях, когда все знают про существование А/В тестов, от нехватки данных можно все равно начать измерять "кривые" метрики.
Обычно стараются зафиксировать иерархию метрик (например - деньги -> покупки -> корзины -> клики -> клики/покупки с блока) и стараться получить эффект по самой близкой бизнесу метрике из тех, которые прокрашиваются. Стоит заметить, что тут тоже важно не переусердствовать - есть такая вещь в статистике как множественная проверка гипотез, неправильное выполнение которой легко приведет к тому, что вы будете находить эффект там, где его нет.
Звучит это все довольно безрадостно, но это мы еще не поговорили о том, как измеряют качество модели на исторических данных. До внедрения модель же надо как-то разрабатывать и на чем-то обучать. Вот тут уж такой безысходностью повеет, что мало не покажется. Об этом - в следующей части.
Статистическая значимость
В прошлый раз мы закончили на том, что для оценки эффекта от внедренных в онлайн-ритейле рекомендательных систем начали проводить А/В тесты. Казалось бы, что может быть проще: разделил пользователей на две группы, измерил выручку в каждой, где денег больше - там и лучше. Оказалось, что проблемы подстерегали повсюду.
Начнем с того, что если в группе А заработано $50129, а в группе B - $51104, не очевидно, что с одним и тем же подходом к рекомендациям мы не получили бы такое же различие - нам могло просто повезти получить такое случайное отклонение. Все зависит от того, сколько было сделано покупок в каждой группе, какие чеки были в этих покупках, были ли выбросы вроде супердорогих товаров, покупка которых может сразу перекосить всю статистику в пользу одной из групп.
Чтобы как-то уберечь себя от принятия случайного отклонения в группах за реальный эффект, начали оценивать статистическую значимость результата - грубо говоря, воспроизводимость эффекта при повторных замерах.
Деление на группы
На этом беды не заканчиваются: увы, мы можем неверно разбить пользователей на группы А и В. Если в группе В было больше состоятельных клиентов, не удивительно, что и результат там будет лучше. Вы скажете: "Ну надо же случайно делить на группы!" Но в том-то и подвох, что на бытовом уровне "случайность" все понимают по-своему. Частая история - относить клиента к той или иной группе по последней цифре номера телефона (например, четные в одну группу, нечетные - в другую). К сожалению, распределение по этим цифрам обычно далеко не равномерное, поэтому такой подход часто приводил к перекосам в группах и невалидным А/В тестам. В частности, я видел такую грубую ошибку в инструментах для А/В тестирования даже в очень технологичных коммерческих компаниях (причем не в одной!).
Так как это все влияет на оценку качества рекомендаций?
Оказывается, в А/В тестировании не все метрики качества одинаково быстро "красятся" - показывают статзначимое отличие в группах. Эмпирическое правило - чем интереснее метрика бизнесу и ближе к конечному результату, тем хуже будет "прокрашиваться". Различие в кликах быстрее красится, чем в добавлениях в корзину. Добавления в корзину - быстрее, чем покупки. А деньги? А деньги вообще часто не значимы, сколько не мучайся, из-за большого разброса в ценах товаров.
Конечно, здесь есть миллион оговорок и, например, таргетируя рекомендации только на определенный сегмент без большого разброса цен, получить статзначимость бывает проще (если сокращение количества наблюдений оказалось менее драматичным, чем сокращение разброса цен). Зато покупки и деньги с блока по last/first click attribution красятся "на ура" - по этому показателю эффект часто на порядок больше, чем "реальный" (без учета каннибализации), заметить его проще. Поэтому даже в условиях, когда все знают про существование А/В тестов, от нехватки данных можно все равно начать измерять "кривые" метрики.
Обычно стараются зафиксировать иерархию метрик (например - деньги -> покупки -> корзины -> клики -> клики/покупки с блока) и стараться получить эффект по самой близкой бизнесу метрике из тех, которые прокрашиваются. Стоит заметить, что тут тоже важно не переусердствовать - есть такая вещь в статистике как множественная проверка гипотез, неправильное выполнение которой легко приведет к тому, что вы будете находить эффект там, где его нет.
Звучит это все довольно безрадостно, но это мы еще не поговорили о том, как измеряют качество модели на исторических данных. До внедрения модель же надо как-то разрабатывать и на чем-то обучать. Вот тут уж такой безысходностью повеет, что мало не покажется. Об этом - в следующей части.
Есть несколько тем для следующего поста в канал - выбирайте :) Пост будет завтра
Anonymous Poll
14%
Продолжение про оценку рекомендательных систем (в чем сложность оценки на исторических данных)
31%
Простыми словами про статзначимость в А/В тестах: как работает проверка гипотез, что такое p-value
11%
Какие статьи/публикации про ML читал последними (из того, что запомнилось)
11%
Как дела с общеобразовательными онлайн-курсами про ML: живы ли пока, будут ли ещё
21%
Где я работал последние два года и чем занимаюсь сейчас (мало ли, вдруг кому интересно))
11%
Что было самое интересное в работе self-employed в образовании и консультировании по Data Science
Статзначимость в А/В тестах (часть 1/3)
Итак, победил вариант «Простыми словами про статзначимость в А/В тестах». Разбил ответ на три части: введение, непосредственно по теме и некоторые интересные моменты, которые тоже полезно обсудить. Кто знает ответы на вопросы, выделенные полужирным шрифтом в этом посте, могут просто пролистать его и переходить сразу ко второму.
Зачем вообще нужны А/В тесты?
Потребность в А/В тестах возникает тогда, когда мы хотим что-то улучшить. Например, взамен какого-то существующего алгоритма персональных рекомендаций товаров или старого интерфейса мобильного приложения внедрить новую версию. А/В тесты как метод отвечают на вопрос: «Как понять, что это правда будет улучшать важные для нас показатели?»
Посмотреть «стало ли продаж больше» и удовлетвориться такой оценкой нововведения — это очень топорный подход, который сработает только когда бизнес-показатели не зависят от времени и нововведение лишь одно. Обычно это не так. Бизнес растет или угасает, бывает «сезон» и «не сезон». Бывает очень много изменений за месяц, и понять, какое именно из них вызвало эффект, невозможно. Однако многие вещи в коммерческих компаниях (даже самых технологичных) и в 2020 году делаются без А/В тестирования. А еще больше — без оценки статзначимости. К А/В тестам не нужно относиться теологически, но стоит понимать силу и возможности инструмента.
Что такое статистическая значимость и A/A тесты?
Допустим, нет пока никакого нововведения, которое вы будете оценивать в А/В тесте, есть пользователи вашего сайта или приложения, и вы просто делите их на две группы и смотрите на результат в каждой (например, на конверсию посещений в покупки на сайте). Такой тест называется А/А тестом, и, наверное, вас не удивит, что даже при хорошем разбиении на группы результаты в них будут немного отличаться.
Статистическая значимость эффекта в А/В тесте, грубо говоря, означает, что различие между группами заметно больше, чем было бы в А/А тесте, т.е. «есть реальный эффект», а не случайные отклонения. Что это значит для бизнеса? То, что хотя бы при сохранении тех же условий, что и во время проведения А/В теста, эффект от нововведения с большой вероятностью будет какое-то время сохраняться (важное уточнение: эффект может затухать со временем, никто не отменял «эффект новизны»).
Итак, победил вариант «Простыми словами про статзначимость в А/В тестах». Разбил ответ на три части: введение, непосредственно по теме и некоторые интересные моменты, которые тоже полезно обсудить. Кто знает ответы на вопросы, выделенные полужирным шрифтом в этом посте, могут просто пролистать его и переходить сразу ко второму.
Зачем вообще нужны А/В тесты?
Потребность в А/В тестах возникает тогда, когда мы хотим что-то улучшить. Например, взамен какого-то существующего алгоритма персональных рекомендаций товаров или старого интерфейса мобильного приложения внедрить новую версию. А/В тесты как метод отвечают на вопрос: «Как понять, что это правда будет улучшать важные для нас показатели?»
Посмотреть «стало ли продаж больше» и удовлетвориться такой оценкой нововведения — это очень топорный подход, который сработает только когда бизнес-показатели не зависят от времени и нововведение лишь одно. Обычно это не так. Бизнес растет или угасает, бывает «сезон» и «не сезон». Бывает очень много изменений за месяц, и понять, какое именно из них вызвало эффект, невозможно. Однако многие вещи в коммерческих компаниях (даже самых технологичных) и в 2020 году делаются без А/В тестирования. А еще больше — без оценки статзначимости. К А/В тестам не нужно относиться теологически, но стоит понимать силу и возможности инструмента.
Что такое статистическая значимость и A/A тесты?
Допустим, нет пока никакого нововведения, которое вы будете оценивать в А/В тесте, есть пользователи вашего сайта или приложения, и вы просто делите их на две группы и смотрите на результат в каждой (например, на конверсию посещений в покупки на сайте). Такой тест называется А/А тестом, и, наверное, вас не удивит, что даже при хорошем разбиении на группы результаты в них будут немного отличаться.
Статистическая значимость эффекта в А/В тесте, грубо говоря, означает, что различие между группами заметно больше, чем было бы в А/А тесте, т.е. «есть реальный эффект», а не случайные отклонения. Что это значит для бизнеса? То, что хотя бы при сохранении тех же условий, что и во время проведения А/В теста, эффект от нововведения с большой вероятностью будет какое-то время сохраняться (важное уточнение: эффект может затухать со временем, никто не отменял «эффект новизны»).
👍2
Статзначимость в А/В тестах (часть 2/3)
Как проверяют гипотезы с помощью статистики
Рассмотрим простой пример: мы с другом 10 раз сыграли в шахматы, и он 10 раз победил, какова вероятность такого исхода, если мы с ним играем одинаково хорошо?
Если мы одинаково хороши, шанс выиграть у каждого 0.5, значит мой шанс проиграть все 10 игр был 0.5 в степени 10, т.е. около 0.001. Выглядит как не очень вероятное событие, придется признать, что друг все-таки играет лучше. Ровно так же мы будем делать и при проверке того, что между группами А и В в А/В тесте есть статзначимые различия.
Как работает проверка статзначимости в А/В
Работает это так: предположим, что у нас есть какое-то нововведение (новое оформление, новый интерфейс, новый алгоритм рекомендаций), и мы проводим А/В тест. А вот эффекта от нововведения нет и различия между группами на самом деле нет. Это в статистике называется «нулевой гипотезой» — тем, что мы в А/В тесте в идеале хотим отвергнуть.
Предположив, что нулевая гипотеза выполняется (статистически различия между группами нет), мы можем оценить, с какой вероятностью p можно увидеть разность показателей в группах больше, чем Y (тысяч долларов выручки, например). Как это сделать? Например, взять наши данные, много раз случайно разбить их на две группы и посмотреть, в каком проценте случаев различие между группами окажется больше Y. За счет случайности разбиений, даже если эффект в вашем разбиении на группы А и В был, в новых группах его не будет (т.к. пользователи случайно перемешаются), и можно считать это хорошей оценкой вероятности p.
Если вероятность p оказалась очень маленькой, значит разница в группах все-таки существенная.
И что, всегда делать несколько тысяч случайных разбиений?
Приведенный выше пример с моделированием А/А тестов — это лишь один из используемых на практике стат.критериев — перестановочный тест (с некоторыми оговорками, но не будем сейчас вдаваться в детали). По многим показателям этот стат.критерий не самый удобный, но зато очень просто иллюстрирует концепцию проверки гипотез.
В жизни же во многих случаях можно обойтись без численного моделирования и применить какие-то параметрические стат.тесты (те, в которых распределение величины Y, если нулевая гипотеза верна, выписывается явно формулой). Например, если мы считаем, что наша величина Y имеет нормальное распределение, то можно без численных экспериментов обойтись формулами для нормального распределения. На самом деле, не совсем, надо хотя бы проверить, что распределение правда нормальное, но на этом тоже не будем останавливаться.
Главное — получить распределение Y, при условии нулевой гипотезы. Численно, либо по формуле в рамках каких-то предположений. В нашем примере с шахматами тоже использовался параметрический тест — биномиальный.
Как понять, что вероятность p «мала» и что такое p-value?
Величина p в статистике называется p-value. Перед проведением любого А/В теста фиксируют уровень значимости, например 5%, и отвергают нулевую гипотезу только если p-value оказывается меньше уровня значимости. Т.е. мы допускаем вероятность 5% сказать, что эффект есть, когда его на самом деле нет. А/В тесты, к сожалению, вещь вероятностная, поэтому «точного» ответа на вопрос «есть ли эффект» не дают, только могут подтвердить его на каком-то уровне значимости. Само p-value в русской литературе называют достигаемым уровнем значимости (не путать с уровнем значимости выше — он был порогом, с которым сравниваем p-value).
Как проверяют гипотезы с помощью статистики
Рассмотрим простой пример: мы с другом 10 раз сыграли в шахматы, и он 10 раз победил, какова вероятность такого исхода, если мы с ним играем одинаково хорошо?
Если мы одинаково хороши, шанс выиграть у каждого 0.5, значит мой шанс проиграть все 10 игр был 0.5 в степени 10, т.е. около 0.001. Выглядит как не очень вероятное событие, придется признать, что друг все-таки играет лучше. Ровно так же мы будем делать и при проверке того, что между группами А и В в А/В тесте есть статзначимые различия.
Как работает проверка статзначимости в А/В
Работает это так: предположим, что у нас есть какое-то нововведение (новое оформление, новый интерфейс, новый алгоритм рекомендаций), и мы проводим А/В тест. А вот эффекта от нововведения нет и различия между группами на самом деле нет. Это в статистике называется «нулевой гипотезой» — тем, что мы в А/В тесте в идеале хотим отвергнуть.
Предположив, что нулевая гипотеза выполняется (статистически различия между группами нет), мы можем оценить, с какой вероятностью p можно увидеть разность показателей в группах больше, чем Y (тысяч долларов выручки, например). Как это сделать? Например, взять наши данные, много раз случайно разбить их на две группы и посмотреть, в каком проценте случаев различие между группами окажется больше Y. За счет случайности разбиений, даже если эффект в вашем разбиении на группы А и В был, в новых группах его не будет (т.к. пользователи случайно перемешаются), и можно считать это хорошей оценкой вероятности p.
Если вероятность p оказалась очень маленькой, значит разница в группах все-таки существенная.
И что, всегда делать несколько тысяч случайных разбиений?
Приведенный выше пример с моделированием А/А тестов — это лишь один из используемых на практике стат.критериев — перестановочный тест (с некоторыми оговорками, но не будем сейчас вдаваться в детали). По многим показателям этот стат.критерий не самый удобный, но зато очень просто иллюстрирует концепцию проверки гипотез.
В жизни же во многих случаях можно обойтись без численного моделирования и применить какие-то параметрические стат.тесты (те, в которых распределение величины Y, если нулевая гипотеза верна, выписывается явно формулой). Например, если мы считаем, что наша величина Y имеет нормальное распределение, то можно без численных экспериментов обойтись формулами для нормального распределения. На самом деле, не совсем, надо хотя бы проверить, что распределение правда нормальное, но на этом тоже не будем останавливаться.
Главное — получить распределение Y, при условии нулевой гипотезы. Численно, либо по формуле в рамках каких-то предположений. В нашем примере с шахматами тоже использовался параметрический тест — биномиальный.
Как понять, что вероятность p «мала» и что такое p-value?
Величина p в статистике называется p-value. Перед проведением любого А/В теста фиксируют уровень значимости, например 5%, и отвергают нулевую гипотезу только если p-value оказывается меньше уровня значимости. Т.е. мы допускаем вероятность 5% сказать, что эффект есть, когда его на самом деле нет. А/В тесты, к сожалению, вещь вероятностная, поэтому «точного» ответа на вопрос «есть ли эффект» не дают, только могут подтвердить его на каком-то уровне значимости. Само p-value в русской литературе называют достигаемым уровнем значимости (не путать с уровнем значимости выше — он был порогом, с которым сравниваем p-value).
Статзначимость в А/В тестах: дополнительные вопросы (часть 3/3)
Я слышал, что p-value — это не вероятность нулевой гипотезы, что это значит?
Все верно, это известная бородатая ошибка при интерпретации p-value. P-value — это не вероятность нулевой гипотезы, а вероятность увидеть в тесте такой же «эффект» или больше, при условии справедливости нулевой гипотезы (т.е. когда эффекта на самом деле нет). От этого можно перейти к вероятности нулевой гипотезы, при условии наблюдаемого эффекта по теореме Байеса, если вдруг вы будете знать все нужные для формулы вероятности, но нужды в этом нет.
А еще я слышал, что нулевую гипотезу нельзя принять, о чем это?
В А/В тесте мы хотим отвергнуть нулевую гипотезу, посмотрев на фактические данные. Но можем не отвергнуть. Подтвердить нулевую гипотезу не можем: если нам не хватает свидетельств против чего-то, это еще не значит, что это что-то верно 🙂
Бытовая иллюстрация:
Старушка на лавочке у подъезда выбирает, как поприветствовать Васю. В качестве нулевой гипотезы она принимает утверждение, что Вася обычный парень. А в качестве альтернативы — что Вася наркоман. Чтобы выбрать доброжелательное или агрессивное приветствие, она оценивает, насколько Вася плохо выглядит сегодня. Если «еще терпимо», то заключает, что свидетельств против нулевой гипотезы не хватает и нужно приветствовать доброжелательно. В этом случае она, однако, не может быть уверена, что Вася не наркоман, т.е. принять нулевую гипотезу. Но как вдумчивая и образованная пожилая женщина, не спешит с выводами и собирает данные.
Везде выше постоянно говорилось о каком-то статистическом различии между результатами в группах А/В, которое либо есть, либо нет. А что это значит?
Вот здесь мы вступаем на территорию более сложных формулировок. Если объяснять это не на бытовом уровне, то вы сами выбираете смысл «статистического различия» при формулировке нулевой гипотезы и альтернативы. Например, если мы сравниваем средние чеки в группах А и В, то под «статистически неразличимыми» результатами мы можем иметь ввиду одинаковое матожидание среднего чека в группе А и в группе В. Это будет нулевой гипотезой. Альтернативой — различные матожидания. Есть критерии, которые в качестве нулевой гипотезы рассматривают совпадение медиан распределений или просто совпадение распределений.
А еще слышал что-то про множественную проверку гипотез? Это о чем?
Это о том, что если вы проверяете одновременно несколько гипотез на уровне значимости, скажем, 5% каждая (например, оцениваете эффект сразу и на средний чек, и на конверсию в покупку, и на конверсию в переход на страницу товара), то шанс ложного срабатывания теста хотя бы для одной гипотезы будет уже не 5%, а существенно больше. Есть разные способы учитывать этот эффект.
Я слышал, что p-value — это не вероятность нулевой гипотезы, что это значит?
Все верно, это известная бородатая ошибка при интерпретации p-value. P-value — это не вероятность нулевой гипотезы, а вероятность увидеть в тесте такой же «эффект» или больше, при условии справедливости нулевой гипотезы (т.е. когда эффекта на самом деле нет). От этого можно перейти к вероятности нулевой гипотезы, при условии наблюдаемого эффекта по теореме Байеса, если вдруг вы будете знать все нужные для формулы вероятности, но нужды в этом нет.
А еще я слышал, что нулевую гипотезу нельзя принять, о чем это?
В А/В тесте мы хотим отвергнуть нулевую гипотезу, посмотрев на фактические данные. Но можем не отвергнуть. Подтвердить нулевую гипотезу не можем: если нам не хватает свидетельств против чего-то, это еще не значит, что это что-то верно 🙂
Бытовая иллюстрация:
Старушка на лавочке у подъезда выбирает, как поприветствовать Васю. В качестве нулевой гипотезы она принимает утверждение, что Вася обычный парень. А в качестве альтернативы — что Вася наркоман. Чтобы выбрать доброжелательное или агрессивное приветствие, она оценивает, насколько Вася плохо выглядит сегодня. Если «еще терпимо», то заключает, что свидетельств против нулевой гипотезы не хватает и нужно приветствовать доброжелательно. В этом случае она, однако, не может быть уверена, что Вася не наркоман, т.е. принять нулевую гипотезу. Но как вдумчивая и образованная пожилая женщина, не спешит с выводами и собирает данные.
Везде выше постоянно говорилось о каком-то статистическом различии между результатами в группах А/В, которое либо есть, либо нет. А что это значит?
Вот здесь мы вступаем на территорию более сложных формулировок. Если объяснять это не на бытовом уровне, то вы сами выбираете смысл «статистического различия» при формулировке нулевой гипотезы и альтернативы. Например, если мы сравниваем средние чеки в группах А и В, то под «статистически неразличимыми» результатами мы можем иметь ввиду одинаковое матожидание среднего чека в группе А и в группе В. Это будет нулевой гипотезой. Альтернативой — различные матожидания. Есть критерии, которые в качестве нулевой гипотезы рассматривают совпадение медиан распределений или просто совпадение распределений.
А еще слышал что-то про множественную проверку гипотез? Это о чем?
Это о том, что если вы проверяете одновременно несколько гипотез на уровне значимости, скажем, 5% каждая (например, оцениваете эффект сразу и на средний чек, и на конверсию в покупку, и на конверсию в переход на страницу товара), то шанс ложного срабатывания теста хотя бы для одной гипотезы будет уже не 5%, а существенно больше. Есть разные способы учитывать этот эффект.
Записали с Habr Special подкаст на тему Big Data и Data Science ( https://habr.com/ru/article/522724/ ). Есть расшифровка текстом, но если интересно - лучше слушать. Тайм-коды:
0:32 Что такое Big Data?
2:45 О размечивании данных
4:25 Big Data, биг дата, биг дейта или просто большие данные — как правильно?
5:50 Какие компании заказывают себе проекты с Big Data?
8:45 Как оценивается результат внедрения Big Data?
10:14 Сколько времени занимает внедрение Big Data?
10:55 Почему «собрать» данные не так просто, как кажется
12:23 Штатный специалист по Big Data vs внешний исполнитель
14:55 Хорошие специалисты по Big Data — хватает ли их рынку и как их отличить?
19:46 О том, как пришёл в МТС
21:18 О МФТИ
24:00 Big Data — это сложно и дорого?
25:56 О хранении данных
26:52 Две популярные байки о Big Data: о беременной девушке и пиве с подгузниками
29:25 Будущее Big Data
33:39 О сотрудничестве с вузами
36:25 О продактах в сфере Big Data
39:05 О Big Data в реальном секторе (в частности, в энергетике)
42:03 Big Data: с чего начать компании?
0:32 Что такое Big Data?
2:45 О размечивании данных
4:25 Big Data, биг дата, биг дейта или просто большие данные — как правильно?
5:50 Какие компании заказывают себе проекты с Big Data?
8:45 Как оценивается результат внедрения Big Data?
10:14 Сколько времени занимает внедрение Big Data?
10:55 Почему «собрать» данные не так просто, как кажется
12:23 Штатный специалист по Big Data vs внешний исполнитель
14:55 Хорошие специалисты по Big Data — хватает ли их рынку и как их отличить?
19:46 О том, как пришёл в МТС
21:18 О МФТИ
24:00 Big Data — это сложно и дорого?
25:56 О хранении данных
26:52 Две популярные байки о Big Data: о беременной девушке и пиве с подгузниками
29:25 Будущее Big Data
33:39 О сотрудничестве с вузами
36:25 О продактах в сфере Big Data
39:05 О Big Data в реальном секторе (в частности, в энергетике)
42:03 Big Data: с чего начать компании?
Хабр
Как собирать данные, где искать специалистов и куда всё движется: подкаст Habr Special о Big Data в российских IT
Первый же комментарий к нашему с МТС опросу про Big Data бьёт не в бровь, а в глаз: «Интересно, много ли таких, кто ещё не понимает, какая польза от Big Data?». Как ни странно, да. Больше половины опрошенных, как показали подсчитанные и приведённые нами в…
👍1
Chief Data Scientist в МТС
Итак, я уже год как Chief Data Scientist МТС (в центре Big Data), пора поделиться впечатлениями. Сразу отвечу на часто задаваемый мне вопрос: в МТС я работаю фуллтайм, если мое имя упоминается где-то еще, то либо за былые заслуги, либо мое участие ограничено свободным временем. В частности, преподавание ML в МФТИ - для меня многолетнее хобби и всегда дополняло основную работу.
Также иногда слышу вброс, что я не очень часто выступал на конфах и редко писал какие-то публикации за этот год. Это часть плана. Во-первых, подход, в который я верю, - сначала выстраивать работу команды, улучшать процессы, делать проекты, а потом уже рассказывать всем об этом. В каких-то командах бывает и наоборот, но мне такое не заходит. Во-вторых, т.к. моя цель прокачать бренд DS команды МТС, а не накачивать до посинения свой, я пушил писать и выступать коллег из своей команды, а также договаривался об их участии в конфах и митапах. Хотя сам тоже периодически выступал и давал интервью (и, кстати, на грядущем AI Journey тоже буду выступать от МТС). Но так или иначе, одни и те же люди на конфах из года в год - это немного скучно, так что новые лица нужны, и этому стоит способствовать.
Первые впечатления
Еще до принятия оффера я познакомился со всей командой (~30 человек). Ребята оказались очень классными, а еще было приятно, что среди них есть приличная доля выпускников DMIA и слушателей нашей специализации на Coursera. Все это вместе подтолкнуло меня к тому, чтобы принять оффер. Вторая вещь, которая бросилась в глаза, - во всех проектах есть четкие KPI, зачастую денежные. Для меня после Яндекса это выглядело как рай для DS, т.к. все можно и нужно делать с измеримым эффектом, а не просто так. Однако чуть позже стало понятно, что мне просто этого очень не хватало, но это явно не панацея. Иногда хорошо бы иметь гибкость поощрить человека, если вместо своего KPI он сделал что-то другое, но еще более полезное. А в ряде случаев KPI можно ввести только формально, и он будет очень несовершенным. Более того, реально инновационные вещи с четкими KPI никто не делает. Но вот для проектной работы очень даже полезно. Так или иначе, от попадания в новую культуру я получил удовольствие, а цели в разных задачах и у нас бывают сильно разными - не всегда это деньги, особенно на старте новых продуктов. Так что гибкость здесь у нас тоже есть.
Из умеренно негативного - сложно было не заметить проблемы с оборудованием и офисом. Пока в Яндексе или Мейле все работают на классных макбуках в зеленом, красивом и удобном офисе, у нас с этим были сложности. Ну, проблемы первого мира, конечно. Подумаешь, не было маков и цветочков. Но вы же понимаете, что стоит какой-то компании удачно побаловать сотрудников, и вскоре весь рынок не понимает, как без этого жить. Но тут уж так повезло, что как раз в мой первый год в МТС это всё наверстывается семимильными шагами. Я уже смог обеспечить маками своих DS'ов (по крайней мере, первых желающих), один человек честно захотел комп с убунтой, и с этим тоже не было проблем, идет масштабный проект выдачи нужного оборудования для всей компании. С офисом (в нашем случае - это БЦ Декарт) все тоже становится лучше и ведутся активные работы по благоустройству и наполнению разными удобными вещами. Например, совсем недавно меня очень выручили зарядки для девайсов в переговорках, которые сначала воспринимались каким-то бесполезным хипстерством, а на деле оказались очень полезной штукой, когда припрет.
Итак, я уже год как Chief Data Scientist МТС (в центре Big Data), пора поделиться впечатлениями. Сразу отвечу на часто задаваемый мне вопрос: в МТС я работаю фуллтайм, если мое имя упоминается где-то еще, то либо за былые заслуги, либо мое участие ограничено свободным временем. В частности, преподавание ML в МФТИ - для меня многолетнее хобби и всегда дополняло основную работу.
Также иногда слышу вброс, что я не очень часто выступал на конфах и редко писал какие-то публикации за этот год. Это часть плана. Во-первых, подход, в который я верю, - сначала выстраивать работу команды, улучшать процессы, делать проекты, а потом уже рассказывать всем об этом. В каких-то командах бывает и наоборот, но мне такое не заходит. Во-вторых, т.к. моя цель прокачать бренд DS команды МТС, а не накачивать до посинения свой, я пушил писать и выступать коллег из своей команды, а также договаривался об их участии в конфах и митапах. Хотя сам тоже периодически выступал и давал интервью (и, кстати, на грядущем AI Journey тоже буду выступать от МТС). Но так или иначе, одни и те же люди на конфах из года в год - это немного скучно, так что новые лица нужны, и этому стоит способствовать.
Первые впечатления
Еще до принятия оффера я познакомился со всей командой (~30 человек). Ребята оказались очень классными, а еще было приятно, что среди них есть приличная доля выпускников DMIA и слушателей нашей специализации на Coursera. Все это вместе подтолкнуло меня к тому, чтобы принять оффер. Вторая вещь, которая бросилась в глаза, - во всех проектах есть четкие KPI, зачастую денежные. Для меня после Яндекса это выглядело как рай для DS, т.к. все можно и нужно делать с измеримым эффектом, а не просто так. Однако чуть позже стало понятно, что мне просто этого очень не хватало, но это явно не панацея. Иногда хорошо бы иметь гибкость поощрить человека, если вместо своего KPI он сделал что-то другое, но еще более полезное. А в ряде случаев KPI можно ввести только формально, и он будет очень несовершенным. Более того, реально инновационные вещи с четкими KPI никто не делает. Но вот для проектной работы очень даже полезно. Так или иначе, от попадания в новую культуру я получил удовольствие, а цели в разных задачах и у нас бывают сильно разными - не всегда это деньги, особенно на старте новых продуктов. Так что гибкость здесь у нас тоже есть.
Из умеренно негативного - сложно было не заметить проблемы с оборудованием и офисом. Пока в Яндексе или Мейле все работают на классных макбуках в зеленом, красивом и удобном офисе, у нас с этим были сложности. Ну, проблемы первого мира, конечно. Подумаешь, не было маков и цветочков. Но вы же понимаете, что стоит какой-то компании удачно побаловать сотрудников, и вскоре весь рынок не понимает, как без этого жить. Но тут уж так повезло, что как раз в мой первый год в МТС это всё наверстывается семимильными шагами. Я уже смог обеспечить маками своих DS'ов (по крайней мере, первых желающих), один человек честно захотел комп с убунтой, и с этим тоже не было проблем, идет масштабный проект выдачи нужного оборудования для всей компании. С офисом (в нашем случае - это БЦ Декарт) все тоже становится лучше и ведутся активные работы по благоустройству и наполнению разными удобными вещами. Например, совсем недавно меня очень выручили зарядки для девайсов в переговорках, которые сначала воспринимались каким-то бесполезным хипстерством, а на деле оказались очень полезной штукой, когда припрет.