Исследование дружеских связей на Физтехе

Андрей Сандлер, студент 2 курса ФИВТ, недавно сделал интересное исследование в области сетевого анализа. Он проанализировал социальный граф ВКонтакте, изучая количество и качество “дружеских” связяй, которыми физтехи связаны друг с другом. Мы публикуем оригинальный текст автора, описывающий суть данного исследования, а также полезные выводы.

Введение
Недавно меня посетила одна мысль – у меня почти совсем нет друзей с ФФКЭ и ФПФЭ. Я так понимаю, что я не один такой с ФИВТа! Развивая эту мысль, я подумал, как можно было бы проверить, сколько друзей с разных факультетов у каждого физтеха? Ответ прямо под рукой – ВКонтакте!

Итак, я решил всерьез заняться изучением графа дружеских связей на Физтехе, используя данные vk.com. Тут уместно сделать некоторые пояснения.

Во-первых, подсчет друзей каждого человека даст много информации, а в итоге из-за её огромного количества не будет видно общей картины. Поэтому лучше будет собрать некоторую статистику из ребер “графа дружбы”. Например, почему бы не подсчитать, сколько ребер проведено между факультетами? Это куда как глобальнее, и, в принципе, отражает среднее количество друзей с разных факультетов.

Но количества ребер мне мало, поскольку факультеты по численности бывают разные, и число ребер без учета количества человек ничего не скажет. Как учесть размер факультета? Подумав, я решил считать плотность графа, то есть на ребре между ФИВТом и ФФКЭ писать плотность двудольного графа, где вершины одной доли – это фивты, а вершины другой доли – кванты. Это число получалось маленьким, поэтому я его умножал на 10000. Кроме межфакультетной плотности я посчитал ещё и плотность внутри каждого факультета. Это число, по идее, должно как-то отражать “дружность” факультета (напоминаю, я судил всего лишь по данным ВКонтакте).

Тут возникает вопрос: как по данным ВКонтакте понять, является ли человек студентом Физтеха? Многие на своей странице указывают вуз МФТИ(ГУ) или МФТИ(ГУ) (см. в Москве). Факультет чаще всего указывается вместе с вузом. Используя эти данные и год выпуска, можно предположительно понять, учится ли человек в МФТИ.
Таким образом, человек считается нынешним студентом физтеха, если у него на странице указан ВУЗ, факультет и год выпуска (2012-2017 или не указан).

Технические детали
И, наконец, как эти самые данные получить? ВКонтакте уже давно решили вопрос с парсингом страниц и придумали VK API. Оно умеет отдавать список друзей человека, в котором есть поля “вуз”, “факультет”, “год выпуска”, и вообще всё, что можно указать на странице. Чтобы воспользоваться этим API, нужно завести на своей страничке пустое приложение, а данные этого приложения отдать библиотеке, которая умеет работать с VK API. Я нашел на гитхабе библиотеку, написанную на моем любимом Ruby, и дело оставалось за малым – запустить поиск в ширину и ждать результатов.

Результаты заставили себя ждать 15 минут. Оказывается, мой BFS обошел две тысячи человек, найдя между ними чуть больше 60000 ребер. Неплохо! Но мне показалось, что я получил не полную информацию о графе дружбы, поэтому я запустил поиск с трех других аккаунтов (ФИВТ, ФУПМ, ФАКИ), и нашел ещё 10000 ребер. Как это получилось, я до сих пор не понимаю. Вроде бы все четверо (включая меня) состоят в друзьях друг у друга вконтакте, списки друзей принудительно открыты несколько месяцев назад, но все же поиск куда-то не доходит. Очень странное явление (возможно, это следствие того, что часть друзей можно скрыть).

Тем не менее, результаты получены, таблицы заполнены, давайте посмотрим на них:

Плотность графа дружеских связей между факультетами

Результаты
Что сразу бросается в глаза? Числа на диагонали значительно больше, чем остальные, что и понятно – друзей со своего факультета обычно больше. Второе, что очень заметно – это ФАЛТ. Внутренняя плотность там (и на НБИКе) огромная, а внешняя – очень маленькая. География сказывается. Глянем на цветную картинку. Желтым здесь обозначена внутренняя плотность, красным – внешняя, градация цвета от темного к светлому означает величину плотности.

Получилось, что ФРТК и ФАКИ не очень дружны внутри. Интересно, как это на самом деле? ФОПФ дружит с ФМБФ, ФИВТ – с ФАКИ (туда на ПМФ переводятся) и с ФУПМом (исторически получилось). НБИК и ФОПФ довольно хорошо общаются.
Так, а сколько же человек с каждого факультета сидит в контакте?

ФУПМ – очевидный лидер:)
(Результаты отличаются от поиска людей по факультатам из-за ограничения года выпуска.)

Что можно сказать по итогам исследования? Результаты показательные, но это отнюдь не значит, что на самом деле картина такая же – повторяюсь, это всего лишь статистика по данным ВКонтакте.

Надеюсь, было не очень скучно:)

Бонус для тех, кто дочитал: 10 самых общительных людей с Физтеха (по данным vk.com).
1. Николай Синюхин НБИК
2. Леночка Обрайен ФОПФ
3. Георгий Речинский ФУПМ
4. Константин Виноградов ФИВТ
5. Егор Ефименко ФОПФ
6. Галка Болдырева ФРТК
7. Даша Милиженко ФУПМ
8. Михаил Ерохин ФОПФ
9. Андрей Криворучко ФУПМ
10. Анна Андреева ФИВТ

И, напоследок, как говорил кот Леопольд: “Давайте жить дружно!

Страница автора: Андрей Сандлер

Поделиться