Получи случайную криптовалюту за регистрацию!

Kantor.AI

Логотип телеграм канала @kantor_ai — Kantor.AI K
Логотип телеграм канала @kantor_ai — Kantor.AI
Адрес канала: @kantor_ai
Категории: Технологии
Язык: Русский
Количество подписчиков: 5.27K
Описание канала:

Канал Виктора Кантора про Data Science и образование и карьеру в сфере анализа данных

Рейтинги и Отзывы

3.33

3 отзыва

Оценить канал kantor_ai и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

1


Последние сообщения 6

2020-10-16 16:58:36 Записали с 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: с чего начать компании?
7.2K viewsVictor Kantor, 13:58
Открыть/Комментировать
2020-04-30 20:47:00 Статзначимость в А/В тестах: дополнительные вопросы (часть 3/3)

Я слышал, что p-value — это не вероятность нулевой гипотезы, что это значит?

Все верно, это известная бородатая ошибка при интерпретации p-value. P-value — это не вероятность нулевой гипотезы, а вероятность увидеть в тесте такой же «эффект» или больше, при условии справедливости нулевой гипотезы (т.е. когда эффекта на самом деле нет). От этого можно перейти к вероятности нулевой гипотезы, при условии наблюдаемого эффекта по теореме Байеса, если вдруг вы будете знать все нужные для формулы вероятности, но нужды в этом нет.

А еще я слышал, что нулевую гипотезу нельзя принять, о чем это?

В А/В тесте мы хотим отвергнуть нулевую гипотезу, посмотрев на фактические данные. Но можем не отвергнуть. Подтвердить нулевую гипотезу не можем: если нам не хватает свидетельств против чего-то, это еще не значит, что это что-то верно

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

Везде выше постоянно говорилось о каком-то статистическом различии между результатами в группах А/В, которое либо есть, либо нет. А что это значит?

Вот здесь мы вступаем на территорию более сложных формулировок. Если объяснять это не на бытовом уровне, то вы сами выбираете смысл «статистического различия» при формулировке нулевой гипотезы и альтернативы. Например, если мы сравниваем средние чеки в группах А и В, то под «статистически неразличимыми» результатами мы можем иметь ввиду одинаковое матожидание среднего чека в группе А и в группе В. Это будет нулевой гипотезой. Альтернативой — различные матожидания. Есть критерии, которые в качестве нулевой гипотезы рассматривают совпадение медиан распределений или просто совпадение распределений.

А еще слышал что-то про множественную проверку гипотез? Это о чем?

Это о том, что если вы проверяете одновременно несколько гипотез на уровне значимости, скажем, 5% каждая (например, оцениваете эффект сразу и на средний чек, и на конверсию в покупку, и на конверсию в переход на страницу товара), то шанс ложного срабатывания теста хотя бы для одной гипотезы будет уже не 5%, а существенно больше. Есть разные способы учитывать этот эффект.
17.2K viewsVictor Kantor, 17:47
Открыть/Комментировать
2020-04-30 20:47:00 Статзначимость в А/В тестах (часть 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).
12.7K viewsVictor Kantor, 17:47
Открыть/Комментировать
2020-04-30 20:47:00 Статзначимость в А/В тестах (часть 1/3)

Итак, победил вариант «Простыми словами про статзначимость в А/В тестах». Разбил ответ на три части: введение, непосредственно по теме и некоторые интересные моменты, которые тоже полезно обсудить. Кто знает ответы на вопросы, выделенные полужирным шрифтом в этом посте, могут просто пролистать его и переходить сразу ко второму.

Зачем вообще нужны А/В тесты?

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

Посмотреть «стало ли продаж больше» и удовлетвориться такой оценкой нововведения — это очень топорный подход, который сработает только когда бизнес-показатели не зависят от времени и нововведение лишь одно. Обычно это не так. Бизнес растет или угасает, бывает «сезон» и «не сезон». Бывает очень много изменений за месяц, и понять, какое именно из них вызвало эффект, невозможно. Однако многие вещи в коммерческих компаниях (даже самых технологичных) и в 2020 году делаются без А/В тестирования. А еще больше — без оценки статзначимости. К А/В тестам не нужно относиться теологически, но стоит понимать силу и возможности инструмента.

Что такое статистическая значимость и A/A тесты?

Допустим, нет пока никакого нововведения, которое вы будете оценивать в А/В тесте, есть пользователи вашего сайта или приложения, и вы просто делите их на две группы и смотрите на результат в каждой (например, на конверсию посещений в покупки на сайте). Такой тест называется А/А тестом, и, наверное, вас не удивит, что даже при хорошем разбиении на группы результаты в них будут немного отличаться.

Статистическая значимость эффекта в А/В тесте, грубо говоря, означает, что различие между группами заметно больше, чем было бы в А/А тесте, т.е. «есть реальный эффект», а не случайные отклонения. Что это значит для бизнеса? То, что хотя бы при сохранении тех же условий, что и во время проведения А/В теста, эффект от нововведения с большой вероятностью будет какое-то время сохраняться (важное уточнение: эффект может затухать со временем, никто не отменял «эффект новизны»).
13.1K viewsVictor Kantor, 17:47
Открыть/Комментировать
2020-04-24 13:52:00 Что сложного в оценке качества рекомендательных систем (часть 2)

Статистическая значимость

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

Начнем с того, что если в группе А заработано $50129, а в группе B - $51104, не очевидно, что с одним и тем же подходом к рекомендациям мы не получили бы такое же различие - нам могло просто повезти получить такое случайное отклонение. Все зависит от того, сколько было сделано покупок в каждой группе, какие чеки были в этих покупках, были ли выбросы вроде супердорогих товаров, покупка которых может сразу перекосить всю статистику в пользу одной из групп.

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

Деление на группы

На этом беды не заканчиваются: увы, мы можем неверно разбить пользователей на группы А и В. Если в группе В было больше состоятельных клиентов, не удивительно, что и результат там будет лучше. Вы скажете: "Ну надо же случайно делить на группы!" Но в том-то и подвох, что на бытовом уровне "случайность" все понимают по-своему. Частая история - относить клиента к той или иной группе по последней цифре номера телефона (например, четные в одну группу, нечетные - в другую). К сожалению, распределение по этим цифрам обычно далеко не равномерное, поэтому такой подход часто приводил к перекосам в группах и невалидным А/В тестам. В частности, я видел такую грубую ошибку в инструментах для А/В тестирования даже в очень технологичных коммерческих компаниях (причем не в одной!).

Так как это все влияет на оценку качества рекомендаций?

Оказывается, в А/В тестировании не все метрики качества одинаково быстро "красятся" - показывают статзначимое отличие в группах. Эмпирическое правило - чем интереснее метрика бизнесу и ближе к конечному результату, тем хуже будет "прокрашиваться". Различие в кликах быстрее красится, чем в добавлениях в корзину. Добавления в корзину - быстрее, чем покупки. А деньги? А деньги вообще часто не значимы, сколько не мучайся, из-за большого разброса в ценах товаров.

Конечно, здесь есть миллион оговорок и, например, таргетируя рекомендации только на определенный сегмент без большого разброса цен, получить статзначимость бывает проще (если сокращение количества наблюдений оказалось менее драматичным, чем сокращение разброса цен). Зато покупки и деньги с блока по last/first click attribution красятся "на ура" - по этому показателю эффект часто на порядок больше, чем "реальный" (без учета каннибализации), заметить его проще. Поэтому даже в условиях, когда все знают про существование А/В тестов, от нехватки данных можно все равно начать измерять "кривые" метрики.

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

Звучит это все довольно безрадостно, но это мы еще не поговорили о том, как измеряют качество модели на исторических данных. До внедрения модель же надо как-то разрабатывать и на чем-то обучать. Вот тут уж такой безысходностью повеет, что мало не покажется. Об этом - в следующей части.
5.6K viewsVictor Kantor, 10:52
Открыть/Комментировать
2020-04-21 13:32:01 #рекомендательные_системы #оценка_эффекта

Что сложного в оценке качества рекомендательных систем (часть 1)

Золотые косинусы

На заре развития рекомендательных систем в ритейле, была компания-первопроходец Х или, как их прозвали тролли-завистники, "Золотые косинусы". Называть их так стали, т.к. одни из самых простых методов сделать рекомендации используют идею порекомендовать то же, что нравится похожим пользователям или похожие на уже купленные/просмотренные товары. А оценивают похожесть часто как косинус угла между векторами признаков объектов.

Last click и first click attribution

Компания Х должна была как-то обосновывать онлайн-ритейлерам, что их блоки с рекомендациями товаров на сайте приносят какую-то пользу. Как это делать проще всего? Конечно сказать: "смотрите, по каким товарам из купленных человек кликал в блоке рекомендаций - вот эти продажи мы вам и сделали!". Но заказчики были не дураки и понимали, что не факт, что именно клик в блоке рекомендаций был таким вот определяющим. И так появилась проблема аттрибуции - к какому действию пользователя аттрибуцировать покупку.

Здесь возникло две крайности. Первая - считать, что то, на что последним кликнул пользователь, и повлияло на факт покупки больше всего (last click attribution). Иронично, что продажи с рекомендательного блока по last click attribution очень легко накрутить - достаточно на странице с товаром разместить рекомендательный блок с самим товаром в нем. Пользователь перед покупкой будет обращать внимание на наличие очень похожего товара в рекомендациях, кликать на него и огорченно обнаруживать, что это тот же самый товар. Зато покупка, если она случится, теперь будет засчитана вашему алгоритму Вторая крайность - считать, что наиболее важен первый клик по товару (first click attribution), т.к. именно он породил у пользователя цепочку размышлений о том, не купить ли этот товар.

Каннибализация и А/В тестирование

Стоит ли говорить, что измеренная выручка с рекомендательного блока что по last click attribution, что по first click, часто составляла десятки процентов от выручки всего онлайн-магазина. Только вот денег настолько больше не становилось, рекомендательный блок просто каннибализировал трафик из каталога. Но все более-менее сходились в том, что если через блок идет 20-30% продаж, то он не может быть бесполезной вещью.

Жизнь компании Х сильно усложнилась, когда на рынке появились их конкуренты Y, рассказывавшие заказчикам, что такое А/В тесты. Идея разбивать пользователей на две группы - тестовую (с новыми рекомендациями) и контрольную (со старыми или без них - смотря что было у заказчика) была новой для многих онлайн-ритейлеров, а возможность честно сравнить всю выручку в группах и получить экономический эффект без "жульничества" с каннибализацией вынудила Х тоже начать заниматься проведением А/В тестов. Но не всё так просто, и отчасти статистика была на стороне Х - об этом в следующей части поста.
5.4K viewsVictor Kantor, 10:32
Открыть/Комментировать
2020-02-13 17:32:01 Вчера обсуждал с хорошим знакомым рекомендательные сервисы и понял, что стоит рассказать в канале про 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 дней, конкурс недавно продлевали)
7.3K viewsVictor Kantor, 14:32
Открыть/Комментировать
2019-09-26 20:30:00 Подошло время запуска очередного осеннего семестра курса Data Mining in Action (DMIA).

Курс проводится уже много лет и постоянно обновляется, развивается и дорабатывается для каждого нового запука. DMIA берет начало из факультатива по машинному обучению в МФТИ, который я начал вести, кажется, в 2011 году. За это время сформировалась сильная команда преподавателей, курс получил свое нынешнее название, переехал в центр Москвы, и сейчас занятия проходят в МИСиС. Количество желающих пройти курс выросло настолько, что в какой-то момент пришлось ввести отбор.

За год на DMIA даже после отбора приходит около 800-1000 человек. Пока мне неизвестны более масштабные курсы по ML в оффлайне.

Изначально отбора не было - была простая идея "приходите и оставайтесь, если вам нравится и у вас получается делать задания". И вот, спустя годы, мы возвращаемся к этой концепции. Отборочное задание на DMIA - посмотреть запись по первой теме курса и выполнить домашнее задание. Если справитесь, и если мы не закроем регистрацию из-за того, что кончилось место в лекционных аудиториях, то можно будет приходить 5 октября на первое очное занятие (уже не вводное).

На курсе есть 4 направления с лекциями и семинарами:
- Базовый поток (основы ML)
- Индустрия (применение ML в компаниях)
- Спорт (о том, как участвовать и побеждать в соревнованиях по анализу данных)
-Глубокое обучение.
"Базовое направление" и "глубокое обучение" рассчитаны на начинающих специалистов. "Индустрия" и "Спорт" требуют некоторых знаний в ML.

Форма для записи на курс: https://forms.gle/4xZ48bCZBnBKtALL6 . Подробнее про курс можно почитать на сайте dmia.space
9.0K viewsVictor Kantor, 17:30
Открыть/Комментировать
2019-09-26 10:55:04 О других этапах отбора. Тест по программированию был контестом из четырех задачек, из которых первая проверяла способность написать хоть какую-то простую программу, вторая не предполагала знание алгоритмов, а третья и четвертая подразумевали знание совсем азов вроде обходов графов.

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

Письменный экзамен был из менее "шаблонной" математики, чем онлайн-тест. Но такой, чтобы в 2-3 задачах решение было изящным и лежало на поверхности. Например: чтобы выяснить, существуют ли матрицы A и B такие, что AB - BA = E, достаточно было догадаться вспомнить свойства следа матрицы.

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

Была и еще одна важная причина, по которой письменный экзамен по математике нужно было оставить. Я постарался изучить мнение разных экспертов с незыблемой репутацией в Data Science, и в личной беседе встретил как резко негативные отзывы о таких процедурах отбора, так и отзыв "если бы там не было этих задач, то я бы никогда туда не поступил". Если уж кому-то из звезд DS олимпиадные задачки по математике на вступительных помогли, значит нужно оставить их как шанс для других таких же людей.

Также эксперты подсказали добавить соревнование по анализу данных, как часть отбора, более релевантную data science, чем задачки по линалу и матану. Участие в соревновании в случае успеха добавляло дополнительные баллы, позволяя, например, хуже решить задачки на письменном.

Соревнование было таким, чтобы лучший результат давали не знания ML (ему мы еще будем учить), а работа с данными и внимательное их изучение. Ради этого мы подготовили данные, в которых была "утечка" (leak) правильных ответов в признаки объектов. Соревнование на этих данных уже тестировалось на группе из 40 человек, и из них только один человек нашел утечку. В нашем случае ей смогли воспользоваться примерно 5% участников. Может показаться, что утечки нужно искать только в соревнованиях на kaggle. Но в индустрии, пропустив утечку в данных, можно запросто получать завышенные оценки качества модели и не долго не замечать подвох.

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

Предмет моей особой гордости — то, что в MADE этапы отбора оценивали людей с разных сторон, и ошибка только на каком-то одном из этапов не лишала возможности поступить в Академию. Главное было хорошо показать себя в других испытаниях. Я нахожу это очень человечной и внимательной к разным талантам людей системой отбора, и ровно этого и хотелось в итоге добиться.
6.2K viewsVictor Kantor, 07:55
Открыть/Комментировать