이번 포스트에서는 네트워크 데이터 분석의 기초가 되는 개념들을 다뤄보겠습니다.
1. 그래프의 구성 요소
네트워크 데이터란 두 관측치 사이의 연결성을 나타내는 데이터로, 그래프의 형태로 표현됩니다.
그래프는 N개의 노드 (node) 와 노드들을 잇는 edge들로 정의할 수 있습니다. 앞으로 (
네트워크의 edge는 방향성이 있는 경우 (directed)와 방향성이 없는 경우 (undirected)로 나뉩니다. Undirected graph의 edge (
또한, 네트워크는 unweighted network와 weighted network로 나뉠 수 있습니다. Weighted network의 edge (

2. 특별한 네트워크들
네트워크는 형태와 특징에 따라 여러 종류로 나뉘지만, 여기서는 간단하게 두 가지의 특별한 네트워크를 생각해보겠습니다.
2 - 1. Bipartite network
Bipartite network에는 서로 다른 두 그룹의 node들이 존해하고, edge는 서로 다른 그룹에 속한 두 node 사이에서만 정의됩니다. 이러한 네트워크의 예시로는 학생들과 학생들이 수강하는 강의들이 있습니다.

2 - 2. Complete network
Complete network는 각 node가 다른 모든 node에 연결되어있는 그래프입니다. 즉, node가 주어졌을 때, 달성 가능한 최대의 edge의 개수를 가지고 있는 network입니다. Complete network를 기준으로 네트워크의 다양한 measurement가 정의될 수 있기 때문에 중요합니다.

3. 네트워크의 기본 개념들
앞으로
그러면 undirected graph에서 만들어질 수 있는 최대의 edge의 개수는
3 - 1. Density
네트워크의 밀도 (density)는 다음과 같이 정의합니다.
즉, 네트워크의 edge의 개수와 최대로 달성 가능한 edge의 개수의 비율입니다.
보통
Directed graph의 경우는 최대로 얻을 수 있는 edge의 개수가
따라서, directed graph의 density는 다음과 같습니다.
3 - 2. Subnetwork
Subnetwork는 주어진 network의 노드의 부분집합과 이 부분집합 사이의 edge들로 정의됩니다. 말 그대로 주워진 네트워크의 일부분입니다.
Clique는 complete한 subnetwork입니다.

3 - 3. Degree
노드
Directed network에서 degree는 두 가지로 정의됩니다.
노드
3 - 4. Strength
Weighted network에서는 strength를 다음과 같이 정의할 수 있습니다.
즉, degree의 weighted sum이라고 볼 수 있습니다.
Weighted directed network에서는 strength가 두 가지로 정의됩니다.
in-strength:
out-strength:
3 - 5. Average degree
네트워크의 평균 degree는 다음과 같이 정의됩니다.
위에서 살펴본 개념들을 종합하면 average degree에 대해 다음과 같은 관계식을 얻을 수 있습니다.
따라서, degree는 다음과 같이 자연스럽게 average degree로 표현됩니다.
3 - 6. Multilayer network
네트워크는 여러개의 layer를 가질 수 있습니다. Layer는 네트워크가 정의 되는 또 다른 공간이라고 보시면 됩니다.
예를 들어, 하나의 layer엔 유저들의 페이스북 친구 관계 network을 나타내고, 다른 layer에는 유저들의 인스타그램 팔로우 network를 정의할 수 있습니다.
이 경우, interlayer link 또는 interlayer edge는 같은 layer 안에서 정의되는 edge이고, interlayer link 또는 interlayer edge는 서로 다른 layer 사이에 걸쳐서 연결된 edge를 의미합니다.
각각의 layer에 있는 node들이 동일한 경우, 이 네트워크를 multiplex라고 부릅니다.
Multiplex의 예로는 temporal network가 있습니다. 이 경우, 각 layer는 시간에 흐름에 따라 찍힌 네트워크의 snapshot이라고 이해하시면 됩니다.

4. 앞으로의 가정들 (assumptions)
1. single-layer 네트워크만 다루도록 하겠습니다.
2. 네트워크에 self-loop는 없습니다. 즉, 한 노드에서 같은 노드로 가는 edge는 존재하지 않습니다.
3. 노드와 노드 사이에는 최대 1개의 edge만 존재합니다. 물론, directed graph에서는

5. 네트워크의 표현 (representations)
5 - 1. Adjacency matrix
Adjacency matrix는

(1) 행렬의 대각선은 모두 0 이다. (self-loop이 없기 때문)
(2) Undirected network에서 adjacency matrix는 대칭이다. (
(3) Undirected network면, 주어진 node
(4) Directed network이면, adjacency matrix는 대칭이 아닐 수도 있다.
(5)
(6)

5 - 2. Adjacency list
Adjacency matrix의 경우,
Adjacency list는 각 노드의 이웃 (neighbor)을 리스트를 저장하는 형태입니다. 따라서, undirected network라면, 각 edge는 2번 기록됩니다. 만약 weighted network라면 각 노드의 이웃은 ( neighbor, weight)의 쌍으로 대체됩니다.
5 - 3. Edge list
Edge list는 말 그대로 연결된 노드들의 pair를 저장하는 방식입니다. Weighted network라면 각 pair는


