Введение в разности графов

Средний уровень сетевого анализа на Python

Eric Ma

Data Carpentry instructor and author of nxviz package

Анализ временных рядов

ch3-1_v2.003.png

Средний уровень сетевого анализа на Python

Анализ временных рядов

  • Как некоторая величина меняется с течением времени
    • Есть ли восходящий или нисходящий тренд?
  • Скорость изменения показателей в скользящем временном окне
  • Примеры:
    • Отслеживание веса с течением времени
    • Отслеживание стоимости инвестиционного портфеля
Средний уровень сетевого анализа на Python

Эволюционирующие графы

  • Графы, изменяющиеся со временем: коммуникационные сети
  • Допущения:
    • Рёбра меняются, узлы остаются постоянными
    • Меняются и рёбра, и узлы
Средний уровень сетевого анализа на Python

Разности графов

  • Граф состоит из:
    • Множества узлов
    • Множества рёбер
  • Если множество узлов не меняется:
    • Изменение множества рёбер приведёт к изменению графа
Средний уровень сетевого анализа на Python

Разности графов

  • Аналогия: разности множеств

ch3-1_v2.026.png

  • В NetworkX: функция .difference(G1, G2)
    • Предполагает, что G1 и G2 имеют одинаковые множества узлов
Средний уровень сетевого анализа на Python

Разности графов в Python

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

G1minusG2 = nx.difference(G1, G2)
Средний уровень сетевого анализа на Python

Давайте потренируемся!

Средний уровень сетевого анализа на Python

Preparing Video For Download...