일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- eks
- 블로그
- 하둡
- hadoop
- 개발자
- apache spark
- kafka
- 추천시스템
- BigData
- 데이터엔지니어링
- DataEngineering
- redis bloom filter
- pyspark
- 개발자혜성
- spark
- Data engineering
- 데이터엔지니어
- Spark structured streaming
- Terraform
- 빅데이터플랫폼
- recommendation system
- dataengineer
- cloudera
- 클라우데라
- mlops
- AWS SageMaker
- Python
- kubernetes
- 하둡에코시스템
- 빅데이터
- Today
- Total
Hyesung Oh
[비정형 데이터마이닝] 사회 연결망 분석 개요 본문
1. SNA (Social Network Analysis)
1.1 사회연결망 분석 정의
제이콥 마리노에 의해 처음으로 사회연결망 개념이 사용되었지만, 1954년 바르네스가 처음으로 '사회연결망'이라는 용어를 사용하기 시작하였음.
개인과 집단들 간의 관계를 노드와 링크로 모델링하여 그것의 위상 구조, 확산 및 진화과정을 계량적으로 분석하는 방법론입니다.
개인 또는 집단을 노드, 그 사이의 관계를 선으로(link or edge) 표현합니다.
1.1 SNA 분류
1) 집합론적 방법
객체들 집합에서 각 객체들 간의 관계를 다음과 같이 관계 쌍(pairs of elemnets)으로 표현합니다.
A =(X1,X2), (X2, X1), (X4, X2), (X3, X1), (X3, X4), (X4, X3)
B = (X1, X2), (X2, X1), (X3, X4), (X4, X3)
2) 그래프 이론을 이용한 방법
객체를 노드, 연결은 두 점을 연결하는 선으로 표현
3) 행렬을 이용한 방법
각 객체를 행과 열에 대칭적으로 배치하고(정방 행렬) 각 객체 간 연결관계가 있으면 1 아니면 0의 값을 가지는 인접 행렬(adjcent matrix) 로서 표현합니다.
사회 연결망 분석에서
2. 사회연결망 분석에서 네트워크 구조를 파악하기 위한 기법
1. 중심성(Centrality)
1) 연결정도 중심성(degree centrality) : 한 점에 직접적으로 연결된 점들의 집합. 연결된 노드의 수가 많을수록 연결정도 중심성이 높아짐
2) 근접 중심성(closeness centrality) : 한 노드로부터 다른 노드에 도달하기까지 필요한 최소 단계의 합. 근접 중심성이 높을수록 네트워크의 중앙에 위치
3) 매개 중심성(betweenness centrality) : 네트워크 내에서 한 점이 담당하는 매개자 혹은 중재자 역할의 정도. 한 노드가 연결망 내의 다른 노드들 사이에 최다 연결 경로에 위치하면 할수록 해당 노드의 매개 중심성은 높음.
4) 위세 중심성(eigenvector centrality) : 자신의 연결정도 중심성으로부터 발생하는 영향력과 자신과 연결된 타인의 영향력을 합하여 결정. 위세가 높은 노드들과 관계가 많을수록 자신의 위세 또한 높아짐.
보나시치(Bonacich) 권력 지수 : 위세 중심성의 일반적인 형태로, 연결된 노드의 중요성에 가중치를 둬 노드의 중심성을 측정하는 방법.
5) 이 외에도 밀도, 구조적 틈새, 집중도 등의 분석 요소가 있음
3. SNA의 적용 및 활용
소셜 네트워크 분석은 통신, 소셜 미디어, 게임 및 유통업체에서 관심이 많은 분야입니다.
분석용 설루션으로 KXEN, SAS, XTRACT, Pajek, Inflow 등이 있습니다.
분산 처리 기술인 MapReduce를 활용하거나 하둡 기반의 그래프 프로세싱 프레임워크인 Giraph 등을 통해 SNA를 적용할 수 있습니다.
3. SNA 단계
1) 그래프 생성
2) 그래프를 목적에 따라 가공하여 분석
3) 커뮤니티를 탐지하고 각 개체 또는 노드의 역할을 정의해 롤로 다른 객체들에 영향력을 더 효율적으로 줄 수 있는지를 정의
4) 위 결과를 데이터화하여 다른 데이터 마이닝 기법과 연계하는 단계
* 네트워크 레벨에서의 통계량 : degree, shortest path, reachability, density, triad census 등
* 커뮤니티 탐지 기법 :
- WALKTRAP 알고리즘 : 일련의 random walk 과정을 통해 커뮤니티를 발견함. 자세한 내용은 이곳
- Edge Betweenness method : 그래프에 존재하는 최단거리 중 몇 개가 그 edge(link)를 거쳐가는 지를 이용해 edge-betweenness 점수를 측정, 높은 점수를 갖는 edge(link)가 클러스터를 분리하는 속성을 가진다고 가정함.
4. 활용 방안
소셜 네트워크 분석은 데이터가 몇 개의 집단으로 구성되는지, 집단 간의 특징은 무엇이고, 해당 집단에서 영향력 있는 고객은 누구인지, 시간의 흐름과 고객 상태의 변화에 따라 다음에 누가 영향을 받을지를 기반으로 churm/acquisition prediction, fraud, product recommendation 등에 활용한다.
'Statistics&ML' 카테고리의 다른 글
[비정형 데이터 마이닝] 텍스트 마이닝 개요 (0) | 2020.05.20 |
---|---|
[정형 데이터 마이닝] 비지도 학습/Unsupervised Learning (0) | 2020.05.20 |
[Statistic Analysis] 통계 초짜도 한번에 이해하는 통계적 검정 (0) | 2020.05.11 |
데이터 마이닝 vs 머신 러닝 (0) | 2020.03.18 |
시계열, 머신러닝 모델의 통계적, 수학적 기반에 대하여 (0) | 2019.12.10 |