Зачем изучать динамику социальных сетей?
Изучение динамики соцсетей позволяет не только разделять селекцию и влияние, но и выявлять ключевые структурные механизмы формирования сетей (например, правда ли, что в этой сети люди формируют связи с друзьями друг друга?), изучать взаимосвязь структурных и не структурных характеристик (правда ли, что популярные пользователи онлайн сетей — это знаменитости, или, наоборот, знаменитости становятся популярными в любой онлайн сети?).
С сетевой точки зрения этот фрагмент можно интерпретировать следующим образом: 1) Гермиона помогает Гарри; 2) Гермиона помогает Рону. Все данные по помощи в «Гарри Поттере» размещены в открытом доступе по ссылке.
В последние годы тема эволюции сети стала одной из основополагающих в сетевом анализе. Основное достоинство динамических исследований в том, что они позволяют понять структуру причинно-следственных связей в сети. Приведем простой пример: двое друзей-подростков любят фаст фуд. В сетевом анализе склонность людей со схожими характеристиками или поведением образовывать между собой связи называется гомофилией. Можно сказать, что между этими подростками наблюдается гомофилия: они оба любят эту еду.
Однако статическая перспектива не позволяет ответить на вопрос о том, каким образом гомофилия формируется. Рассмотрим, как могло так случиться, что наши любители фаст фуда подружились:
1) Каждый из них любил гамбургеры, затем они познакомились и подружились на основе общей любви к этой еде,
2) Оба подростка изначально дружили, и один из них все время ходил в Макдональдс и ел гамбургеры, а его друг постепенно перенял эту привычку.
В первом случае речь идет о социальной селекции – выборе друга на основании схожих интересов. Во втором случае – о социальном влиянии – изменении поведения под влиянием поведения друга. Ответить на вопрос о том, что стало первопричиной гомофилии (то есть какой из вариантов развития событий был более реалистичным), можно, рассмотрев динамику социальной сети.
В первом случае речь идет о социальной селекции – выборе друга на основании схожих интересов. Во втором случае – о социальном влиянии – изменении поведения под влиянием поведения друга. Ответить на вопрос о том, что стало первопричиной гомофилии (то есть какой из вариантов развития событий был более реалистичным), можно, рассмотрев динамику социальной сети.
Изучение динамики соцсетей позволяет не только разделять селекцию и влияние, но и выявлять ключевые структурные механизмы формирования сетей (например, правда ли, что в этой сети люди формируют связи с друзьями друг друга?), изучать взаимосвязь структурных и не структурных характеристик (правда ли, что популярные пользователи онлайн сетей — это знаменитости, или, наоборот, знаменитости становятся популярными в любой онлайн сети?).
Для изучения эволюции социальной сети все чаще используют стохастическое акторно-ориентированное моделирование (САОМ). Этот метод реализован в пакете RSiena. Предпосылки САОМ достаточно просты – каждый человек понимает свою позицию в социальной системе и меняет свои социальные связи (и поведение) для того, чтобы улучшить эту позицию с течением времени. Например, для улучшения своей позиции в рабочем коллективе сотрудник может пытаться создать хорошие отношения с руководством и коллегами.
Подробнее о методе можно прочитать в обзорной статье (а еще здесь и здесь). По этой ссылке можно ознакомиться с эмпирическими исследованиями, выполненными с использованием САОМ. О том, как работать с пакетом RSiena, подробно написано в мануале.
Если Вы планируете использовать САОМ в своих исследованиях, то стоит подписаться на рассылку пользователей RSiena. Там Вы не только сможете узнать много полезного о САОМ, но и всегда будете в курсе новинок – главный разработчик RSiena Том Снайдерс регулярно сообщает новости о развитии модели и новшествах пакета, размещает информацию о конференциях, воркшопах и вакансиях в сфере социальных сетей.
Немного магии
Разобраться в САОМ лучше всего на примере. Рассмотрим, каким образом происходила эволюция социальной сети помощи по выполнению домашних заданий в Хогвартсе. Для тех, кто не понимает о чем речь, Хогвартс — это магическая школа, в которой учился Гарри Поттер и его друзья из книги Джоан Роулинг. Джоэль Боссаэрт и Надин Маэдерт в своей работе собрали информацию о помощи при подготовке домашних заданий из первых 6 книг о Гарри Поттере. Так как в седьмой книге главные герои не стали посещать школу, информации об обучении в ней почти не было.
Рассмотрим на примере, как была собрана информация о сетях помощи:
![]() |
Источник изображения |
"Гарри, Рон и Гермиона сидели у окна — Гермиона проверяла их домашние задания по заклинаниям. Она никогда не давала им списывать, — «Как же вы тогда чему-нибудь научитесь?» — но зато согласилась проверять их домашние работы, и таким образом они все равно узнавали от нее правильные ответы" (Джоан Роулинг, Гарри Поттер и философский камень, гл. 11)
С сетевой точки зрения этот фрагмент можно интерпретировать следующим образом: 1) Гермиона помогает Гарри; 2) Гермиона помогает Рону. Все данные по помощи в «Гарри Поттере» размещены в открытом доступе по ссылке.
В этом посте мы хотим понять, как изменяются сети помощи от второй к четвертой книге. Мы не рассматриваем другие книги, так как это потребовало бы использования процедур по восполнению пропущенных данных (composition change). Со всеми процедурами можно ознакомиться в мануале.
Итак, проводим анализ эволюции социальной сети. Для этого необходимо загрузить пакет RSiena (версия 1.1-289) отсюда. Более ранние версии использовать не рекомендуется.
Potter_01
In [ ]:
# Для работы нам понадобится пакет RSiena
library(RSiena)
library(parallel)
In [ ]:
# Скачаем данные с сайта: http://www.stats.ox.ac.uk/~snijders/siena/
# Сами данные на вкладке Data Sets,
# Cкачаем архив в нашу рабочую директорию и распакуем
# Загружаем данные из 2 и 4 книги
book2 <- as.matrix(read.table("hpbook2.txt"))
book4 <- as.matrix(read.table("hpbook4.txt"))
In [ ]:
# Посмотрим на заголовки наших данных
head(book2)
# Они у нас представлены в формате матрицы, где 1 - есть связь, 0 -нет связи
Out[ ]:
In [ ]:
# Прикрепляем атрибуты участников сети
# Это год обучения, пол и факультет
hp.attributes <- as.matrix(read.table("hpattributes.txt", header=TRUE))
head(hp.attributes)
Out[ ]:
In [ ]:
# Соединяем все социальные сети в один объект
# Каждая сеть состоит из 64 узлов и их всего две
support <- sienaDependent(array(c(book2,book4), dim=c(64, 64, 2)))
# Даем названия интересующим нас атрибутам акторов
schoolyear <- coCovar(hp.attributes[,2])
gender <- coCovar(hp.attributes[,3])
house <- coCovar(hp.attributes[,4])
In [ ]:
# Формируем модель, которую назовем Хогвартс
# Она состоит из двух сетей помощи и наших атрибутов
Hogwarts <- sienaDataCreate(support, schoolyear, gender, house)
Hogwarts
Hogwarts_effects <- getEffects(Hogwarts)
In [ ]:
# Спецификация модели: добавляем эффекты
# Добавляем два эффекта для транзитивности («друг моего друга – мой друг»)
Hogwarts_effects <- includeEffects(Hogwarts_effects, transTies)
In [ ]:
# Добавляем эффект популярности и активности
# (с течением времени популярные акторы становятся еще популярнее,
# а активные - еще активнее)
# Также добавляем эффект социальной селекции по полу
# (ученики склонны завязывать связи с учениками их пол)
Hogwarts_effects <- includeEffects(Hogwarts_effects,
egoX,
altX,
simX,
interaction1="gender")
In [ ]:
# Добавляем социальную селекцию по курсу
# (ученики одного года обучения склонны помогать друг другу)
Hogwarts_effects <- includeEffects(Hogwarts_effects,
simX,
interaction1="schoolyear")
In [ ]:
# Добавляем социальную селекцию по факультету
# (ученики одного факультета склонны помогать друг другу)
Hogwarts_effects <- includeEffects(Hogwarts_effects,
sameX,
interaction1="house")
In [ ]:
# Алгоритм оценки
Algorithm <- sienaAlgorithmCreate(projname="Hogwarts", cond=FALSE)
In [ ]:
# Результаты!
Results <- siena07(Algorithm, data=Hogwarts, effects=Hogwarts_effects,
useCluster=TRUE, initC=TRUE, nbrNodes=4, batch=TRUE)
Results
Out[ ]:
После получения результатов первым дело нужно оценить сходимость модели. В настоящий момент она определяется по двум параметрам:
1) общая t-статистика (Overall maximum convergence ratio) должна быть меньше 0.25;
2) t-статистики (convergence t-ratio) для каждой из переменных должны быть по абсолютному значению меньше 0.1.
1) общая t-статистика (Overall maximum convergence ratio) должна быть меньше 0.25;
2) t-статистики (convergence t-ratio) для каждой из переменных должны быть по абсолютному значению меньше 0.1.
В нашем случае общая t-статистика 0.23, а максимальная t-статистика переменной 0.072, то есть модель сходится и можно приступить к интерпретации полученных результатов.
В отличие от большинства моделей (линейная модель, обобщенная линейная модель, ERG модели и т.д.), в RSiena нет указаний значимости переменных. P-значимость каждой из переменных вычисляется исходя из z-распределения – нужно разделить значение оценки (Estimate) на ошибку (SE). В случае, если отношение больше 2 (точнее 1.96, но на глаз удобнее делить на 2), то этот эффект оказывает значимое влияние на эволюцию социальной сети на уровне 5%.
Посмотрим, что получилось у нас:
- Параметр "rate basic parameter support" показывает, насколько значимы изменения в нашей сети произошли за период наблюдений. Мы видим, что сеть сильно изменилась.
- Эффект "eval outdegree (density)" значим и отрицателен. Это говорит о том, что акторы не стремятся формировать связи. Если же связи формируются, то они склонны быть взаимными и транзитивными.
- Взаимность "eval reciprocity" значима и положительна. Мы можем с уверенностью сказать, что если Гарри помогает Рону, то и Рон с большой вероятностью будет помогать Гарри.
- Транзитивность "eval transitive ties" тоже значима и положительна. Это значит, что если Гермиона помогает Гарри, а Гарри помогает Рону, то в один прекрасный день Гермиона начнет помогать Рону.
- Эффект схожести по курсу обучения "eval school year similarity" оказывается незначимым. То есть ребята с других курсов мало помогают друг другу в учебе. Эффекты, связанные с полом "eval gender alter", "eval gender ego" и "eval gender similarity", оказываются незначимыми. То есть поведение мальчиков и девочек в сети помощи не имеет значимых различий. Кроме того, мы не наблюдаем сегрегации по полу. Иными словами, и юноши, и девушки в одинаковой степени помогают друг другу, нет явных тенденций.
- Наконец, эффект факультета "eval same house" также оказывается незначимым. С одной стороны это удивительный результат, так как по логике книги учащиеся из одного факультета гораздо чаще общаются между собой и обычно вместе работают над заданиями. Однако в нашу выборку практически не входит конкретная информация о том, сколько кто и кому помогал на факультете Слизерина. Так что незначимая оценка эффекта может быть связана с тем, что мы полностью сконцентрированы на Гриффиндоре и в данных нет достаточной вариации.
Ограничения САОМ
Хотя САО модели и стали сегодня крайне популярны в сетевом анализе, не стоит забывать и об ограничениях данного метода. Во-первых, в рассматриваемой социальной сети должны происходить изменения, но они не должны быть очень существенными. Коэффициент Жаккара для двух сетей должен быть в интервале от 0,3 до 0,6. То есть с помощью RSiena нельзя моделировать ни формирование сети с нуля, ни очень незначительные изменения в сети. Во-вторых, размер социальной сети не должен превышать 2-3 сотен вершин. В большинстве эмпирических работ, сделанных в RSiena, размер соцсетей и вовсе не превышает даже ста вершин. В-третьих, социальные связи не должны быть единичными «событиями», это должны быть регулярные взаимоотношения. То есть, моделируя социальную сеть общения в Твиттере, в качестве единичного наблюдения нельзя брать один единственный ретвитт.
По этим причинам, в большинстве своем исследования с использованием САОМ проводятся на данных о дружбе и помощи учащихся, а также на данных о взаимодействиях сотрудников организаций. Ну или на данных о школах волшебников!
Комментариев нет:
Отправить комментарий