들어가며
네트워크 분석(Network Analysis)은 개체(노드)와 이들 사이의 관계(링크)로 구성된 네트워크를 수학적으로 표현하고 시각화하여 패턴, 구조, 동작 원리를 이해하는 방법론
'네트워크 분석이란 무엇인가?' 라는 질문에 대해 설명을 하기 위해서는 '네트워크'란 무엇인지에 대해 먼저 살펴보아야 합니다.
네트워크의 사전적 정의와 개념
네트워크(Network)는 "서로 연결된 개체들의 집합"으로 정의됩니다. 이는 사람, 사물, 조직, 컴퓨터 등 다양한 개체들 간의 연결과 관계를 포괄하는 개념입니다. 어원적으로 "망(net)"과 "작업(work)"을 결합한 단어로, 개체들이 특정한 방식으로 얽혀 있다는 의미를 담고 있습니다.
분야에 따라서 네트워크는 여러가지 의미를 가지고 있지만, 전체를 공통적으로 관통하고 있는 키워드는 '연결'이라는 것을 알 수 있습니다. 네트워크는 단순히 개체 간의 연결을 의미하는 것을 넘어, 이 연결에서 발생하는 구조, 상호작용, 정보 흐름 등을 포괄적으로 설명하는 체계라고 할 수 있습니다.
그럼 네트워크는 어떻게 표현할 수 있을까요? 개체 간의 관계 패턴에 대한 정보를 표현하기 위하여 그래프(graph)와 행렬(matrix)라는 두 종류의 도구를 빌려와 활용하고 있습니다.
- 그래프는 네트워크를 시각화하여 직관적으로 이해하는데 도움을 줄 수 있는 한편,
- 매트릭스는 네트워크를 수학적으로 표현하여 다양한 분석을 가능하게 합니다.
네트워크의 두 가지 주요 구성 요소
우리는 위 그림에서 '두 개의 점이 존재하고, 그 두 개의 점이 선으로 연결되어 있다'는 사실을 한 눈에 알 수 있습니다. 앞서 이야기한 것처럼 네트워크를 그래프로 시각화하면 구조에 대한 강력한 시각적 설명력을 제공합니다.
- Node (Vertex, Point): 네트워크를 구성하는 점, 즉 하나의 개체를 의미
- Link (Edge, Arc): 노드들 사이를 연결하고 있는 관계를 의미
분석하고자 하는 대상의 특성에 따라, 또는 분석자의 의도에 따라 노드와 링크가 의미하는 바는 항상 변동될 수 있습니다. 예를 들어, 사회적 네트워크(Social Network) 분석에서 노드는 사람, 링크는 사람 사이의 친밀도가 될 수 있습니다. 이러한 그래프를 소시오그램(sociogram)이라고 부르기도 합니다(Moreno, 1934).
Node 관계의 특성
가장 기초적인 단순한 형태의 네트워크를 그래프를 통해 살펴보았지만, 우리가 앞으로 다루게 될 네트워크는 훨씬 많은 수의 노드와 링크가 존재하는 복잡도가 높은 형태일 것입니다. 다시 말하자면, 노드 관계의 특성을 어떻게 정의하느냐에 따라 다양한 유형의 네트워크가 존재합니다. 이를 제대로 이해하기 위해서는 '방향성'과 '가중치'에 대한 개념을 먼저 이해해야 합니다. 네트워크에의 관계는 항상 쌍방향으로 형성되지는 않습니다. 다음의 그림을 통해서 '방향성'에 대한 개념을 살펴보도록 하겠습니다. 먼저 '방향성이 없는 관계'를 살펴보도록 하겠습니다.
노드 A와 노드 B가 존재할 때, 두 노드 사이에서 상호간에 동일하게 발생하는 관계가 존재하는 한편 노드 A에서 노드 B로 향하는 것처럼 한 쪽 방향으로만 발생하는 관계가 존재하기도 합니다. 우리는 전자를 '방향성이 없는(undirect) 관계', 후자의 경우를 '방향성이 있는(direct) 관계'라고 표현합니다.
위의 그림이 대표적인 방향성이 없는 네트워크라고 할 수 있습니다. 왼쪽 그래프를 기준으로 작성된 오른쪽의 매트릭스를 보면, 행렬을 구성하는 각 셀 값들은 노드들 사이의 관계를 수치로 표현한 값으로, '가중치(weight)'를 의미합니다. 방향성이 없는 네트워크에서는 노드들 간의 관계가 존재하는지의 유/무로만 분류되기 때문에 이진 형태(binary)로 표현합니다. 결국 왼쪽 그래프에서 자기 자신 노드에게는 선이 연결되어 있지 않으므로 모두 가중치가 0으로 표현되어 있으며, 상호 동일한 방향성을 가지면서 연결된 노드들끼리는 방향에 관계없이 (A ⇒ B임과 동시에 B ⇒ A) 모두 1로 표현되어 있습니다. 따라서 가중치가 없는 관계라고 할 수 있습니다. 오른쪽 매트릭스로 돌아가서, 대각선을 기준으로 좌우가 대칭된 값으로 표현된 것을 확인할 수 있습니다. 이로인해 우리는 방향성이 없는 네트워크를 대칭 관계(Symmetric Relationship)라고 합니다. 그렇다면 이번에는 반대의 경우, 즉 방향성과 가중치가 있는 네트워크 관계에 대해 살펴보도록 하겠습니다.
위의 그림이 대표적인 방향성과 가중치가 있는 네트워크라고 할 수 있습니다. 왼쪽 그래프를 기준으로 작성된 오른쪽의 매트릭스를 보면 각 셀을 구성하는 값들이 0과 1만이 아닌 다른 값들도 존재함을 확인할 수 있습니다. 이를 통해 '가중치'라는 개념도 함께 살펴보겠습니다. 먼저 왼쪽 그래프를 보면, 노드들의 관계를 표현하는 링크가 각각 다른 방향으로 화살표가 그려져 있으며, 화살표와 함께 표기되어 있는 수치 또한 다름을 알 수 있습니다. Node A가 Node B에 영향을 주는 정도가 '1'이라면, Node B가 Node A에 영향을 주는 정도는 '2'라고 해석할 수 있습니다. 이를 우리는 방향성에 따른 '가중치'라고 표현합니다. 앞서 살펴본 방향성이 없는 네트워크와는 다르게 방향성과 가중치가 있는 네트워크는 오른쪽의 매트릭스가 대칭적이지 않음을 알 수 있습니다. 따라서 비대칭 관계(Asymmetric Relationship)이라고 표현합니다.
특이하게도, 방향성이 있는 네트워크에서는 스스로에게 향하는 링크도 존재할 수 있습니다. 위 그림에서 자기 자신에게 방향성을 가지면서 3의 가중치 값을 가지는 Node D가 바로 그 유형입니다. 이를 자가 루프(Self-Loop)라고 표현합니다.
네트워크 데이터의 표현
우리는 앞서 방향성과 가중치를 이해하기 위해 네트워크 데이터의 표현 형태인 그래프와 매트릭스를 살펴보았습니다. 네트워크 데이터는 기존의 데이터 구조(data structure)와는 데이터를 표현 하는 방법이 다릅니다. 일반적인 데이터 구조는 아래 표와 같이 각 개인을 나타내는 행과 속성을 나타내는 열로 구성하는 것이 일반적입니다.
ID | Gender | Age |
A | Male | 33 |
B | Female | 22 |
C | Female | 27 |
하지만, 네트워크 관점에서는 개인의 속성 보다는 개인의 관계에 초점을 두고 있기 때문에 행과 열에 개인(Node)을 배열하는 구조를 갖게 됩니다. 또한 행렬 구조를 표현할 때 앞서 살펴본 바와 같이 관계의 존재 유무를 의미할 수도 있으며, 가중치를 적용하여 표현하기도 합니다. 네트워크를 표현하는 또 다른 방법으로는 '에지 리스트(Edge List)'라는 것이 있습니다. 이름에서 알 수 있듯이 네트워크를 구성하는 주요 구성 요소 중 하나인 에지를 리스트의 형태로 표현한 것입니다. 이 또한 가중치를 추가하여 데이터를 표현할 수 있습니다.
네트워크의 특징을 나타내는 개념들
네트워크 분석 시에는 다양한 종류의 네트워크를 그려보게 됩니다. 시각화된 네트워크 즉, 그래프를 보았을 때 우리는 서로 다른 생김새를 가진 네트워크임을 분명히 알 수 있을 겁니다. 그렇다면 구체적으로 그 다름(difference)을 어떻게 수치화하여 표현할 수 있을까요?
1. 노드의 개수
노드가 많을 수록 더 크고 복잡한 네트워크임에 틀림없습니다.
2. 연결의 개수
연결이 많을 수록 네트워크는 더 끈끈하게 연결되어 있을 것입니다.
3. 밀도(density)
네트워크의 노드 수가 정해지면 이 노드들이 이론적으로 연결될 수 있는 총 연결 수를 계산할 수 있습니다. 이 값을 분모로 하고, 실제 네트워크에서 노드 간의 연결 수를 분자로 한 값입니다. 당연히 밀도가 높으면 많은 노드들이 연결되어 있을 것이므로 더 깊고 끈끈한 네트워크라고 볼 수 있습니다. 위의 경우 두 네트워크의 노드 수가 다르기 때문에 시각적으로 판단하기는 어렵지만 얼핏 봤을 때 왼쪽 그래프가 오른쪽 그래프보다 밀도가 더 높아 보입니다.
4. 연결 수 평균
각 노드들은 저 마다 몇 개의 다른 노드들과 연결되어 있을 것입니다. 노드들이 다른 노드와 평균적으로 몇 개 씩 연결되어 있는지를 의미하는 개념입니다.
5. 클러스터 계수(clustering coefficient)
각각의 노드들이 서로 뭉치는 경향을 알 수 있는 한 척도입니다. 네트워크를 구성하는 많은 노드들 중에서 인접하는 세 개의 노드가 아래 그림과 같이 모두 연결되어 있을 수도 있고, 한 편 어느 한 지점이 끊어져 있을 수도 있습니다. 클러스터 계수는 이처럼 인접하는 노드들 간의 관계 정도를 의미하는 수치입니다. 추이성(transitivity)이라고도 부릅니다.
위 그림에서 왼쪽 그래프와 오른쪽 그래프 모두 3개의 노드로 구성된 세 노드쌍(triplet)을 하나씩 가지고 있습니다. 여기서 왼쪽 네트워크는 에지가 2개이기 때문에 열린 노드쌍(open triplet)이고, 오른쪽 네트워크는 에지가 3개이기 때문에 닫힌 노드쌍(closed triplet)이라고 할 수 있습니다. 전체 집단화 계수는 전체 네트워크에서 찾을 수 있는 모든 세 노드쌍(triplet) 중에서 닫힌 노드쌍(closed triplet)이 얼마나 존재하느냐로 결정됩니다.
다음 포스팅에서는 네트워크 분석 지표에 대해 살펴보도록 하겠습니다.
'Data Science Deep Dive > Network Analysis' 카테고리의 다른 글
[NA] #2 네트워크 분석 지표(Centrality Measures) (4) | 2024.12.17 |
---|