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
  • EV×V edge set
  • W:ER 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:ER

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 xRn 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={jV:(j,i)E} and Niout={jV:(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={jV 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=jVAijx(t)j=jNiinW(j,i)x(t)j
Graph Shift Opterator

We can define more general diffusion processes by defining the matrix SRn×n such that

Sij0(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=jNiSijxj

(see graph shift operator)

Examples of Graph Shift Operators