У нас часто спрашивают, с чего начать знакомство с социальными сетями. Какие книги и статьи прочитать, в каких программах работать с сетевыми данными, какие курсы пройти? Наконец, мы собрали все наши ответы в одном месте. Что читать? О
социальных сетях сегодня написано много вводных работ и книг. Часть из них
написана социологами, часть – информатиками и физиками.
Книга Кристины Прелл "Анализ социальных сетей. История, теория и методология". Источник изображения.
Что смотреть?
На
платформах онлайн-курсов предлагается большое количество курсов по сетевому анализу. Например, в курсе «Прикладной
сетевой анализ на языке Питон» рассказываются базовые вещи про социальные
сети, а то, как их с ними работать, показывается в пакете networkXв Python. Кстати, недавно мы уже писали, как работать в этом пакете, используя в качестве примера сеть из Facebook.
Большой
популярностью также пользуется курс на Курсере «Социальные и
экономические сети», в котором Мэттью Джексон рассказывает о
структуре социальных и экономических сетей, об играх в сетях и о многом другом. Надо
сказать, что хотя курс и записан достаточно давно, каждую сессию он набирает большое число слушателей.
На
русском языке о социальных сетях можно посмотреть курс и порешать задачи от Леонида Жукова.
Так как курс рассчитан не на широкую аудиторию, а на студентов факультета
компьютерных наук, то некоторые теоретические выкладки и практические задания
могут показаться достаточно сложными.
А в чем анализировать сети?
Для
анализа соцсетей разработано большое количество программ. Самые простые из
них – UCINET, ORA, Pajek и Gephi, для их использования необязательно
владеть навыками программирования. Первые две программы распространяются по
лицензии, а Pajekи
Gephi–
бесплатные.
Более детально проанализировать
данные можно статистической среде R. Для расчета базовой
описательной статистики в R можно использовать пакеты sna, igraph, network. Для построения
статистических моделей сетей будут полезны пакеты statnet, ergm и Rsiena. Для работы с сетями в Python можно использовать пакеты igraph, networkXи graphtool. Мы также писали в этом блоге, как можно анализировать динамические сети в R на примере дружеских связей из книг о Гарри Поттере. И это еще не все. Множество разнообразных сетевых ресурсов обо всем на свете можно найти на сайте "Потрясающий сетевой анализ".
Часто
информацию о специальных выпусках журналов, предстоящих конференциях и летних
школах и технических особенностях работы программного обеспечения не так просто
найти. Удобный способ быть в курсе - это получать специализированные рассылки.
В этом посте мы расскажем о пяти ресурсах, благодаря которым можно узнавать про
самые горячие обсуждения в сетевом анализе.
1.Socnet Подписаться можно по этой ссылке. Socnet– это рассылка ассоциации сетевых
исследований INSNA,
посвященная очень широкому кругу сетевых вопросов. В этой рассылке можно
найти вакансии, анонсы конференций и воркшопов, приглашения к публикации в
специальных выпусках журналов. Помимо объявлений, в Socnet появляются общие вопросы по поводу литературы в области.
2.Igraph Подписаться можнопо этой ссылке. Здесь обсуждаются
вопросы по работе в пакете igraph. Здесь достаточно много простых
вопросов, и новички смогут найти большое количество информации для работы в этом пакете. На вопросы чаще всего отвечает сам создатель пакета Габор
Ксарди.
3.Statnet Подписаться можно по этой ссылке. В основном, эта рассылка посвящена
пакету statnet
и оценке моделей группы ERGM, однако иногда здесь появляются и общие вопросы по работе с сетевыми данными в среде R. Чаще всего отвечают на вопросы разработчики
пакетов Мартина Моррис и Картер
Баттс.
4.Epimodel Подписаться можно по этой ссылке. Эта рассылка будет интересна и
полезна тем, кто моделирует распространение эпидемий с использованием сетевых
данных в пакете EpiModel.
Большинство вопросов о технических деталях и трудностях, но иногда публикуется информация о летних школах и конференциях. Чаще всего на вопросы отвечает разработчик
пакетов Сэмуэль Дженнис.
5.Stocnet Подписаться можно по этой ссылке. Здесь обсуждаются
вопросы, связанные с моделями группы SAOM (Siena). В основном, в рассылке обсуждают
технические вопросы, но нередко появляется информация о вакансиях, анонсах конференций, воркшопах и летних школах. Чаще всего на вопросы отвечает создатель этой модели Том
Снайдерс.
Сетевой
анализ, несомненно, очень популярен при
изучении организаций, потому что они
будто и созданы специально для этого.
Как правило, этим занимаются исследователи
из сферы менеджемента, но также встречаются
и социологи, экономисты, антропологи.
Часто
эти исследователи интересуются тем,
как устроены неформальные сети в
организации, к примеру, сети дружбы,
помощи, доверия. Какие сетевые сообщества
выстраиваются на основе этих неформальных
сетей и как они коррелируют с формальными
организационными структурами? Какое
место в сети занимают определенные
сотрудники, кто звезда, брокер, а кто —
изолят? Как происходит передача информации
по неформальным сетям? Это основные
вопросы для исследователей из этой
области. Однако ключевой вопрос, конечно,
- это как сделать работу в организациях
более продуктивной и комфортной.
Сплетни
и слухи в организациях
Одна
из работ про сети в организациях, которая
нам кажется любопытной, — это
работа Леи Эллвардт, Кристиана
Штиглиха и Рафаэля Виттека «Коэволюция
сплетен и дружбы в социальных сетях на
работе». В ней изучаются мультисети,
которые в последнее время стали «горячей
темой». К примеру, совсем недавно
вышел специальный
номер про мультисети в Social
Networks.
Мультисети
— это несколько типов взаимоотношений
между одними и теми же акторами, которые
происходят одновременно. Изменение в
одной взаимозависимой сети может вызвать
изменение в другой взаимозависимой
сети, и наоборот. Изучение таких сетей
достаточно сложно, потому что в них всё
связано со всем. Сами Эллвардт и ее
коллеги пишут, что их работа — первая,
в которой мультисети изучаются в
динамике.
Сплетни
— достаточно двоякое явление. С одной
стороны, пересказ сплетен какому-либо
человеку — это демонстрация того, что
мы этому человеку доверяем. С другой
стороны, излишняя склонность к ним может
привести к потере дружеских связей. В
целом, сплетни активно включены в любые
дружеские связи, однако Эллвардт с
коллегами пишут, что в организациях
этот вопрос пока недостаточно изучен,
хотя важен для понимания того, как
переходят потоки информации и формируется
коллаборация.
Чтобы
разобраться в этом, они изучают взаимосвязь
и развитие сетей дружбы и сплетен в
одной голландской некоммерческой
организации. Это компания достаточно
мала по количеству сотрудников, что как
раз хорошо для того, чтобы между людьми
были плотные связи и большинство из них
знали друг друга. В течение года они
проводили опрос 3 раза, в каждой из волн
приняли участие около 30 сотрудников.
Исследователи
избегали называть сплетни «сплетнями»,
потому что было показано, что это слово
имеет негативные коннотации и респонденты
склонны врать при такой формулировке.
Поэтому они спрашивали про такое
поведение более абстрактно: участвовали
ли сотрудники в неформальном оценочном
обсуждении коллег и если да, то с кем из
коллег.
Изображение из работы Ellwardt et al (2012): сети сплетен и дружеских связей в организации и их развитие во времени.
Для
анализа Эллвардт и ее коллеги использовали
акторно-ориентированные модели, про
которые мы уже писали в
посте про Гарри Поттера. Какие же были
результаты?
1.
Сотрудники не склонны сплетничать с
людьми, которых они уже считают своими
друзьями. Видимо, услышать сплетню от
близкого друга — это задуматься о том,
не сплетничает ли друг и о нас?
2.
Сплетничающие коллеги склонны со
временем становиться друзьями. Скорее
всего, передача информации служит
каналом для установления более крепких
связей.
3.
Люди, которые активны в распространении
сплетен, становятся со временем менее
популярными в дружеской сети. Опять же,
сплетничающие люди выглядят опасными
и не все отважатся с ними дружить.
Какой
основной вывод этой работы? Сплетни —
триггер к возникновению дружбы.
Немного
старины
Сплетни
и сопутствующие скандалы-интриги-расследования
заметно бодрят, но иногда хочется отойти
от тревог и окунуться в старину. Не так
давно мы заинтересовались старыми
научно-популярными фильмами. Все началось
с сайта «Медицинские
фильмы в сети», где выложены старые
западные киноленты о самом
разном (например, фильм 1918 года о
пластической хирургии или 1930-х — о
симптомах шизофрении). По ходу дела
вспомнили про один из позднесоветских
фильмов, который, в сущности, про сети
в организациях. Это фильм 1976 года и
называется он «Управление
проектами в СССР».
Из
фильма мы узнаем про СПУ — это «сетевое
планирование и управление», которое
применяется в строительстве, на
производстве и в научно-исследовательских
лабораториях. В основе этой техники
лежит сетевая модель управления
процессами, в которой узлы обозначают
события, а связи — процесс работы. Вся
сеть — это весь процесс производства.
Фильм
интересен тем, что в нем достаточно
просто объясняются некоторые базовые
понятия сетевого анализа. Например,
подробно рассматриваются расстояния
в сети, мы узнаем про замкнутые на себе
и тупиковые события, вероятностные
сети. В фильме подробно разбирается
производство ротора турбины. Звучит
серьезно, но диктор настолько плавно и
убаюкивающее рассказывает про этот
ротор под спокойную музыку, что весь
процесс кажется удивительным чудом,
построенным на хитроумном сплетении
узлов и связей.
Идеальный
объект
В
целом, организации — идеальный объект
для тех, кому интересен сетевой подход.
Здесь мы можем изучать и взаимоотношения
между людьми, и процессы в организациях,
и коллаборации между организациями.
Простор для исследований велик.
В последние годы тема эволюции сети стала одной из основополагающих в сетевом анализе. Основное достоинство динамических исследований в том, что они позволяют понять структуру причинно-следственных связей в сети. Приведем простой пример: двое друзей-подростков любят фаст фуд. В сетевом анализе склонность людей со схожими характеристиками или поведением образовывать между собой связи называется гомофилией. Можно сказать, что между этими подростками наблюдается гомофилия: они оба любят эту еду.
Однако статическая перспектива не позволяет ответить на вопрос о том, каким образом гомофилия формируется. Рассмотрим, как могло так случиться, что наши любители фаст фуда подружились:
1) Каждый из них любил гамбургеры, затем они познакомились и подружились на основе общей любви к этой еде,
2) Оба подростка изначально дружили, и один из них все время ходил в Макдональдс и ел гамбургеры, а его друг постепенно перенял эту привычку. В первом случае речь идет о социальной селекции – выборе друга на основании схожих интересов. Во втором случае – о социальном влиянии – изменении поведения под влиянием поведения друга. Ответить на вопрос о том, что стало первопричиной гомофилии (то есть какой из вариантов развития событий был более реалистичным), можно, рассмотрев динамику социальной сети.
Иллюстрация социального влияния и социальной селекции
Изучение динамики соцсетей позволяет не только разделять селекцию и влияние, но и выявлять ключевые структурные механизмы формирования сетей (например, правда ли, что в этой сети люди формируют связи с друзьями друг друга?), изучать взаимосвязь структурных и не структурных характеристик (правда ли, что популярные пользователи онлайн сетей — это знаменитости, или, наоборот, знаменитости становятся популярными в любой онлайн сети?).
Для изучения эволюции социальной сети все чаще используют стохастическое акторно-ориентированное моделирование (САОМ). Этот метод реализован в пакете RSiena. Предпосылки САОМ достаточно просты – каждый человек понимает свою позицию в социальной системе и меняет свои социальные связи (и поведение) для того, чтобы улучшить эту позицию с течением времени. Например, для улучшения своей позиции в рабочем коллективе сотрудник может пытаться создать хорошие отношения с руководством и коллегами.
Подробнее о методе можно прочитать в обзорной статье (а еще здесь и здесь). По этой ссылке можно ознакомиться с эмпирическими исследованиями, выполненными с использованием САОМ. О том, как работать с пакетом RSiena, подробно написано в мануале.
Если Вы планируете использовать САОМ в своих исследованиях, то стоит подписаться на рассылку пользователей RSiena. Там Вы не только сможете узнать много полезного о САОМ, но и всегда будете в курсе новинок – главный разработчик RSienaТом Снайдерс регулярно сообщает новости о развитии модели и новшествах пакета, размещает информацию о конференциях, воркшопах и вакансиях в сфере социальных сетей.
Немного магии
Разобраться в САОМ лучше всего на примере. Рассмотрим, каким образом происходила эволюция социальной сети помощи по выполнению домашних заданий в Хогвартсе. Для тех, кто не понимает о чем речь, Хогвартс — это магическая школа, в которой учился Гарри Поттер и его друзья из книги Джоан Роулинг. Джоэль Боссаэрт и Надин Маэдерт в своей работе собрали информацию о помощи при подготовке домашних заданий из первых 6 книг о Гарри Поттере. Так как в седьмой книге главные герои не стали посещать школу, информации об обучении в ней почти не было.
Рассмотрим на примере, как была собрана информация о сетях помощи:
"Гарри, Рон и Гермиона сидели у окна — Гермиона проверяла их домашние задания по заклинаниям. Она никогда не давала им списывать, — «Как же вы тогда чему-нибудь научитесь?» — но зато согласилась проверять их домашние работы, и таким образом они все равно узнавали от нее правильные ответы"(Джоан Роулинг, Гарри Поттер и философский камень, гл. 11)
С сетевой точки зрения этот фрагмент можно интерпретировать следующим образом: 1) Гермиона помогает Гарри; 2) Гермиона помогает Рону. Все данные по помощи в «Гарри Поттере» размещены в открытом доступе по ссылке.
В этом посте мы хотим понять, как изменяются сети помощи от второй к четвертой книге. Мы не рассматриваем другие книги, так как это потребовало бы использования процедур по восполнению пропущенных данных (composition change). Со всеми процедурами можно ознакомиться в мануале.
Итак, проводим анализ эволюции социальной сети. Для этого необходимо загрузить пакет RSiena (версия 1.1-289) отсюда. Более ранние версии использовать не рекомендуется.
Potter_01
In [ ]:
# Для работы нам понадобится пакет RSienalibrary(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[ ]:
V1
V2
V3
V4
V5
V6
V7
V8
V9
V10
V55
V56
V57
V58
V59
V60
V61
V62
V63
V64
0
0
0
0
0
0
0
0
0
0
⋯
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
⋯
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
⋯
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
⋯
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
⋯
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
⋯
0
0
0
0
0
0
0
0
0
0
In [ ]:
# Прикрепляем атрибуты участников сети# Это год обучения, пол и факультет
hp.attributes <-as.matrix(read.table("hpattributes.txt", header=TRUE))head(hp.attributes)
Out[ ]:
id
schoolyear
gender
house
1
1989
1
4
2
1989
2
1
3
1989
2
1
4
1991
1
3
5
1991
1
4
6
1989
1
4
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)
Estimates, standard errors and convergence t-ratios
Estimate Standard Convergence
Error t-ratio
1. rate basic rate parameter support 27.9679 ( 6.9952 ) -0.0356
2. eval outdegree (density) -6.9758 ( 0.8677 ) -0.0010
3. eval reciprocity 3.0151 ( 0.7645 ) 0.0032
4. eval transitive ties 3.9098 ( 0.7999 ) 0.0112
5. eval schoolyear similarity -0.2482 ( 0.9284 ) 0.0251
6. eval gender alter -1.8397 ( 2.4986 ) 0.0773
7. eval gender ego -2.3509 ( 2.5949 ) 0.0127
8. eval gender similarity -1.8568 ( 2.4702 ) -0.0557
9. eval same house 0.4713 ( 0.8268 ) 0.0109
Overall maximum convergence ratio: 0.1874. Total of 2160 iteration steps.
После получения результатов первым дело нужно оценить сходимость модели. В настоящий момент она определяется по двум параметрам: 1) общая t-статистика (Overallmaximumconvergenceratio) должна быть меньше 0.25; 2) t-статистики (convergencet-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, размер соцсетей и вовсе не превышает даже ста вершин. В-третьих, социальные связи не должны быть единичными «событиями», это должны быть регулярные взаимоотношения. То есть, моделируя социальную сеть общения в Твиттере, в качестве единичного наблюдения нельзя брать один единственный ретвитт.
По этим причинам, в большинстве своем исследования с использованием САОМ проводятся на данных о дружбе и помощи учащихся, а также на данных о взаимодействиях сотрудников организаций. Ну или на данных о школах волшебников!