Betweenness centrality

การวิเคราะห์เครือข่ายเบื้องต้นด้วย Python

Eric Ma

Data Carpentry instructor and author of nxviz package

เส้นทางที่สั้นที่สุดทั้งหมด

  • ชุดของเส้นทาง
  • แต่ละเส้นทางคือเส้นทางที่สั้นที่สุดระหว่างคู่โหนดหนึ่งๆ
  • ดำเนินการกับทุกคู่โหนด
การวิเคราะห์เครือข่ายเบื้องต้นด้วย Python

Betweenness centrality

  • นิยาม:

$$\frac{\text{num. shortest paths through node}}{\text{all possible shortest paths}}$$

  • การประยุกต์ใช้:
    • สะพานเชื่อมระหว่างผู้ใช้ Twitter ที่มีแนวคิดเสรีนิยมและอนุรักษนิยม
    • ลิงก์การถ่ายโอนข้อมูลสำคัญ
การวิเคราะห์เครือข่ายเบื้องต้นด้วย Python

ตัวอย่าง

  • สิงคโปร์: Raffles Place และ Jurong East

แผนที่ระบบรถไฟฟ้าใต้ดินสิงคโปร์

1 Source: https://www.seacitymaps.com/singapore/singapore_mrt_map.jpg
การวิเคราะห์เครือข่ายเบื้องต้นด้วย Python

ตัวอย่าง

  • Betweenness centrality สูง แต่ degree centrality ต่ำ?

กราฟบาร์เบล ประกอบด้วยสองกลุ่มโหนดที่มีการเชื่อมต่อกันภายในกลุ่มมาก โดยสองกลุ่มนี้มีเพียงเส้นทางเดียวที่เชื่อมถึงกัน

การวิเคราะห์เครือข่ายเบื้องต้นด้วย Python

Betweenness centrality

import networkx as nx
G = nx.barbell_graph(m1=5, m2=1)

nx.betweenness_centrality(G)
{0: 0.0,
 1: 0.0,
 2: 0.0,
 3: 0.0,
 4: 0.5333333333333333,
 5: 0.5555555555555556,
 6: 0.5333333333333333,
 7: 0.0,
 8: 0.0,
 9: 0.0,
 10: 0.0}

กราฟบาร์เบลเดิม

การวิเคราะห์เครือข่ายเบื้องต้นด้วย Python

Betweenness centrality

import networkx as nx
G = nx.barbell_graph(m1=5, m2=1)

nx.betweenness_centrality(G)
{0: 0.0,
 1: 0.0,
 2: 0.0,
 3: 0.0,
 4: 0.5333333333333333,
 5: 0.5555555555555556,
 6: 0.5333333333333333,
 7: 0.0,
 8: 0.0,
 9: 0.0,
 10: 0.0}

กราฟบาร์เบลเดิม โดยมีการไฮไลต์โหนดบนเส้นทางที่เชื่อมระหว่างสองกลุ่ม

การวิเคราะห์เครือข่ายเบื้องต้นด้วย Python

มาฝึกกันเถอะ!

การวิเคราะห์เครือข่ายเบื้องต้นด้วย Python

Preparing Video For Download...