Share |

суббота, 26 августа 2017 г.

Как использовать анализ дожития для прогноза текучести персонала от Pasha Roberts

Хочу познакомить с важным материалом и крайне интересным hr-аналитиком.
Pasha Roberts был уже представлен в моем блоге, см. Кейс по оценке эффективности подбора и адаптации персонала или тоже самое, но в режиме видеолекции на английском Video: Data Science for Workforce Optimization: Reducing Employee Attrition.
Но поскольку память человеческая недолговечна, представляю еще раз: Pasha Roberts был спецом по электронному обучению, переквалифицировался в hr-аналитики, сейчас делает потрясающие предиктивные модели, при этом делится знаниями.
Я у него многому научился, даю очень схожие вещи, см. Прогноз индивидуального дожития и тюнинг параметров регрессии Кокса в пакете mlr, даю это на своем семинаре по R Семинар-практикум "HR-Аналитика в R", но поскольку нет пророка в своем отечестве, западного гуру вы будете слушать с бОльшим интересом.
Обратите внимание на слайд № 22 "Don't use logistic methods to predict attrition". Это к вопросу о том, какие модели должны быть в прогнозе текучести. На Конференция по hr-аналитике журнала Штат 05.07.2017 было два кейса, которые вполне можно отнести к машинному обучению и которые были про одно и тоже - прогноз текучести персонала. И логика кейсов на 100 % совпадала: разница была только в том, что в первом кейсе (компания КПМГ) считали вероятность того, что сотрудник отработает меньше / больше одного года в компании, а во втором кейсе от Делойт считали вероятность, что сотрудник отработает меньше / больше двух лет. И алгоритм в кейсах был стандартный - xgboost.
А Pasha Roberts пишет о том, что задачи классификации в принципе не стоит использовать в прогнозе текучести персонала. И я с ним согласен.
Безусловно, не стоит доверять вот просто так на словах, считайте свои цифры сами. В любом случае рекомендую ознакомиться с презентацией - она включает в себя куски кода, методологию анализа, представление результатов.
Поскольку славное российское государство лишило нас возможности работы на Линкедин (а slideshare - ресурс Линкедин), то у многих из вас презентация не откроется у меня в блоге, по этой причине даю прямую ссылку на презентацию How to use Survival Analytics to predict employee turnover - попробуйте скачать ее.

Понравился пост? 

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

четверг, 24 августа 2017 г.

Тренды в оценке настроений сотрудников и исследовании вовлеченности

Перевод статьи Employee mood measurement trends в рамках нашего проекта переводы статей по hr-аналитике на английском. Тех, кто интересуется измерением вовлеченности, лояльности и т.п... это должно заинтересовать. А уж консалтеры, по идее, должны были прочитать этот пост вперед меня. Но уверен, что не... ибо думают о другом.
Перевела Екатерина Малинина, если Вы ее не знаете, то Вам тоже стыд. Это уже, кажется, шестой (!!!) перевод Екатерины. HR business partner в IT-отрасли. Эксперт в оценке, обучении, развитии талантов. Помогает менеджерам строить эффективные и надежные команды, способные переложить в программный код любую задачу бизнеса. Профили Екатерины в фейсбуке и в Линкедине. Как минимум, я бы зафрендился на вашем месте. Другие переводы Екатерины:

  1. Исследования вовлеченности персонала: часть 1, проблемы традиционного подхода
  2. Прогнозирование в HR-аналитике не так важно, как вы думаете
  3. Радикальный эксперимент Unilever с процессом найма персонала: резюме – снаружи, алгоритмы – внутри
  4. Анализ текучести персонала – Описательные методы
  5. Анализ текучести персонала – Методы прогнозирования

Ну итак,

Тренды в оценке настроений сотрудников

График: Обзор провайдеров оценки настроений персонала.
Сверху вниз: пассивные –> активные. Слева направо: медленные –> в режиме реального времени.
Тренды в оценке настроений сотрудников - Employee mood measurement trends


Традиционный процесс построения опросов персонала

Работая в конце прошлого века в компаниях Philips Electronics и KMPG, я занимался разработкой и внедрением процесса оценки вовлеченности персонала. В те времена «в моде» были громоздкие опросы. С помощью знаменитого провайдера (ISR) мы разработали опросник из более чем 100 вопросов (90% стандартных, 10% адаптированных под наши нужды). Формулировки вопросов были подогнаны под привычный для организации лексикон. Многие встречи были потрачены на получение согласований от менеджмента. Запуск опроса несколько раз откладывался («Сейчас неподходящее время»). Наконец, опросник был выслан сотрудникам компании по всему миру, и около 60% из них находили время, чтобы заполнить его.

Долгий процесс…….

Анализ результатов занимал несколько месяцев. Отчеты сперва направлялись на рассмотрение и обсуждение топ-менеджментом. Решалось, какие результаты можно показать сотрудникам. Сессии обратной связи назначались по департаментам. После них запускались фокус-группы, которые должны были предложить конкретные действия для улучшения ключевых областей («Коммуникации», «Качество управления» и «Вознаграждение» всегда были в списке на улучшение). Если вам повезло, то фокус-группа предлагала конкретный план действий, который позже обсуждался на Управленческом комитете. Комитет давал финальные рекомендации Совету директоров и после этого наступало время действовать. Многие месяцы отделяли опрос от последующих действий. Изначально предполагалось проводить ежегодный опрос, но очень быстро переключились на полугодовые.
Типичный традиционный процесс работы по проведению опросов изображен на рисунке ниже. Если кратко, то стандартный исследовательский процесс был очень медленным, нисходящим и не очень ориентированным на действия.
Рисунок: Процесс исследования вовлеченности (источник Employee Feedback). Перевод обозначений:
  1. Понимание: предварительное исследование целей опроса, организации и суждений персонала
  2. Разработка: стандартные и адаптированные нормативные вопросы
  3. Продвижение: мотивирование, высокое профилирование и своевременная коммуникация
  4. Опрос: версии на нескольких языках, распространение, сопоставление, сроки
  5. Отчетность: количественная и качественная обратная связь
  6. План действий: рекомендации и приоритеты
Тренды в оценке настроений сотрудников - Employee mood measurement trends



Тренды в оценке настроения сотрудников

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

1. Увеличилась частота опросов

Многие компании считают недостаточным запрашивать обратную связь раз в два года. Современный тренд – делать опросы чаще. Чем чаще вы проводите исследования, тем более короткие опросы вы используете, чтобы не слишком надоедать сотрудникам длинными опросниками. Частые опросы с ограниченным набором вопросов обычно называют пульс-опросами. Gallup – прекрасный пример провайдера простых пульс-опросов. 12 стандартных вопросов, которые служат хорошим показателем вовлеченности персонала. Хотя с помощью более коротких пульс-опросов и можно получить представление об уровне вовлеченности, но определить ее истинные движущие силы вряд ли возможно. Обычно организации объединяют регулярные (ежемесячные/ квартальные) пульс-опросы с более обширными ежегодными или полугодовыми исследованиями.

2. Опросы перестают быть событиями в жизни организации

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

Становясь более частыми и менее обширными (см. пункт 1), опросы перестали восприниматься как события в жизни компании. Регулярный замер «организационной температуры» стал обычным явлением для проверки, в верном ли направлении двигается компания и люди в ней.

3. Больше пассивных методов оценки

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

Новый тренд – появление пассивных методов оценки настроения сотрудников. Современные технологии позволяют анализировать эмоциональность текста (например, Tone Analyzer). Электронные письма и сообщения сотрудников во внутренних корпоративных сетях, таких как Yammer, могут быть проанализированы с помощью специальных приложений, работающих с текстом. Один из провайдеров такого сервиса – Keencorp. Разумеется, необходимо учитывать конфиденциальные и этические аспекты. Если вы можете поручиться за надежную и этичную обработку данных (например, в отчетах отсутствуют упоминания персоналий), возьмите этот метод на заметку. Преимущества для сотрудников тоже очевидны: они могут давать обратную связь без активного вовлечения.

Различать эмоции по выражению лица также вполне реально. Провайдеры этих технологий (Affectiva, Imotions и nViso) в основном работают в области маркетинга, но, несомненно, будут переключаться на оценку настроения персонала в будущем.  

4. Более совершенные методы анализа данных

Большинство обширных опросников персонала включают один или два, так называемых, «открытых» вопроса. Например, такой: «Есть ли у вас еще предложения, как помочь компании повысить удовлетворенность клиентов или вовлеченность сотрудников?» Раньше вам приходилось читать все ответы и находить способы категоризировать и суммировать их. Сегодня специальные приложения могут сделать это за вас, да и гораздо лучше вас. Проблему выделения смысла ответов на открытый вопрос и построения интеллектуального вывода на основе них решают многие провайдеры в области управления настроением персонала (хороший пример – Workometry). А поиск зависимости между результатами оценки настроения и другими важными показателями (клиентскими, финансовыми) – важный вопрос, над которым работают современные аналитические команды.

Сопоставление провайдеров услуг по оценке настроений сотрудников

Мы попытались сделать обзор существующих провайдеров в области оценки настроений персонала. Их много, и мы понимаем, что наше исследование неполное. На рисунке ниже представлено субъективное распределение компаний-провайдеров. Мы опирались на два аспекта: активные-пассивные и медленные-в режиме реального времени. Большинство инструментов требуют активного вовлечения сотрудников (отвечать на один или более вопросов). Большинство провайдеров расположены ближе к правой стороне горизонтальной оси. Многие компании используют формулировку «в режиме реального времени», но она относится больше к анализу результатов и составлению отчетов, чем к процессу сбора данных.


Тренды в оценке настроений сотрудников и исследовании вовлеченности

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

Пять категорий

27 провайдеров, упоминаемых в обзоре, можно грубо разделить на несколько категорий. 
«Традиционные основательные опросы» предоставляют CEB, Effectory, Korn Ferry Hay, Willis Towers Watson и Gallup. Новая группа современных методов оценки настроения сотрудников чаще всего предлагает целые платформы, включающие сам опросник, аналитику и отчетность (Company Mood, Culture Amp, Engagement Meter, Glint, Intuo, Peakon, Thymometrics, Vibecatch). Третья группа – довольно простые инструменты сбора обратной связи, основанные на одном вопросе, задаваемом в конце рабочего дня (Blogyourmood, Emooter, Limbi, MoodApp, Smiley, TryLikes). Impraise и TruQu – образуют отдельную подкатегорию: эти решения в основном спроектированы для сбора обратной связи об индивидуальной производительности и рекомендациях по развитию, но также могут быть использованы для получения более общих выводов о персонале организации.

Оценок недостаточно

Оценка настроений сотрудников меняется. Возможности проводить измерения в режиме действительно реального времени ограничены, кроме того, еще только предстоит решить вопросы конфиденциальности. Большинство измерений настроений персонала сегодня по-прежнему заключаются в задавании одного или нескольких вопросов. Вместо вложений в измерение можно начать работать с истинными причинами. Считается, что главный фактор вовлеченности сотрудников кроется в поведении руководителя. Если менеджеры/ начальники/ боссы демонстрируют подлинную заинтересованность в своих людях и помогают им развиваться и работать эффективнее, проблем с вовлеченностью нет. Несколько лет назад Google провели обстоятельное исследование, результатом которого стали 8 правил, которым должны следовать менеджеры (8 habits of highly effective managers). И в этих правилах есть смысл. Если вы хотите создать условия для высокой вовлеченности персонала своей организации, вкладывайтесь в отбор и развитие лучших руководителей для своей компании.

Ссылки на провайдеров:

Развитие эмпирически-ориентированных HR лидеров

Перевод статьи Developing empirically-driven HR leaders в рамках нашего проекта переводы статей по hr-аналитике на английском.
Перевод статьи выполнила Ольга Крутых (по ссылке - профиль в Линкедине). Ольга работала в HR, но несколько лет назад уехала в Испанию и, как я понимаю, в HR возвращается только через переводы. Это уже второй перевод Ольги, смотрите также 11 факторов, влияющих на эффективность обслуживания клиентов.
Автор данной статьи - Andrew Marritt. Статья - маст маст рид! По двум причинам:

  1. Она обрисовывает область знаний для тех, кто не разрабатывает непосредственно алгоритмы, т.е. про то, что должен знать и уметь простой HR с аналитикой. И это мне близко, поскольку я похожий курс разработал
  2. Автор показывает, что сама по себе точность модели не самое главное в HR аналитике. Бомба есть, но нужно понимать, куда бомбу прикладывать. В аналитике важнее правильно принимать решения на ее основе. Но тем, кто думает, что умеет это делать, не зная основ машинного обучения и аналитики, сильно ошибается. 

Итак,

Развитие эмпирически-ориентированных HR лидеров

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

Совершенно другой подход применяют в штате Саравак в Малайзии. И я очень надеюсь, что он окажется более эффективным. Вместо создания небольшой команды аналитиков-профессионалов, которая обеспечивает «предложение» People analytics, внимание акцентируется на образовании “спроса”, превращая интерпретацию данных в ключевой HR навык.

Обучение новым HR-навыкам

В начале этого года я беседовал с Доктором Сабариа Путит (Sabariah Putit), Заместителем Госсекретаря, которая отвечает за реформирование госслужбы. Она разработала амбициозный план. По ее мнению, все ведущие HR-специалисты ее команды должны быть обучены People analytics.

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

Аналитика как ключевой HR-навык

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

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

Как правильно применять Аналитику

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

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

Как только требуется найти команду из докторов наук, готовых выполнить эту работу, аналитика обрастает слухами и мифами. Я хочу показать, что многие ключевые техники и подходы по сути своей просты. Когда IT-компания или консалтинговое агентство пытается продать новенький продукт/проект, основанный на «предикативной аналитике», я хочу, чтобы HR-руководители понимали, что это такое, как они могут применить это в своей компании и какие вопросы нужно задать, чтобы оценить, принесет ли этот продукт/проект желаемый результат.

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

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

Технические аспекты аналитики – не самое главное

Курс, который мы проводим в штате Саравак, назван «Аналитика таланта», хотя стоило бы назвать его «Как пользоваться информацией, чтобы принимать эмпирически обоснованные HR-решения». Естественно, последнее название не такое яркое.

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

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

Очень часто я также вижу желание усложнить ситуацию. Если не оценить потенциальную рентабельность от аналитики (ROI –Return on investment), тема, о которой на курсе мы много объясняли, применяя информативный экономический подход, легко вложить слишком много средств в проведение анализов. Не менее эффективно было бы воспользоваться более простой информацией. Аналитика становится дорогостоящей R&D функцией. Наша цель – не сделать лучше анализ, наша цель – принять лучшие решения. Если в 80% возможностей затрачивать 20% усилий, почти наверняка получиться сделать это с первого раза.

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

HR-аналитика не только для HR

Построение культуры принятия решений на основе данных не может ложиться полностью на плечи HR. Частью моей работы в Малайзии было знакомство и презентация курса 50 самым выдающимся госслужащим Штата. В некотором смысле мне больше нравится разговаривать с бизнесом о нашей работе, чем с HR-представителями. Обратная связь и интерес воодушевляют и обогащают полезной информацией.

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

По-моему мнению, HR-подразделения слишком увлеклись развитием аналитических функций и не обращают особого внимания на культурные изменения, необходимые для внедрения новых способов работы. Хотя подход «сначала сделаем, а потом будем думать» всегда имел место быть. Думаю, нам стоит задуматься над этой проблемой, когда мы знакомим клиентов с новым HR “продуктом”. При этом крайне важно в условиях развития рынка обеспечить устойчивость результатов.

ОБ АВТОРЕ

Эндрю Марритт (Andrew Marritt) – один из основоположников направления People’s Analytics в Европе. Он является основателем компании Organization View, создателем ПО Workometry (компьютерная программа сбора обратной связи от работников на основе открытых вопросов) и соучредителем сообщества People’s Analytics в Швейцарии.

Эндрю возглавлял первую Европейскую конференцию, посвященную People’s Analytics, – HR Tech World’s 2013 “Big Data” event, а также был сопредседателем конференции по теме People’s Analytics в Тукане в 2014, 2015 и 2016 гг. Он преподает HR-аналитику и HR на основе данных (Data-driven HR) в Европе и Азии, член CIPD’s Human Capital Analysists Advisory Group, отвечает за нормы и стратегию информационного наполнения ресурса HR Analytics.
__________________________________________________________
На этом все, читайте нас в фейсбуке и телеграмме

среда, 23 августа 2017 г.

Прогноз индивидуального дожития и тюнинг параметров регрессии Кокса в пакете mlr

Одна из проблем в анализе дожития заключалась в том, что не было четких алгоритмов тюнинга параметров модели. В разных пакетах типа CoxBoost есть варианты кросс валидации, определения числа итераций и т.п.. Но grid_search не было ни в одном из пакетов.
Теперь такая возможность существует в пакете mlr. Это пакет фреймворк типа caret, который является оберткой для алгоритмов машинного обучения. 
Я покажу, как тренируются параметры регресии Кокса в этом пакете. Регрессия Кокса важная HR в процессах управления текучестью персонала, карьерного роста, других процессах, где мы управляем ростом. 
В конкретном примере я опускаю некоторые детали тип препроцессинга и т.п., что сосредоточиться исключительно на тюнинге параметров и прогнозе кривой дожития.
А вы не забывайте кликать на дирет рекламу в качестве благодарности. Также добавлю, что это один из сюжетов Семинар-практикум "HR-Аналитика в R", Москва,16-17 ноября 2017 - я вас там буду этому учить. 

Датасет

Я не стал возиться со сложными датасетами, взял данные, предоставленные мне Максимом Андреенок. Данные включают в себя:
  1. стаж работы в компании, 
  2. событие - уволился на момент анализа или нет, 
  3. наличие наставника, 
  4. пол работник,
  5. пол руководителя.
Всего 427 строк данных. 

Код

поехали.Загружаем пакеты.
library(mlr)
library(survival)
library(pec)
Пропущу загрузку данных, сразу разбиваю на трейн и тест сет.

train = sample(nrow(data), 0.7 * nrow(data))
test = setdiff(seq_len(nrow(data)), train)
train.task = makeSurvTask(data = data[train, ], target = c("stag", "event"))
train.task
test.task = makeSurvTask(data = data[test, ], target = c("stag", "event"))
test.task
Задаем учителя

lrn = makeLearner("surv.coxph", id = "cph")
Перед тюнингом параметров давайте посмотрим, какие параметры вообще можно тренировать в регрессии Кокса.

getParamSet("surv.coxph")
                Type len      Def              Constr Req Tunable Trafo
ties        discrete   -    efron efron,breslow,exact   -    TRUE     -
singular.ok  logical   -     TRUE                   -   -    TRUE     -
eps          numeric   -    1e-09            0 to Inf   -    TRUE     -
toler.chol   numeric   - 1.82e-12            0 to Inf   -    TRUE     -
iter.max     integer   -       20            1 to Inf   -    TRUE     -
toler.inf    numeric   - 1.35e-06            0 to Inf   -    TRUE     -
outer.max    integer   -       10            1 to Inf   -    TRUE     -
model        logical   -    FALSE                   -   -   FALSE     -
x            logical   -    FALSE                   -   -   FALSE     -
y            logical   -     TRUE                   -   -   FALSE     -
Надеюсь, читатели сами разберутся, какие параметры будут тренировать они. Я беру вот такие параметры

surv_param = makeParamSet(
  makeDiscreteParam("ties",  values = c('efron','breslow','exact')),
  makeIntegerParam("iter.max", lower = 1, upper = 150),
  makeIntegerParam("outer.max", lower = 1, upper = 50)
)
rancontrol = makeTuneControlRandom(maxit = 10L)
set_cv = makeResampleDesc("RepCV", folds = 5L, reps = 5L)
Сразу туда же кросс валидацию на пяти фолдах. И самое любимое

surv_tune = tuneParams(learner = lrn, resampling = set_cv, task = train.task, 
                        par.set = surv_param, control = rancontrol)
Не указываю меру качества модели, по умолчанию cindex - конкорданс.
$ties
[1] "breslow"

$iter.max
[1] 139

$outer.max
[1] 15
Заметьте, по дефолту в регрессии Кокса стоит метод efron, а машинка нам показывает, что breslow получшее будет.
surv_tune$y
cindex.test.mean 
        0.752014 
0.752014 - это про наше качество модели. Рекомендую Вам отдельно прочитать, что обозначает параметр C-index, скажу только, что он аналогичен площади под кривой и находится в пределах от 0, 5 (совсем плохо) и 1 (нереально хорошо). В нашем случае даже 0, 75 кажется нереально хорошо, потому что всего три переменные. Делаем модель
surv.tree = setHyperPars(lrn, par.vals = surv_tune$x)
surva = mlr::train(surv.tree, test.task)
getLearnerModel(surva)
model = predict(surva, test.task)
model
И смотрим, что нам говорят тестовые данные
rcorr.cens(-model$data$response, 
           Surv(data[test, ]$stag, data[test, ]$event))["C Index"]
 C Index 
0.6898021 
Можно еще такой метод проверки сделать - на пакете risksetROC и тестовых данных
w.ROC = risksetROC(Stime = data[test, ]$stag,  
                   status = data[test, ]$event, 
                   marker = model$data$response, 
                   predict.time = median(data[test, ]$stag), 
                   method = "Cox", 
                   main = paste("OOB Survival ROC Curve at t=", 
                                median(model$data$truth.time)), 
                   lwd = 3, 
                   col = "red" )

w.ROC$AUC
[1] 0.6648762
Хуже, но тоже неплохо. w.ROC вам нарисует диаграмму под кривой, я не буду ее сюда помещать.

Согласитесь, неплохо для тестовых данных - 0, 69. А почему не 0, 75, как на трейне?

getLearnerModel(surva)
Call:
survival::coxph(formula = f, data = data, ties = "breslow", iter.max = 139L, 
    outer.max = 15L)

             coef exp(coef) se(coef)     z      p
X         0.00234   1.00235  0.00133  1.76 0.0778
coach    -0.95264   0.38572  0.33482 -2.85 0.0044
matchж.м -0.42199   0.65574  0.77277 -0.55 0.5850
matchм.ж -0.03979   0.96099  0.40376 -0.10 0.9215
matchм.м  0.33148   1.39303  0.41926  0.79 0.4292
А потому что у нас значим только один фактор - наличие наставника, остальные факторы - шум. Надо их отбросить, чтобы получить нормальную модель.
И у нас осталась, еще одна задача - самая главная наша задача - прогноз индивидуального риска или дожития. Иначе на практике наши упражнения будут теорией. И вот тут фишка заключается в том, что пакет mlr на сегодня не дает возможности предсказывать индивидуальные риски и дожития (информация в github авторов пакета). На этот счет есть разные подходы, но все они за пределами mlr. Вот как например дают прогноз через пакет pec
# train.coxph:
mod = coxph(Surv(time, status) ~ ., data = data[train, ])

# predict.coxph:
probs = predictSurvProb(mod, newdata = data[test, ], times = data[test, "time"])
timepoints = seq(0, max(data$time), length.out = 100L)
probs = predictSurvProb(mod, newdata = data[test, ], times = timepoints)

pec(probs, Surv(time, status) ~ 1, data = data[test,], exact = F,
    exactness = 99L, maxtime = max(timepoints))
probs
     [,1]      [,2]      [,3]      [,4]      [,5]      [,6]      [,7]      [,8]       [,9]      [,10]
3      1 0.9989732 0.9979358 0.9979358 0.9968463 0.9968463 0.9956966 0.9933632 0.98563169 0.98563169
9      1 0.9989948 0.9979792 0.9979792 0.9969126 0.9969126 0.9957871 0.9935025 0.98593217 0.98593217

Я даю в обобщенном виде, понятно, что в mod вы должны включать полученные параметры (покажу ниже), timepoints я выбрал произвольно, вам рекомендую выбирать по количеству единиц измерения вашего времени. В нашем случае это месяцы, их и можно выбрать.
Я же делаю так

w = coxph(Surv(stag, event) ~ . , data = data[train, ], ties=c("breslow"), iter.max = 139, outer.max = 15)
Я подставляю полученные параметры в регрессию Кокса (ну как будто мы убрали не значимые параметры и заново натренировали).
И тут есть одна важная тонкость: в этой модели w, коэффициенты другие, чем в тренированной.
w$coefficients
          X       coach    matchж.м    matchм.ж    matchм.м 
 0.00382257 -1.74394635  0.58288003 -0.31481756  0.04525168 

Наличие наставника в этой модели идет с коэффициентом -1, 7439, а в той, что тренировали - -0.95264. Не очень приятная разница. Думаю, согласитесь, что второй коэффициент, прошедший сетку и кросс валидацию, является более точным, поэтому нам нужно использовать его, вместо -1, 7439. Мы это исправляем так
w$coefficients[2] = -0.95264
Проверяем
X       coach    matchж.м    matchм.ж    matchм.м 
 0.00382257 -0.95264000  0.58288003 -0.31481756  0.04525168 

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

newdude = data[test, ][c(4,5,12), ]
e = survfit(w, newdata=newdude)
quantile(e)
Прогноз индивидуального дожития и тюнинг параметров регрессии Кокса в пакете mlr

По оси X у нас стаж работы в компании, по оси Y - вероятность дожития. Обратите внимание особо, что крайне нижнее значение по оси Y равно 0, 4. И совершенно очевидно, что у Петрова наставника не было (ну или в нашем случае мы прогнозируем, что будет с Петровым, если ему не назначить наставника), а у Иванова с Сидоровым они есть. Но даже для Петрова медиана дожития, или если пользоваться HR термином - средний срок жизни в компании - в районе пяти лет. Ну что поделать, такие суровые белорусские реалии.
Это все, что я хотел показать. Понятно, что владея этим инструментом, вы сможете строить более продвинутые модели. 

Понравился пост? 

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

вторник, 22 августа 2017 г.

О качестве семинара "HR-Аналитика в R"

20-21 июня состоялся первый семинар "HR-Аналитика в R" в России. По ссылке описание семинара, но там уже новые даты. Свой собственный отзыв я написал здесь Отзыв на Семинар-практикум "HR-Аналитика в R", Москва, 20-21 июня 2017.
Участники семинара должны были (в кавычках, конечно же, никто никому ничего не должен) выполнить проект, используя полученные знания и предоставленные данные. Причем, проект от начала до конца: от выбора цели, постановки гипотезы, очистки данных и ... оценки качества модели.
Этот проект должен стать как проверкой усвоения знаний, так собственно обучением, поскольку, к сожалению, для большинства коллег, знания усваиваются только через сшибание углов, наступание на грабли, попадание я яму и т.п..
Когда начинаешь делать проект, выясняешь, что это только на семинаре все гладко и красиво, а вот дома начинает вдруг возникать куча вопросов. И вот если Вы способны отвечать на возникающие вопросы, вы станете аналитиком, нет - и суда нет.
И я хочу, чтобы вы судили о моей работе на рынке не по моим выступлениям на конференциях, не красивым картинкам постов, а по тому, что делают те спецы, что были на моих семинарах

Результаты

Из пяти участников свои проекты выполнили трое.
Домашнее задание: Какие факторы влияют на вероятность проработать больше года в компании
Первым задание выполнил Артем Николаев - не HR аналитик, я его вообще не знал до семинара. Артем взял данные, сам поставил задачу, сам решил. Есть вопросы по технике. Драйв есть - это главное. С наскока бывает, не решаются задачи, надо не мытьем так катаньем.
У Евгения Бондаренко два поста можно отнести к проекту:
Анализ дожития: как предсказывать увольнения сотрудников и что на это влияет - пример, как можно проверить связь обучения и текучести персонала.
и
Изучаем регрессию дальше - прогноз на собственных данных Евгения.
Евгению, по моим ощущениям, семинар вообще не нужен был: нужно было дать код и сказать, зачем он. Евгений уже работал неплохо в R до семинара. У него есть хорошее качество аналитика (как я себе это представляю): все попробовать на собственных данных, на собственных задачах. В этом смысле мы похожи, потому я тоже все новое стараюсь сразу превращать в задачи по HR аналитике.  И Вам это крайне рекомендую: что бы вы про аналитику не узнали, понимайте, как это можно реализовать в вашей компании, на ваших данных.
Домашнее задание после семинара HR-аналитика в R -ссылка пустая - когда я уже написал пост, узнал,что Людмила Рогова удалила его. Это третий участник семинара. Такое тоже случается, и по этому вы тоже можете судить о качестве семинара. Людмила сделала задачу классификации - прогноз карьерного перемещения в компании. Но моя критика привела к тому, что она удалила пост.
Ну вот, собственно, такие результаты моего семинара по HR аналитике в R.
Резюме: сам я скептически оцениваю результаты семинара. Есть еще два участника, которые даже и не брались за домашний проект. Если же вы соберетесь - будьте готовы к выполнению проекта. Иначе ваши деньги - на ветер.  

воскресенье, 20 августа 2017 г.

Задача классификации с помощью пакета mlr в r на кейсе по адаптации персонала

После семинара по R участники делают свои проекты - домашние задания. Я тоже решил сделать свое домашнее задание. Чтобы показать студентам, что я сам еще могу руками работать. И еще показать потенциальным участникам семинара "HR-аналитика в R", что их ждет на семинаре. Если Вы не аналитик, рекомендую Вам в самом низу почитать менеджерскую часть проекта - то, что делает менеджер, принимающий решения, на основе анализа.
В качестве задачи я решил взять задачу про прогноз успешности адаптации персонала (мы на семинаре разбирали такую задачу), но решить ее с помощью пакета mlr.
mlr - это фреймфорк, пакет обертка для алгоритмов машинного обучения, он значительно облегчает жизнь специалистам по машинному обучению. До последнего времени я пользовался пакетом caret, его же использую на семинаре. Но вот в качестве собственного развития покажу, как работает mlr

Итак, 

library(mlr)
Сразу обозначу, почему mlr мне показался симпатичен- параметры модели. И возьму один из самых популярных алгоритмов - случайный лес. Но количество алгоритмов больше, в том числе любимый всеми xgboost

пятница, 18 августа 2017 г.

11 факторов, влияющих на эффективность обслуживания клиентов


Перевод статьи How 11 Factors Influence Customer Service Performance в рамках нашего проекта переводы статей по hr-аналитике на английском.
Перевод статьи выполнила Ольга Крутых (по ссылке - профиль в Линкедине). Ольга работала в HR, но несколько лет назад уехала в Испанию и, как я понимаю, в HR возвращается только через переводы)))
Статья кажется не HR-ая, но на самом деле, открою секрет, в списках задач по HR аналитике, управление лояльностью клиентов - одна из HR задач. Эта статья скорее обзорная, но начнем с чего-то - в моем блоге это первая статья про применение HR аналитики в обслуживании клиентов.
Итак,

11 факторов, влияющих на эффективность обслуживания клиентов 

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

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

  1. Чувствуют себя счастливее
  2. Чаще отзываются положительно о сервисе
  3. Более удовлетворены
  4. Чаще приходят в магазин
  5. И покупают больше!

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

В соответствии с литературой эффективность обслуживания клиентов зависит от нескольких факторов. Их можно разделить на 2 категории: индивидуальные и организационные.

Индивидуальные факторы, влияющие на эффективность обслуживания клиентов


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

В исследовании отмечается, что клиенты ресторана считают, что чем дороже блюда, тем они вкуснее. Поэтому субъективное восприятие – это все.

То, что посетители оценивают одну и ту же еду по-разному в зависимости от цены, означает, что чаще опыт клиента более важен, чем сам продукт.

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

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

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

Организационные факторы, влияющие на эффективность обслуживания клиентов

В статье Ployhart, Iddekinge & Mackenzie (2011) отмечается, что организационные факторы влияют на удовлетворенность клиента уровнем обслуживания.
Самый простой способ улучшить эффективность обслуживания – создать соответствующий «климат обслуживания».

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

Исследование, проведенное Ployhart et al. (2011) показало, что магазины с более высоким уровнем климата обслуживания имеют более высокие показатели качества сервиса. В данном случае уровень климата определялся на основе оценок работников ресторана (см. ниже).

Второй фактор – это осознанная автономия (perceived autonomy). Чем выше влияние работника в принятии решений, тем выше его эффективность.

Причины могут быть многочисленны. Более самостоятельные работники чаще чувствуют себя ответственными и поэтому более уверены в себе. К тому же автономия может привести к большей свободе в принятии решений, что, в свою очередь, позволяет работнику быстрее разрешать проблемы.
11 факторов, влияющих на эффективность обслуживания клиентов
Интересно, что в том же исследовании (объект исследования – рестораны) обучение персонала не влияло на улучшение уровня обслуживания.

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

Возможно, что обучение относительно простым темам (как, например, подавание блюд в ресторане) не вызывает такого интереса у работников по сравнению с более сложными и интенсивными курсами, например, продажи.

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

Итак, почему же так важна эффективность обслуживания?

Эффективность обслуживания клиентов в магазине определялась тем, насколько счастлив клиент и как часто он будет приходить в магазин. Другими словами, чем выше эффективность обслуживания, тем выше удовлетворенность и лояльность клиента (Ployhart et al., 2011).
11 факторов, влияющих на эффективность обслуживания клиентов

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

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

Метрики эффективности обслуживания клиентов


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

1. Экстраверсия

Экстраверсия – первый по значимости фактор, входящий в “большую пятерку” факторов личности. Экстраверты общительны, разговорчивы, энергичны и умеют убеждать. Также они чаще стремятся к превосходству. Исследование показало, что экстраверты успешнее справляются с работой и имеют более высокие (индивидуальные) показатели обслуживания клиентов по сравнению с интровертами.

2. Добросовестность

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

3. Когнитивные способности

Когнитивные способности работника - еще один показатель высокой удовлетворенности клиента. Работники с более высоким уровнем познавательных способностей (часто измеряемых в IQ) обычно оказывают более качественные услуги (Ployhart et al., 2011).
Люди с выраженными познавательными способностями будут быстрее учиться, осваивать больше информации и эффективно ее анализировать. Поэтому познавательная способность – наша третья по значимости метрика эффективности обслуживания. Более того, наглядным критерием (proxy) для данной метрики будет уровень образования работника.

4. Обучение персонала

Обучение ускоряет процесс усвоения специфических знаний (Hatch & Dyer, 2004). Оно направлено на совершенствование навыков. Отмечено, что более опытный работник обслуживает более качественно (Ployhart et al., 2011). Однако это утверждение не распространяется на все профессии. Работники, выполняющие несложные обязанности (например, работа официанта), получают меньше пользы от обучения в отличие от работников, занятых на более сложных работах.

5. Фактический опыт работы

Фактический опыт работы – еще одна из метрик оценки эффективности обслуживания, так как более опытные работники лучше подготовлены и следственно предоставляют лучший сервис (Ployhart et al., 2011). Например, типичная ошибка новичка, когда официант пытаясь удержать поднос, опрокидывает его на клиента со всем содержимым, может привести к ухудшению клиентского опыта и снижению удовлетворенности сервисом.

6. Климат обслуживания

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

7. Местная конкуренция

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

8. Индивидуальные показатели эффективности обслуживания

Данная метрика отражает качество сервиса, предоставляемого работником. Измерить этот показатель можно задав вопрос: «Готовы ли вы рекомендовать услугу (имя работника) другу или коллеге?» или используя форму обратной связи 360о, в которой клиента просят оценить уровень предоставляемой работником услуги.

Индивидуальный показатель эффективности обслуживания – это выходная переменная, зависящая от переменных, упомянутых в пп. 1-7.

9. Командные показатели эффективности обслуживания

Эффективность работы в команде зависит от эффективности обслуживания каждого работника. Исследование, проведенное Liao & Chang (2014), отмечает, что если у отдельного магазина индивидуальные показатели эффективности (п.8) выше среднего, он превосходит другие магазины, представленные в примере.

Другими словами, индивидуальные показатели эффективности обслуживания влияют «снизу-вверх» на командные показатели (bottom-up effect).

10. Удовлетворенность клиента

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

11. Лояльность клиента

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

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

Анализ речи мог сейчас привести вас к повышению

Перевод статьи Speach analysis could now land you a promotion в рамках нашего проекта переводы статей по hr-аналитике на английском.
Перевод выполнила Анна Федорова, руководитель одного из hr-направлений крупной телекоммуникационной компании (по ссылке профиль в фейсбуке). Это уже второй перевод Анны, читайте также Компания Висконсина предлагает имплантировать микрочипы дистанционного управления своим сотрудникам. Анне достаются переводы про взрывы и революции. И эта статья - еще один такой взрыв - рассказ про то, как можно анализировать речь работников.
Это не будущее, а настоящее: Raja Sengupta рассказывал мне, что работал в проекте по анализу речи кандидатов на собеседовании для одного холдинга. Это значительно более сложная задача, чем робот Вера. Но такие сервисы скоро появятся у нас.
Итак,
Анализ речи мог сейчас привести вас к повышению

Анализ речи мог сейчас привести вас к повышению

С меньшим количеством людей в человеческих ресурсах, программа анализа речи помогает работодателям нанимать новых кандидатов, оценивать пригодность для повышения по службе и измерять уровни стресса среди работников.
«Как вы отдохнули в воскресенье?», «Как прошел ваш последний отпуск?»
Хотя эти вопросы звучат очень просто, ваша следующая работа может зависеть от того, как вы на них ответите. И это будет не человек, с которым вы разговариваете, а компьютер. Вместо трудоемких онлайн опросников или психометрических тестов, некоторые рекрутеры просят кандидатов позвонить по номеру телефона, ввести личный пин-код  и ответить на серию вопросов, изложенных компьютером. Нет мыслей? Нажмите на решетку, чтобы перейти к следующему вопросу. До тех пор пока вы не поете, стучите или просто читаете вслух, что вы говорите не имеет значение. Важно, как вы это говорите.
Департаменты управления персоналом долго использовали компьютерные алгоритмы, чтобы просканировать резюме и выбрать лучших кандидатов на работу. Сейчас использование технологии переходит на другой уровень.
Речевые тесты используются рядом компаний не только для рекрутмента, но также для оценки и тренировки коммуникативных навыков, оценки пригодности для продвижения по службе и измерения уровня стресса сотрудников. Во всех случаях никто — как минимум, не человек — не слушает что вы говорите. Но действительно ли это объективно? И какие риски?
Это происходит вот как. Ваша 15-минутная голосовая запись анализируется в цифровом виде — тон голоса, подбор слов, структура предложений — чтобы определить черты личности такие как открытость к изменениям, энтузиазм, эмпатия. В долю секунды компьютерная программа определяет ваш характер. достижение статуса или хорошо организованы — в сравнении с идеальным Графики и диаграммы выявляют насколько вы дружелюбны, ориентированы на профилем кандадата, составленным рекрутером.
«Не существует человека в мире, который смог бы проанализировать так много аспектов личности, навыков и речи всего за 15 минут», говорит Mario Reis, со-основатель компании Precire Technologies, Ахен, Германия (прим. - компания-инновационный лидер технологий анализа речи). Их инструменты анализа речи используются гигантом человеческих ресурсов Randstad (прим. - рекрутинговая компания), транспортной компанией Fraport и страховой компанией Control€xpert, рассказывает Mario Reis.

Ваш голос раскрывает вас

Компьютер расшифровывает ваш голосовой файл, разделяя его на 500 000 аспектов речи. Затем ваш файл удаляется. При использовании в сфере электронного здравоохранения оно разработано так, чтобы быть анонимным, без определения личного опознавательного кода (пин-кода), говорит Reis.
Собранная информация сравнивается с результатами, ранее полученными у типовой группы. В исследовании, проведенном компанией Precire, у 6 000 человек была записана их речь и также они прошли традиционные личностные тесты. Это позволило исследователям определить речевые модели, связанные со специфическими личностными чертами.

Пока компьютерная программа идеальна на этапе отбора для включенных в «короткий список» кандидатов на работу, она не предназначена для того, чтобы заменить финальное личное интервью, говорит Reis. Но когда дело доходит до измерения коммуникативных навыков, он полагает, что анализ речи имеет преимущество. «Precire сравнивает [запись голоса] с лучшими продавцами, которых мы когда-либо оценивали, с лучшими руководителями, которых мы когда-либо оценивали. Возможно сравнить их объективно. Это то, что вы не можете делать в своей голове. Люди всегда подвержены субъективному ощущению», говорит он.
Ifp Management Diagnostics использует программное обеспечение, разработанное компанией Precire, чтобы оценить и обучить персонал для продаж и руководящих ролей, и измерить уровни стресса.
«Обратная связь от наших участников показывает, что они поражены точностью анализа их речи и личности», говорит Rainer Baecker, партнер и директор давно образованной компании точечного поиска персонала и развития, находящейся в Кельне, Германия. «Наши результаты не только показывают сильные и слабые стороны, но позволяют нам сделать незамедлительные выводы для поведенческих рекомендаций: как участник может расширить его коммуникативный репертуар», говорит он.
Другое преимущество это то, что анализ, проводимый компьютером, не находится по влиянием таких аспектов как пол, возраст или внешность и поэтому он высоко объективен.
Наряду с экономией времени и финансов работодателя, анализ речи делает процесс поиска работы быстрее и более удобным для претендентов, говорит Reis. «Мы видим, что около 75% пользователей Precire проходят свое интервью в первые 24 часа после получения номера телефона и пин-кода,  прямо в свой обеденный перерыв или перед обедом или по пути домой».

Риски

Но карьерный коуч и консультант по высвобождению работников Matthias Martens, компания Martens & Friends, Гамбург, Германия, предупреждает «С точки зрения сотрудника я вижу больше недостатков, чем преимуществ». Существует риск, что не носитель языка упустит возможность, говорит он, и риск людей, изменяющих свою речь, чтобы попытаться манипулировать результатами. Он также опасается, что люди, ищущие работу, которые отказываются представить образец речи, могут быть не допущены к отбору. «Никто в компании не допустил бы этого. Они всегда говорили бы, что это добровольно», говорит Martens. «Но компания, которая использует такой вид технологии это та компания, которая ищет инновационных и любопытных людей, а также имеющих позитивное отношение к техническому прогрессу».
«Если в период процесса рекрутмента кто-то откажется принимать участие [в речевом тесте] из-за страха или скептицизма, то компания подумает, что не стоит больше тратить время на них и найдет ту или иную причину, чтобы отказать им». Для людей, кто пройдет тест, говорит он, «Я думаю, важно, что результаты анализа оцениваются и интерпретируются обученным HR специалистом или психологом и что кандидату дается честная обратная связь о том, что показал тест о нем».
«Меня беспокоит то, что недостаточно подготовленный HR персонал сделает жизнь легкой для себя, позволяя технологии сделать работу и не доверяя своим собственным аналитическим навыкам, поэтому машина принимает все больше и больше решений». Alessandro Vinciarelli, эксперт по вычислительной науке, неврологии и психологии Университета Глазго, Великобритания, говорит, что только в последние пять лет или около того анализ речи начал использоваться. С точки зрения точности, говорит он, «в половине случаев вы можете быть уверены в автоматически полученных данных. В других 50%, лучше, если у вас есть экперт чтобы рассмотреть [выводы]. В целом всегда лучше иметь эксперта». «Эти технологии не предполагают заменить людей. Они предполагают помогать и содействовать профессионалам».
Метод хорошо подходит для найма на работу, связанную с множеством межличностных контактов, говорит он. «Вы можете определить, насколько люди чуткие, вы можете измерить быстры ли они и непринужденны ли при взаимодействии с другими... и для простых работ таких как работа в колл-центрах, способность к коммуникации может быть проверена очень легко этими видами технологий». И, добавляет он, «до сих пор, рекрутмент обычно основывался на чтении резюме [который] всегда неизбежно сводился к просмотру хороших университетов и правильных мест».
Анализ речи, говорит он, может проходить «немного больше этого и возможно увеличит шансы людей кто по той или иной причине не смог сделать лучший шаг в некоторых точках своей карьеры».  Риск, говорит Vinciarelli, это то, что рекрутеры могут начать доверять результатам технических методов и исключать другие методы. «Это вопрос поиска некоторого хорошего компромисса между использованием таких технологий и полной уверенности в нем. Вы должны использовать его с чуткостью и деликатностью».
__________________________________________________________
На этом все, читайте нас в фейсбуке и телеграмме

вторник, 15 августа 2017 г.

Прогноз эффективности работников на основе тестов профессиональных знаний

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

Задача

как на основе теста профессиональных знаний выявить эффективных.
Про эффективность скажу только, что она измерялась "1" - эффективный и "0" - не совсем чтобы.
Задача осложнялась тем, что спецы были не монопрофильные, в компании 8 функциональных направлений и три уровня должности (спец, спец повыше и спец еще повыше).
В тестах использовалось около 300 вопросов (!!!), но вопросы не шли сплошняком для всех менеджеров, а давались выборочно, поэтому мы не могли получить датасет размером 500 манагеров Х 300 вопросов. Точнее, мы его получить получили, но это была sparse матрица - с большим количеством пропущенных значений. Итого у нас в ячейках могло быть три значения: 1 - если респондент ответил правильно на вопрос, 0 - если ответил не правильно, пустая ячейка, если респондент не отвечал на этот вопрос.
К плюсам можно было только отнести только то, что вопросы не строго соответствовали позиции и функциональному направлению, а было много пересечений, т.е. один вопрос мог перекрывать несколько функциональных направлений и уровней должности.

Варианты


  1. Можно было бы сделать свою модель для каждой из 24 позиций (8 функциональных направлений Х 3 уровня позиции). Это не вариант, потому что на каждую позицию среднем выпадает по 20 строк, что не позволяет говорить хоть мало мальски статистической валидации. Можно типа было объединить спеца повыше и спеца еще повыше, но и в этом случае данные нам мало что дают. 
  2. Можно было бы тупо запихать все в алгоритм машинного обучения, дамми кодинг и все такое. Но возникает вопрос, насколько это вообще правильно? К примеру вопрос был задан 100 манагерам, 50 ответили правильно, 50 ответили неправильно. У нас в одной переменной 50 единиц и 450 нулей, в другой 50 единиц и 450 нулей. 
  3. Я избрал третий путь, причем этот путь определялся не только задачей собственно получения точности, сколько позицией клиента. Клиенту нужно было "живое" решение. Ну т.е. чтобы дать что-то, что клиент мог бы применять прям и сразу. А в случае алгоритма машинного обучения это был бы черный ящик: ты туда загружаешь данные, а оттуда колбаса. Клиент не поймет. 

Решение


  1. Решение должно быть наглядным. Первым делом я отбросил вопросы с низкой дисперсией, т.е. вопросы, на которые почти все ответили правильно или почти все ответили неправильно. Понятно, что такие вопросы в принципе не могут дифференцировать эффективных и не очень.
  2. Далее, я тупо запустил цикл с Хи квадрат (у нас показатели эффективности - "1" и "0", и в ячейках "1" и "0") с поправкой йейтса, канечна же. И отобрал только те вопросы, где p-value было ниже 0, 05. Без учета позиции, функционального направления и т.п.. 
  3. В уже отобранном списке я еще запустил цикл с уже корреляцией, чтобы выявить те вопросы, которые отрицательно коррелировали с эффективностью. И такое тоже было: порядка 5-6 вопросов. Они были значимо связаны с эффективностью, но я решил от них отказаться, потому что противоречило содержательной логике: если работник правильно отвечает на вопрос, то с больше вероятностью он будет не эффективным. Наверное, разработчики вопросов не закладывали такой логики.
  4. Остались только вопросы, положительно связанные с эффективностью, и в этом месте я делаю финт ушами: я считаю общее количество вопросов по строке - по каждому работнику, я считаю количество правильных ответов, и я считаю % правильных ответов. Где то в глубине души полагая, что если если каждый выбранный вопрос положительно коррелирует с эффективностью, то сумма даст более точное решение.
  5. В итоге мы получаем две переменные: эффективность и % правильных ответов. 

Прогноз эффективности работников на основе тестов профессиональных знаний

Как вы уже догадались, по оси X - % правильных ответов, красная линия - для не очень эффективных, зеленая линия - для эффективных.
Решение уже выглядит не зряшным. Описательные статистики для двух групп такие
$`0`
   Min.    1st Qu.    Median    Mean    3rd Qu.    Max.
 0.0000    0.2500     0.3750    0.4084     0.5357    0.8750

$`1`
   Min. 1st Qu.    Median      Mean    3rd Qu.    Max.
 0.0000  0.5000     0.7029    0.6647    0.8235     1.0000
Т.е. эффективные в медиане отвечают на 70 % вопросов правильно, а не эффективные - на 37 %.

Дерево решений и другие ужасы нашего городка 

дает нам скоринговую карту
Прогноз эффективности работников на основе тестов профессиональных знаний

Это значит, что если вы отвечаете на 43 % вопросов правильно и выше, то с 87 % вероятностью вы будете эффективным. Если вы отвечаете на менее чем 34 % вопрос правильно, с 66 % вероятностью вы будете неэффективным. И сонфьюзион матрикс на тест сете дает нам такую картину
      FALSE  TRUE
  0      11         19

  1       5          73
Базовая точность 72 %, мы получили 78 %. Пресижн - 79 %. Хотя в нашем случае под пресижн надо считать не 73/(73+19), а скорее 11 / (11+5) = 69 % . И мы отсекаем 35-40 % неэффективных (11 / (11+19).
Если взять случайный лес и прочие алгоритмы, то они конечно же дают точность выше. Но не критично выше - точность на 5-7 % повыше. Кстати, если в модель добавлять собственно вопросы, то точность также не особо растет. Растет, как ни странно, при добавлении вопросов, которые отрицательно коррелируют с эффективностью. Но я таки не стал их включать в модель, ибо сердце человеческое требует гармонии.
И не забывайте, что этот "алгоритм" можно уже завтра ставить клиенту и считать. Просто считаем % правильных вопросов по нужным вопросам и принимаем решение - скоринговая карта.
Вот собственно вся эвристика.

Понравился пост? 

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

На этом все, читайте нас в фейсбуке 

понедельник, 14 августа 2017 г.

Изучаем регрессию дальше


Задача

В предыдущей статье «Регрессия: Как начать предсказывать» мы коснулись темы простой линейной регрессии. Сегодня мы продолжим погружаться в эту интересную тему.

Итак, задача на сегодня у нас следующая. Есть данные участников мастер-класса по скорочтению (126 наблюдений). Мы построим модель прогноза Количества прочитанных книг за год на основании Скорости чтения человека. Т.е. Количество книг это зависимая переменная, а Скорость чтения – это независимая переменная (предиктор).

В предыдущей статье мы уже строили простую линейную регрессию.

В этой статье мы задействуем следующие методы:
·        Полиномиальная регрессия
·        Decision Tree («Дерево решений»)
·        Random Forest («Случайный лес»)
·        SVR (метод опорных векторов)
·        KNN (метод k-ближайших соседей)

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

Подготовка данных

У нас есть набор данных участников мастер-классов по скорочтению. База, на основании которой мы будем строить нашу модель.

Загрузить данные в R можно следующей командой:
dataset <- read.csv("SpeedReading_4_Groups.csv", sep = ";")
Посмотреть на первые шесть строк нашего датасета можно так:

head(dataset)

Никакой особой подготовки или преобразований наши данные не требуют.

Нам только нужно разделить наши данные на тренировочный и тестовый наборы данных. Т.е. на тренировочном датасете мы будем тренировать наши модели, а на тестовом – будем их тестировать.

Разделить наши данные на два датасета можно следующим кодом:
trindex = sample(1:nrow(dataset), nrow(dataset)*0.8)
training_set = dataset [trindex, ]
test_set = dataset [-trindex, ]

В результате такой операции мы получим два датасета:
training_setтренировочные данные
test_setтестовые данные

При этом данные будут распределены в пропорции 4/5. Т.е. 80% данных пойдет в тренировочные датасет, а 20% оставшихся в тестовый.

Вспоминаем линейную регрессию

Давайте построим простую линейную регрессию с одной независимой переменной, как мы это делали в прошлой статье.

У нас получится следующая модель:

А также давайте визуализируем данную модель.

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

Тест на нормальность распределения наших переменных:

А также гистограммы:


Т.е. наша зависима переменная (Количество прочитанных книг) не прошла тест на нормальность. Кроме того, если посмотреть на график scatter plot, где отображена взаимосвязь наших двух переменных, то мы увидим, что связаны они не совсем линейно.

Нелинейные модели

Теперь давайте попробуем решить нашу задачку при помощи нелинейных моделей.

Полиномиальная модель

Построить такую модель совсем несложно. Достаточно добавить несколько полиномов. Например, это можно сделать так:
training_set$Level2 = training_set$Скорость.чтения^2
training_set$Level3 = training_set$Скорость.чтения^3
training_set$Level4 = training_set$Скорость.чтения^4
poly_reg = lm(Сколько.книг~Скорость.чтения+Level2+Level3+Level4, data = training_set)
summary(poly_reg)

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

Интерпретация такой модели ничем не отличается от линейной модели. Здесь мы можем увидеть все предикторы, а также посмотреть чему равняется R2 нашей модели.

Давайте визуализируем и данную модель:

Теперь давайте построим и другие типы моделей.

·        Decision Tree («Дерево решений»)
·        Random Forest («Случайный лес»)
·        SVR (Метод опорных векторов)
·        KNN (Метод k-ближайшего соседа)

У данных методов есть настраиваемые параметры. В данной статье мы не будем детально вдаваться во все подробности такой настройки, а попробуем использовать некие “стандартные” величины.

Decision Tree («Дерево решений»)

Для построения модели Decision Tree достаточно выполнить следующий код:
dTree <-  rpart(formula = Сколько.книг ~ Скорость.чтения,
                  data = training_set,
                  control = rpart.control(minsplit = 3))

И давайте также визуализируем полученный результат:


Мы видим, что данный метод совсем по-другому визуально пытается описать наши данные в отличие от простой линейной регрессии.

Random Forest («Случайный лес»)

Двигаемся дальше. Теперь метод Random Forest. Для построения регрессионной модели данным методом необходимо выполнить следующий код:
rndForest = randomForest(x = training_set[5],
                         y = training_set$Сколько.книг,
                         ntree = 5)

И давайте посмотрим на визуализацию нашей новой модели:


Из рисунка видно, что данный метод еще более «изощрённо» пытается описать наши данные.

SVR (Метод опорных векторов)

Переходим к следующему методу – SVR (Метод опорных векторов). Для построения регрессионной модели, необходимо выполнить следующую строку кода:
fitSVM = svm(formula = Сколько.книг ~ Скорость.чтения,
                data = training_set,
                type = 'eps-regression',
                kernel = 'radial')

И также давайте посмотрим на графическое отображение нашей новой модели:


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

KNN (Метод k-ближайшего соседа)

И последний метод k-ближайшего соседа. Для построения регрессионной модели при помощи данного метода, нам необходимо выполнить следующий код:
fitKNN <- knn.reg(training_set[5], test_set[5], training_set[,4], k = 5)

И визуализируем нашу модель на графике:

Из рисунка мы видим, что метод KNN чем-то похож на визуализацию Random Forest. Такая же ломанная кривая линия.

Тестируем и выбираем лучшую модель

Теперь давайте протестируем все наши 6 моделей на тестовом наборе данных. Если помните в самом начале мы разделили наш датасет на две части: тренировочный датасет и тестовый датасет. До этого момента мы использовали тренировочный датасет. А теперь мы воспользуемся тестовыми данными.

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

В этом нам помогут три показателя:
MAE (Mean Absolute Error) – Средняя абсолютная ошибка между предсказанной и реальной величиной. Чем меньше ошибка, тем лучше.
RMSE (Root Mean Squared Error) – Квадратный корень из среднеквадратичной ошибки между предсказанной и реальной величиной. От МАЕ отличается тем, что «штрафует» большие ошибки сильнее. Чем меньше, тем лучше.
Rsq (коэффициент детерминации) – это доля дисперсии зависимой переменной, объяснённая нашей независимой переменной или переменными. Чем он больше, тем лучше.

После несложных вычислений и применения наших 6-ти моделей к тестовым данным, мы получим вот такую таблицу:

Давайте выберем трех лидеров по каждому показателю:
МАЕ: линейная, KNN и полиномиальная
RMSE: полиномиальная, Decision Tree и KNN
Rsq: полиномиальная, Decision Tree и KNN

По всем трем показателям у нас лидируют две модели: полиномиальная и KNN.

Ранее я говорил о том, что метод KNN-регрессии имеет настраиваемый параметр. Этот параметр (k) задается в формуле. Когда мы строили модель первый раз, мы задали стандартное значение 5. Но давайте теперь попробуем подобрать оптимальное значение (k), при котором наша ошибка RMSE будет минимальной.

Запустив совсем несложный цикл, мы получим следующий результат:


Т.е. наша ошибка RMSE будет минимальной при k=3. Давайте еще раз построим модель KNN с учетом нового значения k=3.
fitKNN <- knn.reg(training_set[5], test_set[5], training_set[,4], k = 3)

И теперь еще раз рассчитаем все наши параметры для выбора лучшей модели:


Мы видим, что настройка параметра k дала свои результаты. Теперь у нас у метода KNN самая минимальная ошибка RMSE и самый большой Rsq.
Мы могли бы тюнинговать и другие методы, но это уже материал для новой статьи.

Теперь визуализируем все наши модели (линии) и на эти же графики точками нанесем данные из тестового датасета. Так мы сможем понаблюдать воочию, насколько точно наши модели описывали новые данные.

Ниже представлен именно такой график:

Выводы

В этой статье мы познакомились с несколькими нелинейными методами регрессии и решили поставленную в начале задачу. А именно:
        1)    Построили модель регрессии различными методами
        2)    Рассчитали критерии точности моделей для выбора наилучшей
        3)    Настроили k-параметр в KNN методе
        4)    Выбрали наилучшую модель и визуализировали итоговый результат

рек

Популярные сообщения