Месяц назад я писал про наше участие в хакатоне по открытым данным.
После хакатона мы не остановились на достигнутом, как это обычно бывает, а продолжили работу. У нас на руках оказались данные, к которым раньше имели доступ, наверное, только сотрудники Министерства образования: результаты ГИА и победы на олимпиадах за 2014-2015 год для 90% московских школ. Для 55% школ удалось собрать данные по ЕГЭ за 2015 год. Прокачали все аккаунты московских школьников в Контакте, посмотрели, какие ВУЗы они указывают у себя в профайлах после окончания.
Естественно, было интересно поизучать такой датасет. Сначала тривиальные вещи, о которых люди из образования, наверное, хорошо знают:
Для некоторых школ есть данные по ЕГЭ за 2014 год, поэтому можно попробовать посмотреть динамику за два года:
Для некоторых школ у нас есть не только баллы по ЕГЭ, но и число сдававших предмет. Можно посмотреть на популярность дисциплин. Скорее всего, люди в теме, это и так знают:
Я думал, что чем популярнее предмет, тем выше по нему средний балл. Но, похоже, всё наоборот:
Теперь немного про ГИА. Я думал, что чем лучше в школе сдают ГИА, тем лучше через два года и баллы по ЕГЭ. Оказалось, что это справедливо только для русского и математики и от части для обществознания. Почему так, кто знает?
Была гипотеза, что предпочтения по предметам меняются. Возможно, те кто сдавал, например, физику в 9 классе совсем не обязательно сдают физику в 11. Но по ГИА у нас тоже есть данные по числу сдающих и популярность предметов в целом совпадает с тем, что мы видим для ЕГЭ:
Может быть, дело в заданиях. Если упорядочить предметы по среднему баллу по ГИА, порядок будет совсем не такой, как для ЕГЭ:
Теперь про олимпиады. У нас есть число победителей московских и всероссийских олимпиад по всем предметам. Было интересно проверить коррелируют ли успехи на олимпиадах со средним баллом по ЕГЭ по школе:
Для всех школ известны координаты. Да, бывает, что зданий несколько, но мы пока смотрим на юридический адрес.
У меня было представление, что чем ближе школа к центру, тем она лучше. Но, похоже, это не так. По крайней мере, средний балл по ЕГЭ от близости к центру не зависит:
Наверное, некоторых сейчас интересует откуда данные и почему им можно доверять. Результаты ГИА и олимпиад нам любезно предоставило Министерство образования. Они обещали, что скоро эти данные будут публично доступны. Результаты ЕГЭ по предметам, почему-то считаются большим секретом, поэтому нам пришлось их собирать вручную с сайтов школ. Все московские школы хостятся на портале mskobr.ru и у всех есть раздел "публичный доклад". Там обычно есть ссылка на документ, где директор школы в произвольный форме отчитывается за прошедший год. Естественно, все школы видят содержание и оформление отчёта по-разному:
Поэтому об автоматическом сборе данных пришлось забыть. Мы взяли классный инструмент для распознавания таблиц в PDF-документах — Tabula. Немного её пропатчили и процесс сбора данных выглядел так:
Через ~30 часов все ~600 документов были обработаны. Оказалось, что только из ~55% получается достать данные по ЕГЭ. Часто данные в отчёте несвежие или результатов ЕГЭ нет или нет именно средних баллов, а есть только, например, максимальные. Затем в ~300 школ, для которых удалось достать баллы по ЕГЭ были отправлены письма с просьбой проверить данные. ~30 школ ответили, 2 нашли ошибки, 5 прислали баллы чуть-чуть завышенные относительно отчёта, остальные сказали «норм». То есть с точностью больших проблем нет, есть проблемы с полнотой. Нужно где-то достать баллы ещё для ~300 школ.
Затем мы приступили к Контактику. Цель была определить из каких школ в какие ВУЗы чаще всего поступают. Первым делом нужно было объединить официальные названия школ, с теми которые использует Контакт. Это сделать не так просто. Потому что, например, у нас есть «Школа №17», а у ВК есть «Вечерняя школа №17», «Музыкальная школа №17 им. Л. Н. Оборина», «Школа-интернат №17». Кроме этого Контакт разрешает получать только 1000 результатов поисковой выдачи. Если школа указана более, чем в 1000 аккаунтов, а для московских школ это почти всегда так, то нужно что-то придумывать. Мы разбивали один запрос «школа №17» на несколько: «школа №17 девочки от 6 до 14», «школа №17 мальчики от 6 до 14», «школа №17 девочки от 15 до 17», «школа №17 мальчики от 15 до 17» и так далее. На запросы к поиску, похоже, существует какой-то нечёткий лимит. После ~50 обращений нас банили на ~1 час. Так или иначе через пару суток все аккаунты были прокачаны. На одну школу приходится в среднем ~1800 человек, из них ~450 указывают университет.
Если использовать эти данные как есть, странным образом, 90% московских школьников поступают в МГУ. Поэтому применяется следующий изощрённый алгоритм: выкинуть МГУ. Да, например, для лицея №1533, откуда 50% людей уходит в МГУ этот алгоритм работает не очень хорошо, но другие подходы жутко ухудшаю покрытие для всех школ. Остаётся, например, не ~450 человек, а ~45, строить по ним распределение по ВУЗам не получается. Те, кто учился в школах с картинки, пожалуйста, напишите соответствует гистограмма правде или нет:
После хакатона мы не остановились на достигнутом, как это обычно бывает, а продолжили работу. У нас на руках оказались данные, к которым раньше имели доступ, наверное, только сотрудники Министерства образования: результаты ГИА и победы на олимпиадах за 2014-2015 год для 90% московских школ. Для 55% школ удалось собрать данные по ЕГЭ за 2015 год. Прокачали все аккаунты московских школьников в Контакте, посмотрели, какие ВУЗы они указывают у себя в профайлах после окончания.
Естественно, было интересно поизучать такой датасет. Сначала тривиальные вещи, о которых люди из образования, наверное, хорошо знают:
- Баллы по ЕГЭ по гуманитарным предметам выше, чем по техническим. История — исключение;
- Естественно-научные дисциплины посередине.
Для некоторых школ есть данные по ЕГЭ за 2014 год, поэтому можно попробовать посмотреть динамику за два года:
- Как будто подрос балл по физике и немного упал балл по информатике;
- Либо это шум, либо задания изменились, либо готовить стали по-другому.
Для некоторых школ у нас есть не только баллы по ЕГЭ, но и число сдававших предмет. Можно посмотреть на популярность дисциплин. Скорее всего, люди в теме, это и так знают:
- Русский — обязательный, его сдают все;
- Часть, видимо, сдаёт базовую математику, мы рассматривали только профильную;
- Выбросы в английском и физике происходят, наверное, за счёт спецшкол.
Я думал, что чем популярнее предмет, тем выше по нему средний балл. Но, похоже, всё наоборот:
Теперь немного про ГИА. Я думал, что чем лучше в школе сдают ГИА, тем лучше через два года и баллы по ЕГЭ. Оказалось, что это справедливо только для русского и математики и от части для обществознания. Почему так, кто знает?
Была гипотеза, что предпочтения по предметам меняются. Возможно, те кто сдавал, например, физику в 9 классе совсем не обязательно сдают физику в 11. Но по ГИА у нас тоже есть данные по числу сдающих и популярность предметов в целом совпадает с тем, что мы видим для ЕГЭ:
Может быть, дело в заданиях. Если упорядочить предметы по среднему баллу по ГИА, порядок будет совсем не такой, как для ЕГЭ:
- Высокие баллы по информатике;
- Засечки на целых баллах появляются, потому что некоторые школы округляют среднее до нулевого знака;
- По истории, как и для ЕГЭ, баллы одни из самых низких.
Теперь про олимпиады. У нас есть число победителей московских и всероссийских олимпиад по всем предметам. Было интересно проверить коррелируют ли успехи на олимпиадах со средним баллом по ЕГЭ по школе:
- Иногда какая-то зависимость просматривается: для английского, обществознания, биологии, например;
- Иногда не очень: для русского, литературы особой связи нет.
Для всех школ известны координаты. Да, бывает, что зданий несколько, но мы пока смотрим на юридический адрес.
У меня было представление, что чем ближе школа к центру, тем она лучше. Но, похоже, это не так. По крайней мере, средний балл по ЕГЭ от близости к центру не зависит:
Наверное, некоторых сейчас интересует откуда данные и почему им можно доверять. Результаты ГИА и олимпиад нам любезно предоставило Министерство образования. Они обещали, что скоро эти данные будут публично доступны. Результаты ЕГЭ по предметам, почему-то считаются большим секретом, поэтому нам пришлось их собирать вручную с сайтов школ. Все московские школы хостятся на портале mskobr.ru и у всех есть раздел "публичный доклад". Там обычно есть ссылка на документ, где директор школы в произвольный форме отчитывается за прошедший год. Естественно, все школы видят содержание и оформление отчёта по-разному:
Поэтому об автоматическом сборе данных пришлось забыть. Мы взяли классный инструмент для распознавания таблиц в PDF-документах — Tabula. Немного её пропатчили и процесс сбора данных выглядел так:
Через ~30 часов все ~600 документов были обработаны. Оказалось, что только из ~55% получается достать данные по ЕГЭ. Часто данные в отчёте несвежие или результатов ЕГЭ нет или нет именно средних баллов, а есть только, например, максимальные. Затем в ~300 школ, для которых удалось достать баллы по ЕГЭ были отправлены письма с просьбой проверить данные. ~30 школ ответили, 2 нашли ошибки, 5 прислали баллы чуть-чуть завышенные относительно отчёта, остальные сказали «норм». То есть с точностью больших проблем нет, есть проблемы с полнотой. Нужно где-то достать баллы ещё для ~300 школ.
Затем мы приступили к Контактику. Цель была определить из каких школ в какие ВУЗы чаще всего поступают. Первым делом нужно было объединить официальные названия школ, с теми которые использует Контакт. Это сделать не так просто. Потому что, например, у нас есть «Школа №17», а у ВК есть «Вечерняя школа №17», «Музыкальная школа №17 им. Л. Н. Оборина», «Школа-интернат №17». Кроме этого Контакт разрешает получать только 1000 результатов поисковой выдачи. Если школа указана более, чем в 1000 аккаунтов, а для московских школ это почти всегда так, то нужно что-то придумывать. Мы разбивали один запрос «школа №17» на несколько: «школа №17 девочки от 6 до 14», «школа №17 мальчики от 6 до 14», «школа №17 девочки от 15 до 17», «школа №17 мальчики от 15 до 17» и так далее. На запросы к поиску, похоже, существует какой-то нечёткий лимит. После ~50 обращений нас банили на ~1 час. Так или иначе через пару суток все аккаунты были прокачаны. На одну школу приходится в среднем ~1800 человек, из них ~450 указывают университет.
Если использовать эти данные как есть, странным образом, 90% московских школьников поступают в МГУ. Поэтому применяется следующий изощрённый алгоритм: выкинуть МГУ. Да, например, для лицея №1533, откуда 50% людей уходит в МГУ этот алгоритм работает не очень хорошо, но другие подходы жутко ухудшаю покрытие для всех школ. Остаётся, например, не ~450 человек, а ~45, строить по ним распределение по ВУЗам не получается. Те, кто учился в школах с картинки, пожалуйста, напишите соответствует гистограмма правде или нет: