Social Network Analysis
: 구조가 위치와 역할을 만든다는 분석이론
▶ Meditz가문에 반역을 꾀할 가능성이 가장 높은 가문은 어느 곳인가? (사진 참고)
사람들의 mindmap이 다르다는 것 ▶ 거리가 멀 수록 도달하는데 시간이 많이 걸림
단어들을 통한 개념 map을 만들 수도 있음
항상 위치, 구조, 역할이 함께 작동한다는 것이 중요
초등학생의 또래 친구 집단의 변화
: 개인의 역할이나 위치가 변한 것이 아닌 전체적인 구조가 변한 것
- 집단 구조의 변화가 아닌 개인의 구조와 역할의 변화 ☞ 친한 친구들이 옆에 있는 짝이 아닌 학원을 같이 다니는 친구들끼리 친해지는 현상을 보일 수 있음
- 동일한 unit 내에서 상이한 네트워크를 구분함 ☞ 캐빈 베이컨의 법칙 : 미국 할리우드의 허브 중심에는 조연 배우 케빈 베이컨이 있음
- 원인 - 네트워크 - 결과 (선택의 경우의 수는 3 * 3으로 총 9가지)
비정형데이터의 경우 텍스트 데이터 를 많이 활용함 → facebook에서의 친구와의 관계에서 hub가 누구인지를 프로모션에 사용하고 싶은 경우
친구가 있다/없다, 많다/적다 의 개념 → binary, numbered
directed/undirected
: 방향성이 있음 → 친구 관계에서는 방향성의 가능성이 있음 (나는 친구라고 생각했는데 상대방은 그렇지 않은 경우)
Two-Mode Network (이원화된 연결망)
: 사람이 하나의 집합이 되고 club이 하나의 집합이 될 때 → Three Mode 까지는 복잡해서 못 함
Regime Change on Demand
▥ 신문사들 중에 어떤 키워드로 개념을 이야기하는지를 단어의 결합을 중심으로 이야기해 볼 수 있음
▥ 주요 다루는 의제가 다르다는 것을 알 수 있음
▥ Two Mode Network가 One Mode Network로 변환
→ Amazon, 알고리즘으로 추천 도서 및 의류 등을 알려주는 서비스 ▶ 사람과 상품 간에 관계 생성▶ 그 이후에 사람을 지워서 One Mode로 전환
→ 행렬과 같은 의미 : (2 * 3) (3 * 2) = (2 * 2) 처럼 중간 연결 단계를 생략해줌
M * t(M) = sth
- 연결관계가 없는 신문사 ▶ 서로 상이한 이야기를 한다고 생각해볼 수 있음
- 관심있는 연결망이 있다면 그것의 형태와 특성을 조사한 후 분석할 것에 포커스 인
기말과제 : 텍스트 분석이나 관계기반 연결망 분석이면 모두 가능 (주가 예측, 나스닥과 해외 주식과의 관계 ▶ 연결망)
텍스트마이닝의 대표적인 사례
- 트위터 감성지수로 주가 변동을 예측하는 모델
- 트럼프가 트윗하면 한국 주가지수가 낮아진다는 분석
Handling Data & R로 시각화하기
- Basic Index (Cohension Based)
- Role & Position
- Community Detection
- Statistical Models
install.packages('sna')
install.packages("stanet")
install.packages("igraph")
install.packages("intergraph") #sna와 igraph를 연결해주는 역할
degree #sna package의 degree와 혼동해서 가져오면 오류
#sna::degree(g) 이런 식으로 igraph인지, sna인지 구별 가능
library(sna)
data(flo)
flo
Network data
: 경계를 설정 범위가 중요하며, 미리 들어올 데이터에 대해 인지해야 하는 단점
- 연결망적인 접근은 기본적인 접근 ☞ 벌에 쏘인 여성과 남성 중 누가 더 병원에 많이 가는가에 대한 원인 분석
- 대부분 자기 자신에 대한 연결은 큰 의미를 가지지 않음
- Symetarize 대칭화 ☞ 다양성이 없는 데이터로 만듦
- 구조는 제약임과 동시에 기회 ☞ 육아는 학부모들과의 연결망을 구축할 수 있는 기회임과 동시에 부모의 행동을 제약하는 것과 같은 이치
Ega A
: 나를 중심으로 돌아가는 연결망
- 마약 연결망이 대표적인 사례가 될 수 있음
- Ego centered 보다는 Whole Network 지표가 훨씬 많아 분석에 주로 사용됨
plot(net1)
net1 <- graph_from_data_frame(d = links1, vertices = nodes, directed = T)
plot(net1, vertex.label = V(net1)$news, vertex.shape = "circle")
E(net1)$color <- "red"
plot(net1, layout = layout.circle)
기본적으로 0.2정도의 상관성을 디폴트 값으로 가짐 → 평균 이하인 경우는 제외하고 평균 이상일 때만 상관관계가 있다고 봄
- 색을 달리 함으로써 두 가지의 경우를 구분함
- 평균 이하인 경우는 회색, 평균 이상인 경우는 조건부로 흑색 그래프를 덧 씌움
- 이 방법으로 그래프 3개도 겹쳐서 보여줄 수 있음
(사례) 100명을 한 반에 random하게 집어 넣어도 평균적으로 2명은 함께 이야기 함
▶ 만약 모두 아는 사이라면 평균적으로 6명 정도 이야기함 (평균 이상의 사례)
ayout12 <- layout_with_fr(net1)
#덮어씌우기 시작
plot(net1, layout = layout12, vertex.size = nodesize)
E(net_cutoff)$color <- 'yellow'
par(new = T) #비닐 씌우기
plot(net_cutoff, layout = layout12, vertex.size = nodesize)
plot(net_cutoff, vertex.label = V(net1)$news, vertex.shape = "circle", vertex.size = nodesize)
- Hard news와 Soft news의 경계점에 Science가 있음을 검정, 회색 그래프의 겹그래프로 알 수 있음
- 회색 그래프만으로는 "서치를 많이 하는 구나" 정도의 단일적인 정보만 분석 가능
- 상관관계가 낮아서 잘 안 보이는 것을 망가져서 잘 안 보인다고 속칭함
- 의미있는 해석을 위해서는 Tuning을 활용해 연결관계를 찾아야 함
- 구조의 분류
- 구조의 특성
- 각각의 위치
I'm a Senior Student in Data Science !
데이터 사이언스를 공부하고 있는 4학년 학부생의 TIL 블로그입니다. 게시글이 도움 되셨다면 구독과 좋아요 :)
'Exploratory Data Analysis > #Theory' 카테고리의 다른 글
[UDA] 비정형데이터-군집화 (0) | 2019.10.10 |
---|---|
[EDA] 사회연결망 분석 지표 (0) | 2019.09.30 |
[EDA] 사회연결망분석: 주요 개념 및 자료 (0) | 2019.09.29 |
[EDA] 데이터 전처리 및 탐색 (0) | 2019.09.27 |
[EDA] 데이터 분석에 필요한 개념들 (0) | 2019.09.18 |