У меня возник интересный проект, который мне подкинул клиент, и за который я по традиции ничего не получил.
Но проект интересен эвристикой, которую я нарыл, и ей хочу поделиться.
Задачка такая: порядка 500 манагеров в компании, работа которых связана с профессиональными знаниями. Поэтому логичным выглядело решение менеджмента компании протестировать работников на тест профессиональных знаний.
Про эффективность скажу только, что она измерялась "1" - эффективный и "0" - не совсем чтобы.
Задача осложнялась тем, что спецы были не монопрофильные, в компании 8 функциональных направлений и три уровня должности (спец, спец повыше и спец еще повыше).
В тестах использовалось около 300 вопросов (!!!), но вопросы не шли сплошняком для всех менеджеров, а давались выборочно, поэтому мы не могли получить датасет размером 500 манагеров Х 300 вопросов. Точнее, мы его получить получили, но это была sparse матрица - с большим количеством пропущенных значений. Итого у нас в ячейках могло быть три значения: 1 - если респондент ответил правильно на вопрос, 0 - если ответил не правильно, пустая ячейка, если респондент не отвечал на этот вопрос.
К плюсам можно было только отнести только то, что вопросы не строго соответствовали позиции и функциональному направлению, а было много пересечений, т.е. один вопрос мог перекрывать несколько функциональных направлений и уровней должности.
Как вы уже догадались, по оси X - % правильных ответов, красная линия - для не очень эффективных, зеленая линия - для эффективных.
Решение уже выглядит не зряшным. Описательные статистики для двух групп такие
Т.е. эффективные в медиане отвечают на 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 % повыше. Кстати, если в модель добавлять собственно вопросы, то точность также не особо растет. Растет, как ни странно, при добавлении вопросов, которые отрицательно коррелируют с эффективностью. Но я таки не стал их включать в модель, ибо сердце человеческое требует гармонии.
И не забывайте, что этот "алгоритм" можно уже завтра ставить клиенту и считать. Просто считаем % правильных вопросов по нужным вопросам и принимаем решение - скоринговая карта.
Вот собственно вся эвристика.
Но проект интересен эвристикой, которую я нарыл, и ей хочу поделиться.
Задачка такая: порядка 500 манагеров в компании, работа которых связана с профессиональными знаниями. Поэтому логичным выглядело решение менеджмента компании протестировать работников на тест профессиональных знаний.
Задача
как на основе теста профессиональных знаний выявить эффективных.Про эффективность скажу только, что она измерялась "1" - эффективный и "0" - не совсем чтобы.
Задача осложнялась тем, что спецы были не монопрофильные, в компании 8 функциональных направлений и три уровня должности (спец, спец повыше и спец еще повыше).
В тестах использовалось около 300 вопросов (!!!), но вопросы не шли сплошняком для всех менеджеров, а давались выборочно, поэтому мы не могли получить датасет размером 500 манагеров Х 300 вопросов. Точнее, мы его получить получили, но это была sparse матрица - с большим количеством пропущенных значений. Итого у нас в ячейках могло быть три значения: 1 - если респондент ответил правильно на вопрос, 0 - если ответил не правильно, пустая ячейка, если респондент не отвечал на этот вопрос.
К плюсам можно было только отнести только то, что вопросы не строго соответствовали позиции и функциональному направлению, а было много пересечений, т.е. один вопрос мог перекрывать несколько функциональных направлений и уровней должности.
Варианты
- Можно было бы сделать свою модель для каждой из 24 позиций (8 функциональных направлений Х 3 уровня позиции). Это не вариант, потому что на каждую позицию среднем выпадает по 20 строк, что не позволяет говорить хоть мало мальски статистической валидации. Можно типа было объединить спеца повыше и спеца еще повыше, но и в этом случае данные нам мало что дают.
- Можно было бы тупо запихать все в алгоритм машинного обучения, дамми кодинг и все такое. Но возникает вопрос, насколько это вообще правильно? К примеру вопрос был задан 100 манагерам, 50 ответили правильно, 50 ответили неправильно. У нас в одной переменной 50 единиц и 450 нулей, в другой 50 единиц и 450 нулей.
- Я избрал третий путь, причем этот путь определялся не только задачей собственно получения точности, сколько позицией клиента. Клиенту нужно было "живое" решение. Ну т.е. чтобы дать что-то, что клиент мог бы применять прям и сразу. А в случае алгоритма машинного обучения это был бы черный ящик: ты туда загружаешь данные, а оттуда колбаса. Клиент не поймет.
Решение
- Решение должно быть наглядным. Первым делом я отбросил вопросы с низкой дисперсией, т.е. вопросы, на которые почти все ответили правильно или почти все ответили неправильно. Понятно, что такие вопросы в принципе не могут дифференцировать эффективных и не очень.
- Далее, я тупо запустил цикл с Хи квадрат (у нас показатели эффективности - "1" и "0", и в ячейках "1" и "0") с поправкой йейтса, канечна же. И отобрал только те вопросы, где p-value было ниже 0, 05. Без учета позиции, функционального направления и т.п..
- В уже отобранном списке я еще запустил цикл с уже корреляцией, чтобы выявить те вопросы, которые отрицательно коррелировали с эффективностью. И такое тоже было: порядка 5-6 вопросов. Они были значимо связаны с эффективностью, но я решил от них отказаться, потому что противоречило содержательной логике: если работник правильно отвечает на вопрос, то с больше вероятностью он будет не эффективным. Наверное, разработчики вопросов не закладывали такой логики.
- Остались только вопросы, положительно связанные с эффективностью, и в этом месте я делаю финт ушами: я считаю общее количество вопросов по строке - по каждому работнику, я считаю количество правильных ответов, и я считаю % правильных ответов. Где то в глубине души полагая, что если если каждый выбранный вопрос положительно коррелирует с эффективностью, то сумма даст более точное решение.
- В итоге мы получаем две переменные: эффективность и % правильных ответов.
Как вы уже догадались, по оси 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 % повыше. Кстати, если в модель добавлять собственно вопросы, то точность также не особо растет. Растет, как ни странно, при добавлении вопросов, которые отрицательно коррелируют с эффективностью. Но я таки не стал их включать в модель, ибо сердце человеческое требует гармонии.
И не забывайте, что этот "алгоритм" можно уже завтра ставить клиенту и считать. Просто считаем % правильных вопросов по нужным вопросам и принимаем решение - скоринговая карта.
Вот собственно вся эвристика.
Я по образованию физик, у меня была статистика...я конечно, все забыла, так как более 10 лет в персонале. Я выводы не поняла... Можно обычным языком, как для собственников, например, которые тоже не знают мат. Статистики в большинстве.. Ответ то очень интересен!))
ОтветитьУдалитьДля собственника ответ выглядит так: у вас есть каша в компании в виде разных направлений, уровней позиции и разного количества вопросов
УдалитьИ далеко не все вопросы связаны с эффективностью
Вместо этой каши Заказчик получает простую инструкцию:
по каждой позиции вы получаете обязательный набор вопросов - такие то номера вопросов.
Вы можете использовать с тесте например 30 вопросов, НО! из них обращаете внимание только на выделенные мной.
Например таких 15 вопросов в тесте
далее вы просто считаете % правильных ответов из этих 15. Если кандидат ответил на менее 5 вопросв из 15 правильно, его не стоит брать
Т.е. Заказчик просто совершает арифметические действия
Но Вы скажите Заказчику, чтобы он заплатил мне денег
УдалитьЭдуард, п1-4 так не делается, необходимо считать трудность и дискриминативность заданий
ОтветитьУдалитьЮра, во первых я устал от твоих анонимных мелочных укусов.
Удалитьво вторых, я поражаюсь твоей ригидности - тебя научили фразу "надо считать трудность и дискриминативность" задания и ты тупо это повторяешь.
В третьих - я сделал твою трудность и дискриминативность, если ты не догадался и не увидел слов про трудность и дискриминативность
в четвертых - это только вам, тестологов, интересует трудность сама в себе, тогда как меня как и Заказчика интересует в первую очередь прогноз эффективности работников.
А вас этому к сожалению, не учили, вы там своей тусовкой с юрами, пашами, максимами только гладите друг друга, обсуждать не умеете
я тебе предлагал сотрудничество, но ты не нашел на меня время, время у тебя есть только на анонимные укусы
Я первый раз оставил анонимный комментарий, сожалею, что ты меня не услышал
ОтветитьУдалитьво первый раз
Удалитьво вторых
ты сказал про дискриминантность
Объясни мне теперь, как в конкретном данном кейсе дискриминантность вопроса поможет в прогнозе эффективности?
А кто-нибудь, кроме Эдуарда, когда-нибудь проводил исследования в части взаимосвязи тестов и реальной эффективности сотрудников в конкретной компании??? Кто-нибудь получал честную табличку с результатами тестов (хотя это на вашей стороне обычно есть) и например исполнением планов через 6 месяцев после приема, когда решение было принято на основе ваших тестов? Вот честно??? В компаниях с численностью более 10 000 человек??? Проверяли как сами компании честно и не предвзято выбирают объекты для тестирования?
ОтветитьУдалитьЛюда, проводили. И скажу там много подводных камней и ситуация "через тернии к звёздам", но это можно и нужно делать.
ОтветитьУдалитьВиталий, я от клиентов знаю про два кейса)
Удалитьподелитесь подводными камнями