2025-01-22 graphs lecture 1

Data

2025-01-22

0. Intro/Class Overview

Signal processing vibes

No textbook, based on research

Syllabus

3 homeworks 20% each (see syllabus on Canvas)

1. Basics

see [[Lecture 1.pdf]]

Today

  • Why data science and why large scale graphs?
  • What are graphs/graph signals?
  • How do graphs and graph signals interact with each other?
    • Graph diffusion processes
  • adjacency matrix and laplacian
  • Total variation energy on graphs
  • Canonical frequencies and oscillation models

Question

What is graph data science?

Examples of Graph Data

  • Road networks (graph is the structure of then data: data is "on top" of the graph)
  • Network / partially complete network (graph and data are entangled)
  • Molecules (graph itself is the datapoint)

Question

Why large scale graphs?

Example

Genome sequencing using graphs.

  • lots of tiny pieces of dna sections
  • Want to find a path through all of them that makes sense
  • edge when there is any overlap
Graph

A graph is a triplet G=(V,E,W) where

  • V={1,…,n},|V|=n vertex set
  • E⊆V×V edge set
  • W:E→R weight function

(see graph)

Undirected

A graph G is undirected if for all (i,j)∈E we have W(i,j)=W(j,i). Otherwise, it is directed

(see undirected graph)

Unweighted

A graph G is unweighted if W:E→{0,1} where

  • 0 corresponds to no edge
  • 1 corresponds to an edge
    These correspond to a binary relationship between nodes
Example

  • Friendship networks are unweighted
  • Citation networks
  • etc

A graph is weighted if W:E→R

Example

  • Road networks, weights proportional to the lengths (traveling salesman problem)
  • Correlation networks (graph induced by covariance matrix)
  • etc

(see unweighted graph)

Graph Signals

Graph signals are data that exist on a graph G. Data are represented as vectors x∈Rn where xi is the signal value at node i. This is often implicit, but sometimes we will use the notation (G,x).

There are two types of signals:

  • fixed node properties or features are information associated with nodes
    • ex. Nodes belong to group A or group B
  • graph signals (which often implies variability) can be interpreted as variables on the nodes of the graph
    • ex. traffic counts on the roads of minnesota

(see graph signals)

Question

How do we process graph signals? How do signals x interact with the graph G?

We can do this through a network diffusion process

Network Diffusion Process

A network diffusion process is a way to process graph signals. It is a procedure or description of ways to estimate information about a graph using available information and computations.

Example

Suppose we have a graph (see notes on Canvas and add graphic) with labelled nodes. We want to determine the labels of some nodes with unknown label.

Local (node-level) estimation or attributes with limited communications imposed by G.

  • idea: take info from all its neighbors and average their labels
  • x^a=∑Naxj|Na| where Na is the neighborhood (graph) of a.
Example: Signal Forecasting (Traffic Flow)

Suppose G is a directed graph and weighted with ∑jW(i,j)=1 at each node i. ie, W(i,j) is a probability of moving from i to j. If xi(t) is the traffic at time t, how do we estimate xi(t+1)?

Define Niin={j∈V:(j,i)∈E} and Niout={j∈V:(i,j)∈E}.

We can estimate xi(t+1) as $$\hat{x}{i}(t+1) = \sum^\text{in}}W(j,i) x_{j}(t)$$

  • We assume that all traffic at node i leaves ie xi(t)=∑NioutW(i,j)xi(t)

(see network diffusion process)

Neighbors

The neighborhood of node a is the set

Na={j∈V s.t. (a,j)∈E}

(see neighborhood (graph))

Diffusion processes are local to each node and we represent them locally above.

Adjacency Matrix

The adjacency matrix for a graph G is defined as

Aij={W(j,i) if (j,i)∈E0 otherwise

++++ (see notes)
In our above example, x(t+1) can be expressed as a function of x(t)∈Rn as
x(t+1)=Ax(t)

[Ax(t+1)]i=∑j∈VAij⋅x(t)j=∑j∈NiinW(j,i)⋅x(t)j
Graph Shift Opterator

We can define more general diffusion processes by defining the matrix S∈Rn×n such that

Sij≠0⟺(i,j)∈E

(can only equal 0 along the diagonal?)

This matrix is called the graph shift operator (GSO). We way z=Sx is a (graph) "shift" or diffusion of x by S.

Most common are adjacency matrix and laplacian
We don't really use 5,6,7 for directed graphs

We can always recover the local implementations:

zi=∑jSijxj=∑j∈NiSijxj

(see graph shift operator)

Examples of Graph Shift Operators