Randomizări de rețele

Analiza rețelelor în R

James Curley

Associate Professor, University of Texas at Austin

Grafuri aleatoare

erdos.renyi.game(n = gorder(g), p.or.m = edge_density(g), type = "gnp")
Analiza rețelelor în R

Grafuri aleatoare și teste de randomizare

  1. Generați 1000 de grafuri aleatoare pe baza rețelei originale - ex. cu același număr de noduri și densitate aproximativă.

  2. Calculați lungimea medie a căii în rețeaua originală.

  3. Calculați lungimea medie a căii în cele 1000 de rețele aleatoare.

  4. Determinați câte rețele aleatoare au o lungime medie a căii mai mare sau mai mică decât cea a rețelei originale.

Analiza rețelelor în R

Generați 1000 de grafuri aleatoare:

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"
                     ) 
}

Calculați lungimea medie a căii pentru 1000 de grafuri aleatoare:

gl.apls <- unlist(
  lapply(gl, mean_distance, directed = FALSE) 
)
Analiza rețelelor în R

Comparație cu rețeaua originală

hist(gl.apls, breaks = 20)

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

Analiza rețelelor în R

Să exersăm!

Analiza rețelelor în R

Preparing Video For Download...