Randomizacje sieci

Analiza sieci w R

James Curley

Associate Professor, University of Texas at Austin

Grafy losowe

erdos.renyi.game(n = gorder(g), p.or.m = edge_density(g), type = "gnp")
Analiza sieci w R

Grafy losowe i testy randomizacyjne

  1. Wygeneruj 1000 losowych grafów na podstawie oryginalnej sieci - np. z tą samą liczbą wierzchołków i przybliżoną gęstością.

  2. Oblicz średnią długość ścieżki oryginalnej sieci.

  3. Oblicz średnią długość ścieżki 1000 losowych sieci.

  4. Określ, ile losowych sieci ma średnią długość ścieżki większą lub mniejszą niż oryginalna sieć.

Analiza sieci w R

Generowanie 1000 losowych grafów:

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

Obliczanie średniej długości ścieżki dla 1000 losowych grafów:

gl.apls <- unlist(
  lapply(gl, mean_distance, directed = FALSE) 
)
Analiza sieci w R

Porównanie z oryginalną siecią

hist(gl.apls, breaks = 20)

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

Analiza sieci w R

Czas na ćwiczenia!

Analiza sieci w R

Preparing Video For Download...