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

Опыт разработки требований к профессиональным качествам data scientist

Время на прочтение12 мин
Количество просмотров6.5K
Сегодня практически любой бизнес ощущает потребность в исследовании данных. Data science не воспринимается как нечто новое. Тем не менее, не для всех очевидно, каким должен быть нанимаемый специалист.

Данная статья написана не HR-специалистом, а дата сайнтистом, поэтому стилистика изложения весьма специфична, но в этом есть и преимущество – это взгляд изнутри, позволяющий понять, какие качества data scientist являются необходимыми для профессии, для того, чтобы компания могла положиться на такого человека.


Пролог


Пришло время, когда data science стартап вырос из пеленок — число задач для анализа возросло с непредвиденной скоростью, и эта скорость сразу же перестала компенсироваться автоматизацией. Стало очевидно, что нужны новые мозги в команду…

Как мне сначала казалось, человек требовался вполне определенный: всего лишь обычный дата-что-то-там… программист, аналитик, статистик. Так в чем же сложность составить список требований?

“В инженерном деле, если не знаете, что делаете — не стоит этого делать.”
Ричард Хэмминг

Подошел я к делу как обычно. Достал два листа бумаги. Один озаглавил «Технические навыки», другой — «Профессиональные качества». После этого возникло желание полезть на какой-нибудь ресурс, найти там пачку резюме, выписать списки качеств, выбрать те, что понравятся. Но что-то меня остановило. “Это не мой способ, — сказал я себе. — Я в этом не разбираюсь. Я разбираюсь в задачах..”

Я попытался пойти от задачи. Задачи у нас простые. Тебе дают нераспарсенную CRM сомнительного наполнения и просят предсказать объем продаж на пару месяцев вперед. Совсем просто. Кто угодно справится… Оговорка: если сможет разобраться в бизнесе клиента. В идеале для этого берется рабочая группа, которая абстрагируется от всех прочих задач и посвящает себя разбору именно этой. На входе – желания клиента, на выходе – решение, которое можно проверить, не вдаваясь в подробности и не дублируя выполненную работу.

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

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

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

Выплывали либо общие формулировки вида «ответственность», либо под качествами понимались навыки, что относилось к другому списку.

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

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

Формулировка Задачи


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

На протяжении года предприниматель сохранял все чеки (receipt) от покупок, чтобы впоследствии понимать, какие решения следует предпринимать для увеличения прибыли. Информация с чеков содержится в прилагаемом файле train_dataset.csv.

Воланы и ракетки он упаковывал и продавал исключительно наборами трех видов:

  1. Ракетка и два волана
  2. Ракетка и пять воланов
  3. Десять воланов

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

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

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

  1. Только одна ракетка – 11 долларов 80 центов
  2. Пять воланов – 5 долларов 90 центов
  3. Одна ракетка и один волан – 12 долларов 98 центов

Требуется установить размер дохода предпринимателя в январе.

Чувствительность к вероятностям


“Я верю, что лучшие предсказания основаны на понимании
вовлеченных в процесс фундаментальных сил.”
Ричард Хэмминг

Задача была составлена в подражание настоящим задачам из жизни, но искусственным образом, что не скрывалось от кандидатов. А, следовательно, для создания датасета были применены некие формулы. Пусть, сдобренные случайными переменными, но формулы. В любом случае, предполагалось, что data scientist имеет возможность эти формулы обнаружить и использовать для прогнозирования.

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

Вообще, стремление найти «закон мироздания» — это хорошее профессиональное качество. Умение понять, что искать и где искать – тоже. Господин Хэмминг знал, о чем говорит. И благодаря ему, в моем списке требований появилась первая строка:

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

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

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

Самоуверенность


“Если какое-то событие привлекает наше внимание, ассоциативная память начинает искать его причину, а точнее, активируется любая причина, уже хранящаяся в памяти.”
Даниель Канеман

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

И она же ставит нам подножку в виде предвзятости подтверждения.

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

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

Так я вписал в список качеств следующее:

Критичность мышления, в том числе, в отношении собственного опыта.

Очень хотелось добавить сюда «и знаний», но далее мне показалось, что эта приписка открывает большую новую тему.

Нейротизм


“Разработав ту или иную теорию, мы вновь обращаемся к наблюдениям,
чтобы проверить ее.”
Грегори Мэнкью

В литературе по data science разбираются способы автоматизировать проверку гипотез. Однако, я редко встречал методические указания по их применению. Из-за этого, поверите или нет, однажды я запутался между двумя, казалось бы, очень разными мероприятиями – проверкой статистических гипотез и проверкой модели.

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

В предыдущем параграфе одно такое предположение было выдвинуто в отношении датасета, а именно, наличие сезонности. Вполне интуитивно можно определить сезонную компоненту как периодически повторяющуюся. И здесь следует сразу задать себе вопрос: а сколько раз должна повториться компонента, чтобы ее можно было считать сезонной? Тем более, можем ли мы на основании периодического повторения утверждать наличие сезонной компоненты в датасете, временной интервал которого всего год.

Как уже было сказано, длина интервала была подобрана специально. Я хотел, чтобы кандидаты имели необходимость и возможность предложить собственные способы проверки наличия сезонности для рассматриваемой задачи. И это качество я тоже добавил в список требуемых профессиональных качеств:

Умение проверять предположения стандартными способами и придумывать новые способы проверки.

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

В красивой статье «Это правильно, но неверно» Александр Черноокий привел примеры быстрого и почти интуитивного решения для нескольких вероятностных задач. Подобный механизм, как мне кажется, довольно хорошо подходит и для проверки предположений.

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

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

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

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

Внимание


“Наш разум не подготовлен к пониманию редких событий.”
Роберт Баннер

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

И недостатков.

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

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

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

Это явление, довольно распространенное в реальном мире, позволило смоделировать один из примеров Энскомба и спрятать его среди двух других распределений.

На деле «спрятать» мало подходит к ситуации. Я просто поставил это распределение рядом с другими, более привычными и понятными. Разница была очевидной на графиках, как мне казалось, но заметили далеко не все. И особенно интересной была попытка одного из кандидатов «улучшить» аппроксимацию переходом к полиному более высокого порядка.

Так я сформулировал очередное требование к профессиональным качествам:

Уметь вычленять значимые наблюдения, строить гипотезы относительно их значимости.

Импульсивность


“Измерительный прибор подвергался интенсивному использованию в течение пяти лет и прошел через три проверки.”
Тимоти Лири

Ранее я уже описывал ситуацию, когда необъясненные остатки становятся настолько малы, что их влияние становится неразличимым на фоне тех преимуществ для бизнеса, которые дает остальная часть модели.

Однако требуется понять, что может скрываться за выражением «настолько малы».

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

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

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

Указание доверительного интервала есть даже не рекомендация, а необходимость, о которой часто забывают. Более того, хотя в моих словах прозвучит некая педантичность, я считаю, что расчет доверительного интервала есть акт самоуважения, а следующее качество входит в число необходимых качеств для data scientist:

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

Пластичность


“Это положение не вполне верно, но верно в достаточной мере для практического применения в большинстве случаев.”
Френсис Энскомб

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

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

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

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

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

Что, если существует проверяемая и непротиворечивая модель, описывающая ситуацию с использованием только имеющихся у нас известных данных? Это тоже стоит проверить.

Эпилог


Позвольте составить итоговый перечень выписанных мною профессиональных качеств data scientist.

  1. Способность обнаруживать причинно-следственные связи, описывать их, формулировать условия, при которых связи могут быть преобразованы в полезную для бизнеса формулу.
  2. Критичность мышления, в том числе, в отношении собственного опыта.
  3. Умение проверять предположения стандартными способами и придумывать новые способы проверки.
  4. Уметь вычленять значимые наблюдения, строить гипотезы относительно их значимости.
  5. Аккуратность в соблюдении формальных требований алгоритмов и методов, особенно когда дело касается расчета доверительных интервалов и проверки необходимых и достаточных условий.

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

Еще интересна мысль о том, что важность некоторого факта для одного человека не обязательно очевидна для другого. Это хорошо прослеживается по тем решениям задачи, которые я получил от десятков кандидатов…

Автор: Валерий Кондаков, Co-founder и CTO компании Uninum
Соавтор: Павел Жирновский, Co-founder и CEO компании Uninum


P.S.


Статистика по вакансии на 25/06/19
Дата размещения вакансии: 27/05/19
Всего просмотров вакансии: 2727
Всего откликов: 94

  • Прислали решение задачи, но оно оказалось неверным: 20%
  • Согласились решить задачу, но не прислали ответ: 30%
  • Отказ на стадии рассмотрения резюме по различным причинам: 45%
  • Прислали решение, близкое к правильному: 5%
Теги:
Хабы:
Всего голосов 10: ↑10 и ↓0+10
Комментарии22

Публикации

Истории

Работа

Data Scientist
94 вакансии

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань