Главная » Хабрахабр » Муниципальные мойры или Что влияет на карьеру чиновника

Муниципальные мойры или Что влияет на карьеру чиновника

Привет, Хабр! Как и было обещано в предыдущем посте про Why So Serious Hack, мы подготовили следующий рассказ в этой серии. В этот раз речь пойдет про хакатон «Муниципальные мойры», который проводился 21-22 апреля Европейским университетом в Санкт-Петербурге.

Введение

Так совпало, что этот хакатон тоже был необычным и очень похожим на Why So Serious Hack. Но это неудивительно, учитывая что организаторы пересекались, а за техническую часть обоих мероприятий и вовсе отвечал один и тот же человек. Поэтому мы и решили написать о нем сейчас, пока свежи наши воспоминания о хакатоне, а ваши о предыдущем посте.

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

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

Нет, не на kaggle, как многие из вас скорее всего предположили, а с помощью бота в telegram! Качество своих моделей можно проверить с помощью проверяющей системы. Лучше скор — раньше презентация. А место в лидерборде не определяет победителя, а влияет на порядок выступления команд. Но об этом всем подробнее расскажу немного дальше. Призовое место назначается жюри на основании глубины, качества, оригинальности и проработанности ответа команды на вопрос.

Организация хакатона

Как и в прошлый раз, начнем с пары слов о том, как организовывался хакатон.

К сожалению, специально отведенных мест для ночевки не было, но поскольку хакатон длился 30 часов, то это не было большой проблемой. Мероприятие проходило в здании Европейского Университета. Звучит это все не как описание топового хакатона, но зная текущую сложную сложившуюся ситуацию у ЕУСПб, им можно это все простить. Полноценного питания на площадке тоже не было, однако организаторы предоставили комнату с чаем, кофе, пирогами и печеньками.

Призовой фонд составлял 100 000 руб, и его могла получить только одна команда.

Кейс и решение

Команда центра Res Publica ЕУСПб, организующая мероприятие, проводит исследование качества муниципального управления и его динамику в России с 2007 по 2018.

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

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

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

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

Состояние карьеры главы описывается не только тремя значениями («назначили на должность», «работает», «уволили с должности»), которые было бы логично предположить, но куда более разнообразным и детальным набором. Самым интересным полем здесь является состояние карьеры, так как именно это поле и нужно было предсказывать. Всего таких категорий было 13. Например, глава МО мог уйти с должности по состоянию здоровья, или в связи с заведенным на него уголовным делом.

Типичный пример карьерной траектории главы:

Типичный пример карьерной траектории главы

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

Но на наш взгляд, это куда более скучная задача, чем предсказание будущего. Сначала уточню, что нужно было предсказывать карьерные траектории не на будущие года, а для других кандидатов, живущих параллельно. В качестве ответа для сэмпла выбираем тот класс, чья модель более уверена в принадлежности примера этому класса. Однако, правила устанавливает организатор.
Мы остановились на one-vs-rest модели, то есть когда для каждого класса мы строим отдельный классификатор.

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

Чтобы получить картинку ниже, мы сначала отнормировали все по столбцам, а потом по строкам. Далее, мы решили посмотреть, как распределены категории в зависимости от региона.

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

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


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

Еще из интересных технических моментов можно сказать про то, что дополнительная база с данными о муниципальных образованиях весила больше 30ГБ, поэтому можно было либо ее парсить, либо скачать на сервер, где бы хватало RAM для обработки.

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

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

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

Все дело в том, что у классов сильный дисбаланс. Хочется упомянуть, почему у нас получается довольно маленькое значение F1 скора. Поэтому предсказывая многие классы с хорошей точностью, а некоторые, которые встречаются в тесте всего пару раз, плохо, мы не получим впечатляющего значения метрики. Одних очень много, других — мало.

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

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

Результаты

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

Несмотря на то, что победитель определяется не позицией на лидерборде, в этот раз мы почему-то слепо следовали цели: максимизировать скор, и потратили не очень много времени для составления полноценного ответа на вопрос: «Что же нужно делать, чтобы получить повышение?» Сразу же после рассказа, мы осознали одну важную ошибку.

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

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

Пост написан совместно с avgaydashenko.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Будущее рабочих мест. Главное из отчета Всемирного экономического форума

Согласно отчёту Всемирного экономического форума The Future of the Jobs 2018 уже через четыре года 75 миллионов рабочих мест будут упразднены, но их заменят другие 133 млн. Но страх того, что «роботы заменят людей», все ещё не соответствует реальности. Формулировка ...

Полезные советы по использованию HyperLynx DDR Wizard для анализа QDR4

Quad Data Rate (QDR-IV) является стандартом высокопроизводительной памяти для сетевых применений и идеально подходит для нового поколения сетевых устройств, коммуникационного оборудования и вычислительных систем. Этот блок способен обработать все одноразрядные ошибки памяти, в том числе, вызванные космическими лучами и альфа-частицами. ...