Share |

четверг, 7 декабря 2017 г.

Определение факторов включения сотрудников в кадровый резерв (версия 2)



После полученных замечаний к посту Определение факторов включения сотрудников в кадровый резерв от Эдуарда Бабушкина и коллег аналитиков пост был переработан. За что всем огромное спасибо! Это лучший способ научиться.

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

Имеется 145 наблюдений по сотрудникам одной производственной компании принявшим участие в формировании кадрового резерва.

Методология включения в состав резерва предполагала успешное заполнение тестов интеллекта, мотивационного опросника и профессионального кейса. По итогам 20 сотрудников вошли в резерв компании.

Гипотеза: результаты батареи методик являются основанием включения сотрудника в состав кадрового резерва компании.

Датасет содержит следующие переменные:

$ Пол                      : Factor w/ 2 levels
$ Возраст                  : int 
$ Город                    : Factor w/ 7
$ Компания                 : Factor w/ 26 levels
$ Функция                  : Factor w/ 5 levels
$ Уровень.должности        : Factor w/ 2 levels
$ Стаж                     : int 
$ Мобильность              : Factor w/ 2 levels
$ Рекомендации.руководителя: Factor w/ 2 levels
$ IQ                       : int
$ Мотивация                : int 
$ Кейс                     : num
$ Общий.результат          : Factor w/ 2 levels

В качестве инструментов были использованы:
1. Тесты интеллекта CEB SHL (суммарный балл по вербальному и числовому тесту).
2. Мотивационный опросник CEB SHL.
3. Профессиональные кейсы, составленные консалтинговой компанией.

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

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

trans = preProcess(reserv1[, c("Возраст","IQ")], method = c("BoxCox", "center", "scale", "medianImpute"))
reserv1=predict(trans, reserv1)
 Переменная возраст была включена по причине синтаксиса R (не пропустил с одной переменной IQ).

Для проведения анализа данные датасета разделены на обучающие и тестовые в соотношении 70/30%:

set.seed(1)
split = sample.split(reserv1$Общий.результат, SplitRatio = 0.7)
train1 = subset(reserv1, split==TRUE)
test1 = subset(reserv1, split==FALSE)

 2.      Анализ

По сути, включение или не включение сотрудника в состав кадрового резерва – это задача классификации и соответственно решается она через построение логистической регрессии.
Аналитиками был отмечен несбалансированный характер данных, так как при ограниченном количестве наблюдений (145) только 20 исходов являлись положительными, в связи с чем произведена балансировка данных и установлены параметры кросс-валидации (3 папки по 5 повторов):

fitControl1 = trainControl(method = "repeatedcv", number = 3, repeats = 5,sampling = "up") 

После поэтапного отключения статистически незначимых переменных, в качестве независимых переменных остаётся IQ и мобильность, тогда итоговая модель принимает вид:

logreg <- train(Общий.результат~IQ+Мобильность, data=train1, method="glm",metric='Accuracy',trControl = fitControl1, family="binomial")

Coefficients:
               Estimate Std. Error z value Pr(>|z|)    
(Intercept)     -0.6682     0.2770  -2.412   0.0159 *  
IQ               0.7959     0.1838   4.330 1.49e-05 ***
МобильностьНЕТ   0.8069     0.3453   2.337   0.0194 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

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

При этом важным фактором всё равно является только IQ:



Далее приводится анализ качества модели:

1. ROC-кривая
Площадь под кривой = 0.83.


2. График Точность-полнота

Исходя из ROC-кривой и графика P-R установлена вероятность наступления события на уровне 0,5. На тестовых данных получен следующий результат:

     FALSE TRUE
  0    26   11
  1     0    6

Точность (Precision) модели при таких параметрах составляет 35%. 

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

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

> newCandidate = data.frame(Возраст=32, IQ=100, Мобильность="НЕТ")
> newdudeTrans = predict(trans, newCandidate)
> predict(logreg, type="prob", newdata=newdudeTrans)

   0         1
1 0.3823303 0.6176697

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

> newCandidate = data.frame(Возраст=32, IQ=100, Мобильность="ДА")
> newdudeTrans = predict(trans, newCandidate)
> predict(logreg, type="prob", newdata=newdudeTrans)

         0        1
1 0.581091 0.418909

3. Выводы:

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


4 комментария:

  1. все таки очень странно, что стаж не вошел в модель

    ОтветитьУдалить
  2. Александр, а какие-нибудь параметры оценки результатов деятельности? Возраст? - изначально не брали?

    ОтветитьУдалить
    Ответы
    1. а могли бы вместе быть на семинаре с Александром:)

      Удалить

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

п