Wprowadzenie do różnic grafów

Analiza sieci w Pythonie – poziom średniozaawansowany

Eric Ma

Data Carpentry instructor and author of nxviz package

Analiza szeregów czasowych

ch3-1_v2.003.png

Analiza sieci w Pythonie – poziom średniozaawansowany

Analiza szeregów czasowych

  • Jak dana wartość zmienia się w czasie
    • Czy występuje trend rosnący czy malejący?
  • Tempo zmian w przesuwającym się oknie czasowym
  • Przykłady:
    • Śledzenie masy ciała w czasie
    • Śledzenie wartości portfela inwestycyjnego w czasie
Analiza sieci w Pythonie – poziom średniozaawansowany

Grafy ewoluujące

  • Grafy zmieniające się w czasie: sieci komunikacyjne
  • Założenia:
    • Krawędzie zmieniają się w czasie; węzły pozostają stałe
    • Zarówno krawędzie, jak i węzły zmieniają się w czasie
Analiza sieci w Pythonie – poziom średniozaawansowany

Różnice grafów

  • Graf składa się z:
    • Zbioru węzłów
    • Zbioru krawędzi
  • Jeśli zbiór węzłów nie zmienia się:
    • Zmiana tylko zbioru krawędzi powoduje zmianę grafu
Analiza sieci w Pythonie – poziom średniozaawansowany

Różnice grafów

  • Analogia: różnice zbiorów

ch3-1_v2.026.png

  • W NetworkX: funkcja .difference(G1, G2)
    • Zakłada, że G1 i G2 mają równe zbiory węzłów
Analiza sieci w Pythonie – poziom średniozaawansowany

Różnice grafów w Pythonie

list(G1.edges())
[('cust1', 'cust2'), ('cust3', 'cust2')]
list(G2.edges())
[('cust1', 'cust3'), ('cust3', 'cust2')]
G2minusG1 = nx.difference(G2, G1)

G1minusG2 = nx.difference(G1, G2)
Analiza sieci w Pythonie – poziom średniozaawansowany

Czas na ćwiczenia!

Analiza sieci w Pythonie – poziom średniozaawansowany

Preparing Video For Download...