Randomizações de redes

Network Analysis in R

James Curley

Associate Professor, University of Texas at Austin

Grafos aleatórios

erdos.renyi.game(n = gorder(g), p.or.m = edge_density(g), type = "gnp")
Network Analysis in R

Grafos aleatórios e testes de randomização

  1. Gere 1000 grafos aleatórios a partir da rede original — por exemplo, com o mesmo número de vértices e densidade aproximada.

  2. Calcule o comprimento médio de caminho da rede original.

  3. Calcule o comprimento médio de caminho das 1000 redes aleatórias.

  4. Determine quantas redes aleatórias têm comprimento médio de caminho maior ou menor que o da rede original.

Network Analysis in R

Gerar 1000 grafos aleatórios:

gl <- vector('list',1000)

for(i in 1:1000){
    gl[[i]] <- erdos.renyi.game(
                    n = gorder(g), 
                    p.or.m = edge_density(g), 
                    type = "gnp"
                     ) 
}

Calcular o comprimento médio de caminho dos 1000 grafos aleatórios:

gl.apls <- unlist(
  lapply(gl, mean_distance, directed = FALSE) 
)
Network Analysis in R

Comparando com a rede original

hist(gl.apls, breaks = 20)

abline(
  v = mean_distance(
    g, directed=FALSE
    ),
      col = "red", 
      lty = 3, 
      lwd = 2
)

Network Analysis in R

Vamos praticar!

Network Analysis in R

Preparing Video For Download...