Archive
Chapter 3. Mapping Networks 본문
728x90
- 네트워크를 시각화하는 과정을 introduce!
Introduction
- 네트워크 분석에서 시각화는 오래 전부터 중요한 역할을 해왔음.
- 예전엔 손으로 다 그렸지만 요즘엔 자동화됨. 그래도 여전히 challenges 존재 for at least 2 main reasons.
- 동일한 시스템을 여러가지 방식으로 나타낼 수 있음
- 2D 화면에 효과적으로 표현하기 쉽지 않음
- 시각화 단계는 크게 다음 세 가지로 구분됨.
- collection of data from a system of interest
- creation of network graph representation from the data
- rendering of the representation in the form of a visual image
Collecting Relational Network Data
- 연구 분야마다 tools and techniques for collection, quality and quantity of data expected to collect 다르지만,
공통적인 aspects and issues 위주로 다뤄보고자 함.
measurement of system elements and interactions
- 어떤 element을 선택할 것인지
- e.g. 인터넷 네트워크 분석에서 element를 개별 사용자로 정의할 것인지, 개별 기기로 정의할 것인지, 네트워크 관리 단위로 정의할 것인지에 따라 다른 네트워크가 구축됨
- 어떤 interaction을 선택할 것인지
- e.g. 인터넷 네트워크 분석에서 실제 기기와 케이블 연결을 나타내는 물리적 연결에 중점을 둘 것인지, 사용자들이 데이터를 주고받는 패턴을 기반으로 하는 논리적 연결에 중점을 둘 것인지에 따라 다른 네트워크가 구축됨
- 어떤 measurement를 선택할 것인지
- binary: 특정 관계가 존재하는지 여부
- counts: 특정 상호작용이 발생한 횟수
- continuous: 상호작용 강도를 수치로 표현한 것
Enumerated, Partial, and Sampled Data
- 데이터 수집에는 한계가 있기에, population을 완벽하게 수집하는 것은 현실적으로 어려움. 따라서 네트워크 데이터는 크게 세 유형으로 구분됨. 물론 현실에서는 이 구분이 혼합된 경우도 많음!
- enumerated data
- 그냥 full population에서 collect in an exhaustive fashion
- partial data
- full enumeration of 특정 subset of population
- 한계: 네트워크 밖 요인의 영향이 분석에서 제외될 수 있음
spatial data analysis에서 boundary effect와 유사: 연구 대상의 경계 설정할 때, 그 밖에서 일어나는 현상이 분석에 영향 미칠 수도 있는 문제
- sampled data
- population에서 some random mechanism으로 선택
- sampling design은 분석 결과에 큰 영향 줄 수 있음
Constructing Network Graph Representations
- construct network graph할 때 vertex와 edge 개수를 적절히 조절하는 것이 중요함
너무 많은 vertex를 포함하면 공간 부족과 해상도 낮음의 문제가 발생하고, 너무 많은 edge를 포함하면 그래프가 엉켜 ball of yarn 해석이 어려울 수 있음- 이를 해결하기 위해
- spatial aggregation: vertex와 edge를 적절하게 합침
- vertex annotation and grouping: vertex에 있는 부가 정보를 활용해 subgraph들로 분할
- edge pruning and thresholding: 일정한 기준에 따라 edge 몇 개 제거
- egocentric network visualization: 특정 vertex와 그와 직접 연결된 neighbors 및 그들의 관계만 표현
- fish-eye view: 특정 vertex를 중심으로 가까운 부분은 상세하게, 먼 부분은 덜 상세하게 표현
Visualizing Network Graphs
Elements of Graph Visualizations
- 핵심 과제는 combinational structure을 geometric representation으로 만드는 것.
- drawing conventions, constraints 만족하면서 aesthetics 최대한 반영하도록 최적화하는 것이 중요
- drawing conventions: 반드시 따라야 하는 규칙
- constraints: 그래프 전체가 아니라 subgraph에 적용되는 규칙
- aesthetics: 반드시 만족할 필요는 없지만, 만족하면 좋은 사항
Methods of Graph Visualization
- 그래프 시각화 방법은 매우 다양하지만 대부분 두 가지 접근 방식으로 분류 가능
- drawing graphs with special structure
- planar graphs
- two common techniques for the layout
- use orthogonal paths: edge가 90도 각도로만 꺾이도록 함
- use k-sided convex polygon: k개의 edge로 이루어진 cycle이 있을 때 k각형을 만듦
- 그래프를 시각적으로 배치하는 데에 필요한 연산량 O(|V|)
- two common techniques for the layout
- trees
- planar graph의 한 유형이지만 독특한 구조적 특징이 있어 별도의 시각화 방법 개발됨
- 그래프를 시각적으로 배치하는 데에 필요한 연산량 O(|V|)
- planar graph의 한 유형이지만 독특한 구조적 특징이 있어 별도의 시각화 방법 개발됨
- planar graphs
- drawing graphs based on physical analogies
- spring embedder
- vertex를 ball로, edge를 spring으로 가정함. 시스템이 힘의 균형을 이루도록 spring을 늘리거나 줄이면서 네트워크를 안정된 상태로 배치함.
- 그래프를 시각적으로 배치하는 데에 필요한 연산량, 한 번의 반복에 O(|V|^2)
- energy placement
- 시스템에서 최소 에너지를 가질 때 가장 안정적인 상태가 된다는 원리 활용. vertex의 위치를 수학적으로 최적화하여 전체 네트워크 에너지를 최소화.
- 일반적으로 그래프를 시각적으로 배치하는 데에 필요한 연산량 O(|V|^2), 일부 알고리즘은 O(|V|)에 근접
- spring embedder
Case Studies
Mapping Science
- measurement
- 학술지를 기본 분석 단위로 설정하여 학문 분야 간의 관계를 연구하고자 함
- citation data를 통해 각 학술지의 inter-citation frequency를 파악, 그 내용을 바탕으로 interaction 정의
- network graph construction
- vertex: 각 학술지
- edge
- 처음엔 i가 j를 인용한 횟수 Cij와 j가 i를 인용한 횟수 Cji의 합이 0보다 큰 경우 두 학술지 간 edge 생성
- 하지만 validate 해봤을 때, expected clustering 결과와 일치하지 않았음
- 따라서 Jaccard Coefficient 적용! 조금 더 정확
- visualization of the backbone of science
- methods for automatic display와 human interpretation and annotation을 결합
- 처음엔 우선 VxOrd 활용해 시각화 진행
- 형성된 clusters에 적절한 label을 assign + 가독성을 높이기 위해 간선 제거
- cluster를 하나의 vertex로 변환하고, 해당 cluster 크기에 비례하게 크기 조정
+ citation percentage가 75% 이상인 경우, directed edge 추가
+ citation percentage 높을수록 edge 진한 색으로
+ vertex 또한 self-citation percentage에 따라 색 부여, 더 어두운 색은 independent discipline을 더 밝은 색은 dependent discipline을 의미하도록
- methods for automatic display와 human interpretation and annotation을 결합
Mapping the Internet
- physical Internet이 아닌 logical Internet을 대상으로
- packet: 데이터는 작은 조각으로 나뉘어 전달됨, 출발지 source와 도착지 destination에 대한 정보 포함
- router: 데이터를 destination까지 전달하는 중계 장치
- logical Internet은 실제로 사용되는 path만 포함하므로, physically linked 되어 있어도 traffic 흐르지 않는다면 map에 포함되지 않음
- measurement
- logical Internet은 직접적 database 존재하지 않기 때문에, traffic flow를 기반으로 간접적으로 분석해야 함, 이때 활용하는 도구가 traceroute
- 원리
- packet에는 time to live TTL이라는 integer 정보가 포함됨
- packet이 router 통과할 때마다 TTL은 1씩 감소함
- TTL=0 되면 packet drop하고 source에게 해당 router 주소를 전달함
- 즉, traceroute는 TTL 값 증가시키며 연속적으로 packet 전송해 packet이 통과하는 모든 router 주소 확보하는 것
- 한계
- sampling bias: source와 destination 선택 방식이 데이터 수집 결과에 영향을 미침
- security issue: 방화벽 firewall이 있는 네트워크에서는 traceroute 방법으로 데이터 수집 불가, 또 일부 router 소유자는 불필요한 traffic 줄이기 위해 raceroute 응답 기능 비활성화 해두기도
- 원리
- logical Internet은 직접적 database 존재하지 않기 때문에, traffic flow를 기반으로 간접적으로 분석해야 함, 이때 활용하는 도구가 traceroute
- network graph construction
- 많은 destination에 대해 traceroute 시행하면 출발지를 중심으로 tree같은 구조 만들 수 있음, 하지만 문제는
- A에서 B로 가는 path ≠ B에서 A로 가는 path 일수도
- Internet path는 동적, 계속 바뀌기 때문에 며칠동안 데이터를 모으면 false link 생김
- router는 보통 여러 개의 IP주소 갖기 때문에 같은 router가 여러 개처럼 인식될 수도
- 많은 destination에 대해 traceroute 시행하면 출발지를 중심으로 tree같은 구조 만들 수 있음, 하지만 문제는
- visualization of the router-level Internet
- 대부분 다른 층 shell과 연결됨 (i.e. 같은 층 shell 내에서의 연결은 적음)
- 외곽으로 갈수록 shell 두꺼워짐 (i.e. 중심 shell은 직접적으로 연결할 수 있는 router가 제한적)
Mapping Dynamic Networks
- 앞서 다뤘던 Internet과 같이 계속 변하는 네트워크도 있기 때문에 dynamic map도 필요
- static map: 특정한 순간의 네트워크, 한 장의 그림으로 표현하는 느낌
- dynamic map: 시간이 지나면서 네트워크 어떻게 변하는지 담음
- 만약 네트워크가 바뀔 때마다 자동으로 완전히 다른 새 map을 만든다면, 구축부터 해석까지 번거로워질 것
- 이전 map과 너무 다르지 않게 구현할 수 있도록 조절할 수 있다면 좋을 것!
- 기존 node와 edge는 아예 움직이지 않음 (i.e. 그냥 삭제하거나 삽입하는 정도), 네트워크가 많이 변하면 엉킬 수 있음
- 새로운 node 근처 작은 부분만 조정
- 그래프 간 거리를 계산해 비슷한 모양을 유지할 수 있도록 함
- 수학적 확률 모델 활용해 네트워크 변화를 부드럽게 표현 (e.g. exponential smoothing)
Additional Related Topics and Readings
- network mapping은 꼭 현실 그대로 반영하는 게 최선이 아닐 수도!
지하철 노선도처럼 더 유용한 형태로 왜곡해 표현하는 게 더 효과적일 수도 있음
728x90
'통계 > 네트워크분석' 카테고리의 다른 글
Lab4 (0) | 2025.03.16 |
---|---|
Chapter 4. Descriptive Analysis of Network Graph Characteristics (1) | 2025.02.08 |
Chapter 2. Preliminaries (0) | 2025.01.26 |
Chapter 1. Introduction and Overview (0) | 2025.01.26 |