«Матрица дружбы». Самый старый социальный граф для самых маленьких
Тут случилось первое сентября, очередной учебный год, цветы-конфеты, слёзы счастья и вот это вот всё, а я в процессе подготовки к лекции в институте наткнулся на очень любопытные данные. Я смотрел, что бы такого можно было быстро и красиво порисовать в GePhi, и наткнулся на историю Йоханнеса Делича (Johannes Delitsch). Делич работал в Лейпциге учителем начальных классов и собрал в 1880ом учебном году данные о том, кто с кем дружит в его классе. И это, по ходу, один из первых задокументированных социальных графов.
Классы тогда были большие (в этом конкретном было аж 53 ученика), а старина Йоханнес, как я понял, до 1880ого года подрабатывал исключительно репетиторством. Так что в начале нового учебного года, увидев свой обширный четвёртый «А» (я, честно говоря, не знаю, какая там была буква, да это не так и важно), Йоханнес немного взгрустнул. Человеком он, судя по всему, был деятельным и решил лучше разобраться в социальных отношениях вверенной ему оравы.
Данные
Йоханнес не был современным социологом. Он был школьным учителем, поэтому методология сбора данных у него была довольно, кхм, эклектичная. Он и беседовал с учениками, и их домашние задания читал, и «наблюдал, как они общаются в группе». В итоге получился довольно развесистый набор данных на основании которого Делич написал статью в Zeitschrift für.
Kinderforschung (любые слова на немецком звучат и пишутся очень страшно, заранее извините, но дословный перевод «Журнал для исследования детей» звучит на русском ещё криповее). Йоханнеса, как я понял, в первую очередь интересовало то, как связаны успеваемость ребёнка и его популярность среди одноклассников, поэтому помимо направленного графа, описывающего кто с кем дружит, Делич также приводит рейтинг ученика (от самого успешного, до самого неуспевающего) и ещё некоторые интересные параметры. К примеру, в классе было четыре второгодника, они выделены в датасете. Ещё в классе был парень по фамилии Лаш (Lasch), бабушка которого была кондитером. Делич обратил внимание, что Лаш угощает других детей конфетами и отметил это в своих данных. Он также отдельно выделил детей у которых были проблемы со здоровьем, такие как анемия, хромота или задержка в развитии.
«Матрица дружбы» описывает кто и с кем дружит. Граф направленный, потому что Ганс может считать Фридриха другом, а Фридрих, может, на Ганса чихать хотел.
Лучшие люди нашего класса
Давайте засунем этот социальный граф в GePhi, посчитаем, к примеру, PageRank и покрасим вершины.
Более «влиятельные» ученики окрашены в более насыщенный цвет.
Давайте «подсветим» семь учеников с самым высоким PageRank (я позже объясню, почему именно семь, пока давайте просто считать семь фундаментальной константой). Вот, что получится, если выделить семь вершин графа, у которых самый высокий PageRank.
Лидеры мнений 4ого «А» в 1880ом году.
Про этих парней мы уже говорили! Во-первых, все четыре второгодника «в топе». Я решил выделить семь человек, потому что один из четырёх второгодников по фамилии Шнабель (Schnabel) какой-то не очень крутой. У него седьмое значение PageRank. В то время как второгодники Пфайль (Pheil) и Феттер (Vetter) уверенно (и с большим отрывом) занимают первую и вторую строчку в списке «авторитетности», а второгодник Шуберт — четвёртую, уступая по «авторитетности» только Лашу (мало что может конкурировать с раздачей конфет). Шнабель всего седьмой. Выше его по авторитетности лучший ученик в классе Шлегель (Schlegel) и пятый по успеваемости ученик Майнхольд (Meinhold). Про этого Майнхольда мы ничего не знаем, никакой особой информации о нём Делич нам не оставил, поэтому его на картинке обозначим как «странного парня».
Удары в бубен и вычисление modularity class
В GePhi есть инструмент чтобы найти в нашем 4ом «А» группы «по интересам». Описан алгоритм тут, а реализация, используемая GePhi тут. Общая идея в том, что алгоритм пытается оценить, какие сообщества внутри сети более плотные. За несколько проходов алгоритм может давать разную разбивку на сообщества, поэтому всё, что будет дальше, это просто камлание и удары в бубен на основании отдельно взятого результата, что не делает процесс менее забавным. Итак, вот в такие цвета раскрасил наш 4ый «А» алгоритм поиска сообществ.
Скажи мне, с кем ты дружишь, и я скажу, что ты это зря.
Давайте смотреть, что получилось. Все наши 7 самых влиятельных ребят попали в 4 основные сообщества. Три «крутых» второгодника Пфайль, Феттер и Шуберт попали в сообщество, покрашенное на картинке в зелёный. «Некрутой» второгодник Шнабель и лучший ученик класса Шлегель попали в сообщество, покрашенное в лиловый. Наконец, раздающий конфеты Лаш попал в сообщество, обозначенное на картинке светло-синим. Майнхольд остаётся человеком-загадкой. Он попал в небольшую группу «избранных», в которой всего три ученика (включая его самого), она покрашена в тёмно-серый. Из 4х детей, у которых были проблемы со здоровьем, двое вообще ни с кем не дружат, а двое других попали в синее сообщество.
Ну, что ж. Многое начинает проясняться. Шнабель, по всей видимости, не такой «крутой» второгодник, потому что вместо того, чтобы зависать с крутыми парнями, общается с какими-то ботанами, с которыми дружит пай-мальчик Шлегель (интересно, что сами Шнабель и Шлегель не дружат, но стабильно попадают в одно сообщества при подсчёте модулярности сети). Лаш и его конфеты сформировали сообщество ребят, которых ни в ботаны, ни в плохие парни не берут, а Майнхольд… Хммм… Кто же такой Майнхольд? Давайте посмотрим, кто ещё с ним «в тусовке». Ещё два ученика, попавшие с ним в одно сообщество, это Майер (Meier, 4ое место в рейтинге учеников) и Флаш (Flasch, 35ое место в рейтинге учеников). Хммм… Три чувака, которые больше толком ни с кем не общаются, но при этом два из которых неплохо учатся…
Кадр из фильма Superbad.
Короче, мне нравится думать о трёх этих парнях, как о троице гиков из Германии 19ого века. Двое учатся отлично, а третий особо ни с кем не общается, просто делает после уроков гигантского человекоподобного робота или кригсмарине, или ещё что похуже. Не суть.
Давайте переведём рейтинг немецких школьников в среднюю оценку. Сгенерируем что-то похожее на нормальное распределение на интервале от 2 до 5 (у немцев шкала оценок обратная, но мы чисто для своего понимания будем всё делать по нашей привычной шкале, когда 2 — не сдал, а 5 — красавчик). Сопоставим каждому ученику его средний бал так, чтобы при ранжировании по этому среднему баллу получался бы такой же рейтинг, как в данных Делича. Теперь давайте посмотрим, какая средняя оценка у учеников, в каждой из этих четырёх групп. А заодно, со сколькими людьми в среднем дружит участник каждой группы, и сколько людей в среднем дружат с ним. Получится вот что:
Средняя оценка и средние in- и out- degree по четырём группам. Цвета соответствуют раскраске графа.
Гики, в целом, неплохо учатся, но сами дружить не рвутся, да и с ними особо никто дружить не собирается. Хорошисты из тусовки Шлегеля и Шнабеля учатся в среднем похуже гиков, зато в социальном плане у них всё получше. Альтруисты (так я называл группу, в которую вошёл раздававший конфеты Лаш) учатся паршиво зато дружат с другими детьми активнее всего (пусть и не взаимно). Наконец, плохие парни учатся хуже всех, зато очень популярны (с ними хотят дружить), хотя сами в плане количества людей с которыми дружат недалеко ушли от гиков.
Давайте ещё нарисуем с кем дружат представители разных сообществ
Каждое сообщество больше всего дружит внутри себя, но с другими сообществами взаимодействует по-разному.
Смотрите, как забавно! Альтруисты считают своими друзьями немало хорошистов и немало плохих парней. Плохие парни альтруистов особо не жалуют, зато вот некоторых хорошистов считают своими друзьями. Хорошисты, судя по всем, от дружбы с плохими парнями не в восторге, зато альтруисты с их улыбчивыми лицами и халявными конфетами вызывают у них сдержанный интерес.
Если вам по каким-то причинам интереснее смотреть с другого бока, то вот ещё одна призовая картинка.
Каждое сообщество больше всего дружит внутри себя, но с другими сообществами взаимодействует по-разному.
Вот такой забавный дата-сет в первую неделю осени. 2014ом году данные о нашем 4 «А» заново открыла миру вот эта статья. Дело в том, что после первой мировой Германии было не до педагогики, так что о данных, собранных Деличем забыли надолго, а сейчас выходит, что это чуть ли не первый подробно задокументированный социальный граф. Такие дела.
Оригинальные данные были опубликованы в статье:
Delitsch, J., 1900. Über Schülerfreundschaften in einer Volksschule. Zeitschrift für Kinderforschung 5, 150–162.