Готовлюсь к семинару HR-аналитика в R, планирую вставить блок прогноза индивидуальных рисков увольнения.
В чем смысл блока для бизнеса: мы собираем на входе информацию о кандидатах и на основе этой информации прогнозируем риск увольнения кандидата. Чем выше риск, тем выше вероятность, что мы его не возьмем на работу.
На первом семинаре «HR-Аналитика в R», Москва, 20-21 июня 2017 я давал регрессию Кокса, но без тренировки гиперпараметров, поэтому я дал по сути подход к выявлению драйверов текучести, исходя из схемы анализа текучестью, которую я предложил в посте Подходы к анализу, прогнозу и управлению текучести персонала.
Я решил посмотреть разные варианты прогноза индивидуальных рисков. Я создал три разные модели, создал троих тестовых чуваков и получил прогнозы по ним на трех разных моделях.

Вариант 1. Регрессия Кокса без тренировки гиперпараметров

Самый простой вариант
coxph(Surv(stag, event) ~ . , data = data)
Т.е. гиперпараметры по дефолту.
Индивидуальные прогнозы по трем нашим героям получились такие

Для тех, кто совсем в танке: по оси X — стаж работы в компании, по оси Y — вероятность дожития до этого момента.
Значение 0, 5 по оси Y — 50 % вероятность дожития
Итого, медианы дожития для кандидатов такие:

  1. Иванов — 95 месяцев (я пишу приблизительно);
  2. Петров — 50 месяцев;
  3. Сидоров — 24 или 2 года.

Метрика качества модели конкорданс 0, 61.

Вариант 2. Регрессия Кокса с тренировкой параметров 

я показывал этот вариант в посте

  1. Иванов имеет средний срок жизни в компании более 10 лет
  2. Петров — почти 4 года (обратите внимание, Петров и Сидоров поменяли цвета по сравнению с первой диаграммой — я это уже заметил, когда картинки стал вставлять, не буду исправлять)
  3. Сидоров — около 33 месяцев. 

Конкорданс — 0, 59.

Вариант 3. Случайный лес дожития с тренировкой параметров

Есть замечательный пакет для работы с анализом дожития — randomForestSRC. Его также часто использует Паша Робертс, см. Как использовать анализ дожития для прогноза текучести персонала от Pasha Roberts. Это тот же случайный лес с теми же параметрами, но под анализ дожития.

  1. Ивансон по прежнему в облаках и собирается по прогнозу жить долго в компании — дольше 10 лет,
  2. Петрован — около 70 месяцев или почти 6 лет, а не 4 года, как в предыдущих моделях.
  3. Бедный Сидоров — примерно 16 месяцев

Конкорданс 0, 62.

Выводы:

К радости можно отнести только порядок выхода на пенсию рисков ухода из компании чуваков. Большой разброс объясняется низким качеством самой модели — конкордансом. Это аналог показателя ROC AUC.
Т.е. если вы тут же сделаете новый трейн тест сплит, новую тренировку параметров, то линии жизни наших героев изменятся в рамках каждого подхода: регрессии Кокса без тренировки, с тренировкой и случайным лесом.
Но качество модели низкое не столько в силу нашей плохой работы как аналитики, сколько самой особенностью текучести персонала.
В качестве метафоры можно привести прогноз продолжительности человека. Если у нас в качестве переменных будет только состояние здоровья родителей и гены новорожденного, то мы дадим не очень точный прогноз: мы не будем знать экологии региона, где он будет жить, мы не знаем, будет ли он заниматься спортом, пить вотку кока колу или чай и т.п..
Поэтому подобные модели являются методом ковровой бомбардировки, применимые при массовом подборе.


Источник : edwvb.blogspot.com

Похожая запись