아래 내용은 M. E. J. Newman이 2003년 Physical Review E 67권에 게재한 논문, “Mixing patterns in networks” (doi: 10.1103/PhysRevE.67.026126) 일부 발췌본입니다. 이 논문은 네트워크 상에서 서로 유사한(또는 상이한) 노드들이 실제로 얼마나 선호적으로 연결되는가(동질혼배·이질혼배 경향)를 측정하고, 이러한 혼배(assortative/disassortative) 양상이 네트워크 구조와 동역학적 특성(거대성분, 전염/파급, 회복 탄력성 등)에 어떻게 영향을 주는지를 이론·실증·시뮬레이션 측면에서 다룹니다.
본 답변에서는 수식, 개념, 원리를 중심으로 최대한 자세하고 친절하게 정리하고자 합니다.
1. 서론(Introduction)
1.1 네트워크 분석에서 혼배(Assortative/Disassortative Mixing)의 중요성
현대 통계물리학은 분자·원자계뿐 아니라 경제, 생태계, 사회망, 인터넷 등 ‘복잡계 시스템’으로 확장되어 왔습니다. 이러한 복잡계는 보통 전통적 격자(lattice)가 아닌 보다 일반적이고 불규칙한 네트워크 구조를 형성합니다. 따라서 네트워크 구조와 동역학을 함께 살펴보는 일이 중요해졌는데, 그동안 많이 연구되어 온 성질로는
- 소규모 세상(small-world) 효과
- 클러스터링(clustering) 계수
- 차수 분포(degree distribution)
등이 있습니다.
이 논문에서는 노드 속성에 따른 혼배(assortative mixing, disassortative mixing) 현상에 주목합니다. 예를 들어,
- 소셜 네트워크에서 “비슷한 인종/언어/나이”를 가진 사람들끼리 더 잘 연결되는지 여부(동질혼배)
- 인터넷/생물학 네트워크에서 “고차수 노드가 다른 고차수 노드와 연결되는지” 여부
등을 혼배 계수(assortativity coefficient) 로 정량화할 수 있고, 이것이 네트워크 구조에 큰 영향을 준다는 점을 보여줍니다.
1.2 논문 개요
- 혼배(assortativity) 측정:
- 이산형 속성(인종, 언어) → 혼합 행렬 (\boldsymbol{e} = (e_{ij}))
- 스칼라 속성(나이, 소득, 차수) → Pearson 상관 계수 방식
- 이 중 특히 “차수(degree)에 따른 혼배”를 집중 분석
- 실제 네트워크에서의 혼배:
다양한 실증 예시(사회·기술·생물학 네트워크)를 살펴본 결과, 사회망은 보통 양의 혼배(동질혼배), 기술·생물망은 음의 혼배(이질혼배) 경향.
- 모델링 & 시뮬레이션:
- 혼배를 반영하는 확률적 그래프 생성 모델(생성함수, Monte Carlo 등)
- 혼배 수준(r)을 바꿔가며 구조적 특성(거대성분 형성 임계점, 탄력성 등) 관찰
- 주요 결과:
- 양(+)의 혼배(assortative) 네트워크는 더 적은 연결로도 거대성분(giant component)을 형성하지만, 거대성분의 최종 크기는 작을 수 있음.
- 동시에, 양(+)의 혼배가 있으면 네트워크가 고차수 노드를 제거하는 공격(targeted attack)에 대해 더 견고(robust)함.
2. 이산형 속성에 대한 혼배(Discrete assortativity)
2.1 혼합 행렬 (e_{ij})
- (\displaystyle e_{ij}): 그래프에서 임의의 간선을 뽑았을 때, “한쪽 끝은 속성 i, 반대쪽 끝은 속성 j”가 될 확률.
- (\displaystyle \sum{i,j} e{ij} = 1).
- 이때,
[
ai = \sum_j e{ij},
\quad
bj = \sum_i e{ij}
]
로 정의.
- 무방향 그래프면 (a_i = b_i).
- 예) 인종, 언어, 컨퍼런스 분류 등.
예시: 샌프란시스코의 이성애 성접촉 네트워크
- 인종(흑인, 히스패닉, 백인, 기타)별로 남/여 간 성접촉 비율 행렬을 구성하면, 특정 인종끼리의 접촉이 훨씬 잦은 양상(동질혼배)을 확인.
2.2 혼배 계수(assortativity coefficient) (r)
- Newman의 식 (이산 속성의 경우):
[
r \;=\; \frac{\sum{i} e{ii} \;-\; \sum_i a_i b_i }{1 \;-\; \sum_i a_i b_i} \;=\; \frac{\mathrm{Tr}(\mathbf{e}) - |\mathbf{e}^2|}{1 - |\mathbf{e}^2|}.
]
- “대각 합(동일 속성끼리 연결된 간선 비중)이 무작위 기대값((\sum_i a_i b_i))에 비해 얼마나 큰가”를 정규화한 것.
- (r > 0)이면 동질혼배(같은 속성끼리 연결), (r < 0)이면 이질혼배(다른 속성끼리 연결), (r=0)이면 무작위.
- Jackknife 방법으로 표준 오차(분산)도 추정 가능.
2.3 모델링
- 이산형 속성을 가지는 노드 집합이 있고, 혼합 행렬 (\mathbf{e})가 주어졌을 때,
- 이행확률을 충족하는 랜덤 그래프 모델(“generalized random graph with assortative mixing”)을 구성할 수 있음.
- 생성함수(generating function) 기법으로 평균 성분 크기, 거대성분 형성 임계점 등을 계산 가능.
2.4 시뮬레이션
- 실제로 (\mathbf{e})를 만족하는 무작위 네트워크를 만들려면,
- (1) 간선의 양 끝이 (i, j)가 될 확률이 (e_{ij})가 되도록 표본화,
- (2) 노드별로 정해진 차수 분포에도 맞춰야 함(이는 조금 복잡: 정합 알고리즘, Metropolis-Hastings 등).
3. 스칼라 속성에 대한 혼배(Scalar assortativity)
3.1 일반적인 스칼라 값(나이, 소득 등)
- 노드가 “나이 (x)”를 가진다고 하면, (\displaystyle e_{xy}) = “한 간선의 양 끝 노드가 (x, y)값을 갖는 확률”.
- 만약 연속형이면 이산화(빈)해서 사용 가능.
- 혼배 계수는 Pearson 상관 계수 형태로:
[
r \;=\; \frac{\sum{xy} (x - \overline{x})(y - \overline{y})\, e{xy}}{\sigma_x \sigma_y}.
]
- 예) 결혼 파트너 나이, 혼인/커플 통계에서 명확한 양의 상관(동질혼배) 확인 가능.
3.2 혼배의 특수 예시: “차수(degree)”에 따른 혼배
- 모든 네트워크에서 노드 차수는 항상 정의되어 있음 → 데이터 부족 없이 혼배 파악 가능.
- “고차수 노드끼리 서로 연결되는가?” → 사회망에서는 보통 고차수 노드가 고차수 노드와 연결(양의 혼배), 기술·생물망은 음의 혼배.
(1) (\mathbf{e}_{jk}) 정의
- (\displaystyle e_{jk}): 간선 하나를 뽑았을 때, 간선이 잇는 양 끝 노드의 초과 차수(excess degree)가 (j, k).
- 여기서 초과 차수는 “전체 차수 - 1”로서, 간선을 따라 들어간 노드에서 남은 다른 간선 수.
- 혼배 계수 (무방향 그래프):
[
r \;=\; \frac{\sum{j,k} j\,k \,\bigl(e{jk} - q_j\,q_k\bigr)}{\sigma_q^2},
]
(\displaystyle q_k)는 “한 간선을 무작위 뽑았을 때, 그 간선이 닿은 노드의 초과 차수가 (k)일 확률”,
(\displaystyle \sigma_q^2)는 그 분포의 분산.
- 계산 시, 실제 데이터에 대해서는
[
r \;=\; \frac{\sum{i} (j_i)(k_i) - \tfrac{1}{M}\bigl(\sum{i} ji \bigr) \bigl(\sum{i} ki \bigr)}{
\sqrt{ \bigl[\sum{i} ji^2 - \tfrac{1}{M}\bigl(\sum{i} ji \bigr)^2\bigr]
\bigl[\sum{i} ki^2 - \tfrac{1}{M}\bigl(\sum{i} k_i \bigr)^2\bigr]
}
}.
]
여기서 ((j_i, k_i))는 (i)-번째 간선이 잇는 두 노드의 초과 차수, (M)은 간선 수.
(2) 실증 결과
- 논문 표(“Table II”)에 보면,
- 사회망(과학자 협업, 배우 협업, 기업 이사 등)은 보통 (r>0).
- 기술/생물망(인터넷, 웹, 전력망, 대사·단백질 상호작용, 식물-동물 먹이그물)은 (r<0).
- 해석:
- 사회망: 고차수(사교성이 높은) 사람끼리 연결되는 경향.
- 인터넷 등: 반대로, 고차수 라우터는 저차수 노드(소비자)와 연결되는 경향 → 음의 혼배.
4. 혼배가 네트워크 구조에 미치는 영향
4.1 거대성분 형성(Percolation)
- 네트워크를 점진적으로 밀도 높여갈 때, “거대성분(giant component)”이 나타나는 임계점을 혼배가 어떻게 바꾸는지 분석.
- 양(+) 혼배(assortative)인 경우:
- 고차수 노드끼리 모여 “코어 그룹” 형성 → 부분적으로만 연결이 치밀해도 빠르게(더 낮은 밀도에서) 거대성분 생성.
- 대신 거대성분의 최종 크기는 작을 수 있음(코어에만 국한).
- 음(−) 혼배(disassortative)인 경우:
- 네트워크 전반이 균등하게 연결 → 임계점이 더 높음(더 많은 간선 필요)
- 하지만 충분히 간선이 많아지면 더 큰 거대성분이 형성될 수 있음.
4.2 노드 제거(공격, 면역) 시의 탄력성(Robustness)
- Targeted attack: “차수가 가장 큰 노드부터” 순차 제거할 경우, 거대성분 붕괴 시점을 혼배에 따라 비교.
- 양(+) 혼배면 고차수 노드가 한 덩어리에 집중되어 있어, 그들만 제거해도 다른 부위(저차수 영역)는 아직 어느 정도 연결 유지 → 네트워크가 쉽게 붕괴되지 않는다(= 더 견고함).
- 음(−) 혼배면 고차수 노드가 네트워크 도처에 분산 → 동시에 전 영역에 큰 타격. 따라서 비교적 취약.
- 결과적으로, 사회망(+)은 전염병 방지(고차수 노드 백신) 시에도 쉽사리 거대성분이 붕괴되지 않아, 역설적으로 전염병 제어가 어렵다는 가능성을 시사.
- 반면 기술망(−)(예: 인터넷)은 공격(주요 허브 노드 제거)에 매우 취약 → 공격이나 장애 대비가 어렵다.
5. 결론(Conclusions)
- 혼배(assortative mixing)의 일반성
- 사람들은 보통 자신과 유사한 특성을 가진 사람들과 연결(언어, 인종, 연령 등). → 이산형 속성의 혼합 행렬 (e_{ij}).
- 노드가 갖는 스칼라 값(나이, 차수)에 대해서도 양/음의 상관 관계가 나타남.
- 사회망은 대부분 양(+) 혼배, 기술/생물망은 음(−) 혼배가 주로 발견됨.
- 혼배가 구조에 미치는 영향
- 양(+) 혼배: 코어 그룹 형성 → 거대성분 임계점 낮음, 하지만 그 외 구역과 분리될 가능성.
- 탄력성 증가: 고차수 노드만 빼내도 붕괴가 쉽게 일어나지 않음 → 전염병 제어가 오히려 어려움.
- 모델과 시뮬레이션
- 혼배를 반영한 확률적 그래프 모델을 생성(생성함수 접근, Monte Carlo).
- 시뮬레이션으로 거대성분 형성 시점, 공격 시 탄력성, 전염병 확산 등을 정량적으로 살핌.
- 시사점
- 실제로 전염병 네트워크(성접촉망, 소셜 미디어망 등)가 강한 양의 혼배를 가진다면, 허브 중심 방어(백신)도 생각만큼 효과가 크지 않을 수 있음.
- 반면, 인터넷(음의 혼배)은 고차수 노드(허브)만 공격당해도 전체 붕괴 위험이 큼.
6. 핵심 공식·개념 정리
- 이산 속성 혼배 계수
[
r \;=\; \frac{\sumi e{ii} - \sumi a_i b_i}{1 - \sum_i a_i b_i},
\quad
e{ij} = \text{“간선이 (i,j) 속성을 잇는 확률”}.
]
- 스칼라 속성 혼배 계수 (Pearson 상관 계수 형태)
[
r \;=\; \frac{\sum{x,y} (x - \overline{x})(y - \overline{y})\, e{xy}}{\sigma_x \sigma_y}.
]
- 차수 기반 혼배 계수
- 무방향일 때
[
r \;=\; \frac{\sum{jk} j k \bigl(e{jk} - qj q_k\bigr)}{\sigma_q^2},
]
(\displaystyle e{jk}) = 간선이 잇는 초과 차수((j,k)) 분포,
(\displaystyle q_j) = 한 간선을 무작위 골랐을 때 한쪽 끝 노드가 초과 차수 (j)일 확률.
- 잭나이프(jackknife) 추정으로 통계적 오차(분산) 가능.
7. 마무리
Newman의 “Mixing patterns in networks” 논문에서 제시된 바와 같이, 네트워크에서의 혼배는 다음을 보여주는 중요한 개념임을 강조합니다.
- ‘서로 유사한 노드’끼리의 연결 선호(동질혼배) vs ‘서로 다른 노드’끼리의 연결 선호(이질혼배)
- 이는 단순 통계적 흥미에 그치지 않고, 거대성분 형성 임계점, 전염병 확산 가능성, 네트워크 공격에 대한 탄력성 등 핵심 구조/동역학적 특성에 직결.
- 사회망(사람들의 선택, 사교)과 기술망(인터넷, 전력망)에서 정반대의 경향(r>0 vs r<0)이 나타남 → 이론/실증 모두 검증.
이 논문은 소셜 네트워크, 통신/컴퓨터 네트워크, 생물학 네트워크 분석에서 혼배 계수를 실제 데이터에 적용하고, 확률적 모델링을 통해 혼배가 가져오는 구조적 결과를 정교하게 보여준 대표적 연구로 꼽힙니다. 특히 사회에서 흔히 쓰이는 허브 중심 방역/공격 등과 관련해 실제 혼배의 방향성이 중요한 역할을 한다는 점을 부각함으로써, 네트워크 이론이 가지는 실질적 함의를 잘 보여줍니다.
아래 튜토리얼은 graph-tool 라이브러리에서 제공하는 assortativity 함수를 사용해 네트워크의 어소러티비티(assortativity) 계수를 구하는 방법을 예시 코드를 통해 자세하게 설명합니다. 초보자도 이해하기 쉽게 파이썬 코드 및 주석을 포함했으며, 이어서 결과 해석과 확장 아이디어까지 함께 다룹니다.
1. 어소러티비티(Assortativity)란?
-
정의
네트워크에서 유사한(혹은 동일한) 속성을 가진 노드들끼리 서로 더 많이 연결되는 경향이 있는지(또는 반대인지)를 나타내는 지표입니다.
- 예를 들어, “고차수(degree가 큰) 노드들끼리 연결이 많이 되어 있다면?” 혹은 “비슷한 성격의 노드들끼리 주로 연결되어 있다면?” 등을 측정하는 값으로, 일반적으로 (-1)에서 (+1) 사이 값을 가집니다.
- 양의 값이면 ‘같은 종류의 노드들끼리 연결되려는 성향이 있다’(동질혼배),
음의 값이면 ‘서로 다른 종류의 노드끼리 연결되려는 성향이 있다’(이질혼배),
0에 가까우면 ‘무작위 수준’ 정도를 의미.
-
공식
[
r = \frac{\sum{i} e{ii} - \sum{i} a_i b_i}{1 - \sum{i} ai b_i}
]
여기서 (e{ij})는 유형(혹은 속성) (i)에서 (j)로 가는 (또는 연결되는) 간선 비율,
(ai = \sum_j e{ij}), (bj = \sum_i e{ij}).
- 자세한 설명은 Newman (2003) 논문[^newman2003]에 잘 나와 있습니다.
- graph-tool에서는 이 계산 과정을 내부적으로 처리해주며, 결과로 “어소러티비티 계수 (r)”와 “그 계수의 추정 분산(variance)”을 반환합니다.
[^newman2003]: M. E. J. Newman, “Mixing patterns in networks”, Phys. Rev. E 67, 026126 (2003).
graph_tool.correlations.assortativity(g, deg, eweight=None)
-
매개변수
- g:
Graph 객체(분석 대상 그래프).
- deg:
- 문자열
"in", "out", "total" 중 하나를 주어 노드의 차수(degree) 기반 어소러티비티를 계산할 수도 있고,
- 혹은
VertexPropertyMap(노드별 어떤 속성)을 직접 전달해서 그 속성 기반의 어소러티비티를 계산할 수도 있음.
- 예: 노드의 “인구”, “카테고리”, “그룹 ID” 등.
- eweight:
EdgePropertyMap(간선 가중치)이 있을 경우 지정, 없으면 간선 가중치는 1로 간주.
-
반환값
(r, var):
- (r): 계산된 어소러티비티 계수(단일 실수)
var: 잭나이프(jackknife) 방식으로 추정한 분산값.
3. 간단 예제: 차수 기반 어소러티비티
아래 예제는 graph-tool에 내장된 예시 그래프 중 하나인 "pgp-strong-2009"를 불러와서 무방향 그래프(undirected)로 만든 뒤, 차수 기반 어소러티비티 계수를 계산합니다.
import graph_tool.all as gt
import numpy as np
def main():
g = gt.collection.data["pgp-strong-2009"]
g_undirected = gt.GraphView(g, directed=False)
r_out, var_out = gt.assortativity(g_undirected, "out")
print("[차수 기반 어소러티비티: out-degree]")
print(f"- r_out = {r_out:.6f}")
print(f"- var_out = {var_out:.6f}")
r_total, var_total = gt.assortativity(g_undirected, "total")
print("\n[차수 기반 어소러티비티: total-degree]")
print(f"- r_total = {r_total:.6f}")
print(f"- var_total = {var_total:.6f}")
if __name__ == "__main__":
main()
코드 상세 설명
- 그래프 불러오기
g = gt.collection.data["pgp-strong-2009"]
- graph-tool에 내장된 PGP 웹오브트러스트(WoT) 그래프의 강결합(giant component) 부분을 로딩.
- 무방향으로 변환
g_undirected = gt.GraphView(g, directed=False)
GraphView를 통해 그래프를 무방향 취급(undirected)으로 본다고 선언.
- 차수 기반 어소러티비티는 보통 무방향 맥락에서 많이 계산되므로 이렇게 설정.
- assortativity(g_undirected, "out")
- 차수 정보를
"out"으로 취급하여 어소러티비티를 계산.
- 무방향 그래프면 실제론 in/out 차이가 없지만, 편의상
"out"으로 표기.
- (r_out, var_out) = 결과 해석
r_out: 어소러티비티 계수,
var_out: 그 계수의 분산(variance).
- 분산이 낮으면 계수 추정이 비교적 안정적이라는 의미.
4. 속성(PropertyMap) 기반 예제
만약 노드별로 특정 범주나 실수값 속성이 있는 경우, 그 속성을 바탕으로 어소러티비티를 계산할 수도 있습니다.
4.1 노드별 “무작위 그룹” 속성 부여 예시
import graph_tool.all as gt
import numpy as np
def create_node_property_map(g, num_groups=5):
"""
그래프 g의 각 노드에 0 ~ (num_groups-1) 범위의 그룹 ID를 무작위로 부여하는 예시.
"""
group_prop = g.new_vertex_property("int")
for v in g.vertices():
group_prop[v] = np.random.randint(num_groups)
return group_prop
def main():
g = gt.collection.data["pgp-strong-2009"]
g_undirected = gt.GraphView(g, directed=False)
group_prop = create_node_property_map(g_undirected, num_groups=5)
r_group, var_group = gt.assortativity(g_undirected, group_prop)
print("[노드 그룹 속성 기반 어소러티비티]")
print(f"- r_group = {r_group:.6f}")
print(f"- var_group = {var_group:.6f}")
if __name__ == "__main__":
main()
코드 상세 설명
group_prop = g.new_vertex_property("int"): 정수형 VertexPropertyMap 생성.
group_prop[v] = np.random.randint(num_groups): 노드마다 0~4 사이 임의 그룹 부여.
gt.assortativity(g_undirected, group_prop): 노드 속성(group_prop)을 바탕으로, 두 노드가 동일 그룹인지 아닌지를 조사해 어소러티비티 계산.
- 결과가 양의 값이면, 같은 그룹끼리 연결되는 경향이 (무작위 대비) 더 높다는 것을 의미할 수 있음.
- 음수면 반대로, 다른 그룹끼리 연결 경향이 더 높다는 뜻.
5. 가중치(Edge Weight) 고려
eweight 파라미터에 EdgePropertyMap을 주면, 간선별 가중치가 있을 때 이를 반영한 어소러티비티를 계산할 수 있음.
- 예: “두 노드를 잇는 간선에 ‘교통량’, ‘상호작용 강도’, ‘통행 빈도’ 등의 가중치가 있을 경우” 그 영향력을 고려한 계수를 얻을 수 있음.
def assign_random_edge_weights(g):
"""
간단 예시: 1~10 범위 랜덤 가중치 할당
"""
w_prop = g.new_edge_property("double")
for e in g.edges():
w_prop[e] = np.random.uniform(1, 10)
return w_prop
def main():
g = gt.collection.data["pgp-strong-2009"]
g_undirected = gt.GraphView(g, directed=False)
group_prop = create_node_property_map(g_undirected, num_groups=5)
weight_prop = assign_random_edge_weights(g_undirected)
r_w, var_w = gt.assortativity(g_undirected, group_prop, eweight=weight_prop)
print("[가중치 고려된 어소러티비티]")
print(f"- r_w = {r_w:.6f}, var_w = {var_w:.6f}")
6. 계산 결과 해석 팁
- (r > 0): 비슷한 속성(혹은 차수)이거나 같은 범주의 노드들이 연결되는 경향(동질혼배, assortative mixing).
- (r < 0): 이질혼배(disassortative mixing), 즉 서로 다른 속성을 가진 노드끼리 연결 선호.
- (r \approx 0): 무작위에 가까운 연결 패턴.
예: 차수-어소러티비티가 양수
- ‘고차수 노드’가 ‘고차수 노드’와 연결, ‘저차수 노드’끼리 연결되려는 경향이 있다는 의미.
소셜 네트워크(유명인(고차수)끼리 친한 경우) 등에 흔히 나타남.
예: 차수-어소러티비티가 음수
- ‘고차수 노드’가 ‘저차수 노드’와 연결되는 경향이 강한 경우.
기술·생물학 네트워크 등에서 흔히 발견(허브-리프 구조).
7. 튜토리얼 요약 & 추가 아이디어
assortativity 함수를 이용해 간단히 네트워크가 같은 유형/범주의 노드들끼리 뭉쳐있는지 측정할 수 있음.
- 차수 기반 뿐 아니라, 노드 임의 속성(숫자, 범주형 등)으로도 혼배 성향을 평가 가능.
- 가중치 매개변수를 통해 간선의 중요도(트래픽, 상호작용 강도 등)를 반영할 수 있음.
- 잭나이프(jackknife) 기반 분산 값도 함께 제공되어, 추정의 신뢰도를 가늠할 수 있음.
추가 아이디어
- 속성 전처리: 노드 속성이 연속형(예: 인구, 소득)일 때, 범주화(binning)하여 어소러티비티 계산하면 정성적 판단 가능.
- 부분 그래프(subgraph):
GraphView 등을 사용해 특정 노드들만 필터링한 뒤, 부분 그래프의 어소러티비티 변화를 비교해볼 수도 있음.
- 시간에 따른 변화: 동적인 네트워크(시계열 데이터)가 있으면, 각 시점별 어소러티비티를 계산해 “동질혼배 성향이 강화/약화”되는 추이를 살펴볼 수 있음.
- 교통망 해석:
- 노드 차수 → 교차로(노드)의 연결도로 수,
- 혹은 노드 속성 → ‘유동인구 규모’나 ‘상업지구/주거지구’ 등.
- 어소러티비티가 높다면, 비슷한 교차로끼리 연결되는 경향(예: 복잡한 큰 교차로들끼리 고속도로로 직결).
- 음수라면 상이한 특성(대형 교차로 - 소형 교차로)이 더 짝지어짐을 의미할 수도 있음.
8. 마무리
이상으로 graph-tool 라이브러리의 assortativity 함수를 활용하여, 네트워크 어소러티비티 계수를 구하는 방법과 예시 코드를 살펴보았습니다.
- 핵심 포인트:
- deg 인자로
"out", "in", "total"을 주면 ‘차수’ 기반 계산이 간단히 가능.
- 임의의 VertexPropertyMap을 제공하면, 해당 속성 기반의 혼배 성향을 수치화 가능.
- 반환되는 분산(variance)을 함께 봄으로써 결과 신뢰도를 가늠.
- 가중치(
eweight)가 있는 네트워크라면, 그 중요도를 반영한 척도를 구할 수 있음.
네트워크에서 “비슷한 노드들끼리 연결될까, 다르면 연결될까?”라는 질문은 여러 응용(사회망, 교통망, 생물망, 기술망 등)에서 중요한 통찰을 줍니다. 이 튜토리얼이 차수 혼배 수준, 속성 혼배 경향 등을 파악하는 데 도움이 되길 바라며, 보다 정교한 분석이나 시각화(예: 히스토그램, scatter plot)와 결합하면 더욱 풍부한 인사이트를 얻을 수 있을 것입니다. 즐거운 네트워크 분석 되세요!