Прогноз индивидуальных рисков ухода из компании: разница в подходах
Готовлюсь к семинару HR-аналитика в R, планирую вставить блок прогноза индивидуальных рисков увольнения.
В чем смысл блока для бизнеса: мы собираем на входе информацию о кандидатах и на основе этой информации прогнозируем риск увольнения кандидата. Чем выше риск, тем выше вероятность, что мы его не возьмем на работу.
На первом семинаре «HR-Аналитика в R», Москва, 20-21 июня 2017 я давал регрессию Кокса, но без тренировки гиперпараметров, поэтому я дал по сути подход к выявлению драйверов текучести, исходя из схемы анализа текучестью, которую я предложил в посте Подходы к анализу, прогнозу и управлению текучести персонала.
Я решил посмотреть разные варианты прогноза индивидуальных рисков. Я создал три разные модели, создал троих тестовых чуваков и получил прогнозы по ним на трех разных моделях.
Вариант 1. Регрессия Кокса без тренировки гиперпараметров
Самый простой вариант
coxph(Surv(stag, event) ~ . , data = data)
Т.е. гиперпараметры по дефолту.
Индивидуальные прогнозы по трем нашим героям получились такие
Для тех, кто совсем в танке: по оси X — стаж работы в компании, по оси Y — вероятность дожития до этого момента.
Значение 0, 5 по оси Y — 50 % вероятность дожития
Итого, медианы дожития для кандидатов такие:
- Иванов — 95 месяцев (я пишу приблизительно);
- Петров — 50 месяцев;
- Сидоров — 24 или 2 года.
Метрика качества модели конкорданс 0, 61.
Вариант 2. Регрессия Кокса с тренировкой параметров
я показывал этот вариант в посте
- Иванов имеет средний срок жизни в компании более 10 лет
- Петров — почти 4 года (обратите внимание, Петров и Сидоров поменяли цвета по сравнению с первой диаграммой — я это уже заметил, когда картинки стал вставлять, не буду исправлять)
- Сидоров — около 33 месяцев.
Конкорданс — 0, 59.
Вариант 3. Случайный лес дожития с тренировкой параметров
Есть замечательный пакет для работы с анализом дожития — randomForestSRC. Его также часто использует Паша Робертс, см. Как использовать анализ дожития для прогноза текучести персонала от Pasha Roberts. Это тот же случайный лес с теми же параметрами, но под анализ дожития.
- Ивансон по прежнему в облаках и собирается по прогнозу жить долго в компании — дольше 10 лет,
- Петрован — около 70 месяцев или почти 6 лет, а не 4 года, как в предыдущих моделях.
- Бедный Сидоров — примерно 16 месяцев
Конкорданс 0, 62.
Выводы:
К радости можно отнести только порядок выхода на пенсию рисков ухода из компании чуваков. Большой разброс объясняется низким качеством самой модели — конкордансом. Это аналог показателя ROC AUC.
Т.е. если вы тут же сделаете новый трейн тест сплит, новую тренировку параметров, то линии жизни наших героев изменятся в рамках каждого подхода: регрессии Кокса без тренировки, с тренировкой и случайным лесом.
Но качество модели низкое не столько в силу нашей плохой работы как аналитики, сколько самой особенностью текучести персонала.
В качестве метафоры можно привести прогноз продолжительности человека. Если у нас в качестве переменных будет только состояние здоровья родителей и гены новорожденного, то мы дадим не очень точный прогноз: мы не будем знать экологии региона, где он будет жить, мы не знаем, будет ли он заниматься спортом, пить вотку кока колу или чай и т.п..
Поэтому подобные модели являются методом ковровой бомбардировки, применимые при массовом подборе.
Источник : edwvb.blogspot.com