Ngẫu nhiên hóa mạng

Phân tích Mạng lưới trong R

James Curley

Associate Professor, University of Texas at Austin

Đồ thị ngẫu nhiên

erdos.renyi.game(n = gorder(g), p.or.m = edge_density(g), type = "gnp")
Phân tích Mạng lưới trong R

Đồ thị ngẫu nhiên & kiểm định ngẫu nhiên hóa

  1. Tạo 1000 đồ thị ngẫu nhiên dựa trên mạng gốc — ví dụ: cùng số đỉnh và mật độ xấp xỉ.

  2. Tính độ dài đường đi trung bình của mạng gốc.

  3. Tính độ dài đường đi trung bình của 1000 mạng ngẫu nhiên.

  4. Xác định có bao nhiêu mạng ngẫu nhiên có độ dài đường đi trung bình lớn hơn hoặc nhỏ hơn so với mạng gốc.

Phân tích Mạng lưới trong R

Tạo 1000 đồ thị ngẫu nhiên:

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

Tính độ dài đường đi trung bình của 1000 đồ thị ngẫu nhiên:

gl.apls <- unlist(
  lapply(gl, mean_distance, directed = FALSE) 
)
Phân tích Mạng lưới trong R

So sánh với mạng gốc

hist(gl.apls, breaks = 20)

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

Phân tích Mạng lưới trong R

Cùng luyện tập nào!

Phân tích Mạng lưới trong R

Preparing Video For Download...