В пакете ergm в R, если я хочу симулировать графы с гомофилией / кластеризацией, в какую симулированную сеть мне следует вводить? - PullRequest
0 голосов
/ 07 июня 2018

В пакетах ergm и latentnet они позволяют нам вводить сеть и указывать ковариаты.Затем мы можем добавить такие эффекты, как гомофилия и кластеризация (в пакете latentnet).Кажется, здесь есть две ветви приложений:

1) Имеют существующие данные / сеть и хотят посмотреть, как они работают и насколько гомофильно существует кластеризация.

2) НЕ имеютсуществующие данные, и мы хотим с нуля генерировать сеть, в которой достаточно гомофилии и кластеризации по нашему вкусу.

Все примеры в вышеприведенных пакетах работают с существующим набором данных samplike, который является данными Sampson Monk.В случае, если меня интересует исключительно создание сети с заданным количеством гомофилий и кластеризации, какую входную сеть я должен добавить ?Например, из кода адаптированного :

library(ergm)
library(latentnet)
test.net = as.network(matrix(0,100,100), directed = F) #100-node network
test.net%v%"gender" = rbinom(100, size = 1, prob = 0.5) #nodal attribute
gest <- ergmm(test.net ~ euclidean(d=3,G=10) + nodematch("gender")
g.sim <- simulate(gest)
plot(g.sim, vertex.col = as.numeric(test.net%v%"gender"), vertex.cex = 2)

Если я хочу симулировать сети с кластеризацией, следует ли мне начинать с объекта test.net, который уже имеет 10 кластеров (например, сстохастическая блочная модель)?Или я должен начать с сети из 100 узлов?

1 Ответ

0 голосов
/ 21 февраля 2019

В ergm вы начнете с сети из 100 узлов без ребер.Например:

library(ergm)

test.net <- network(40, directed = FALSE, density = 0)
test.net%v%"gender" = rbinom(40, size = 1, prob = 0.5)

g.sim <- ergm::simulate(test.net ~ nodematch("gender") + edges,
         coef = c(2, -3)) #when using ergm::simulate with a formula as input,
                          #coefficients for ergm terms are required

plot(g.sim, vertex.col = as.numeric(test.net%v%"gender"))

Глядя на документацию для latentnet, кажется, что она должна работать аналогично, но я не могу заставить ее сгенерировать симулированную сеть.

...