오랜만에 논문 소식에 관한 글을 쓴다. 논문 제목은 위에 쓴대로다. 사실 제목에 ‘빅데이터’라는 말을 별로 넣고 싶지는 않았는데 대안이 없었다. 어쨌든 제목을 한국어로 옮기면 ‘빅데이터가 말해주는 것: 사회연결망을 소통 채널로 추출하기’쯤 되겠다. 우리의 문제의식은 사회연결망의 이웃수 분포 모양에서 출발한다. 수많은 사회연결망에서 이웃수 분포는 대체로 단조 감소하는 함수형태로 관찰된다. 즉 그 연결망에 속한 개인들의 대다수가 오직 1명의 이웃만을 갖고 있다는 말이다. 이웃이 1명밖에 없는 사람들이야 있을 수 있는데 그게 대다수라면 이상하다. 물론 데이터가 틀렸다고 말하는 게 아니다. 다만 그 데이터가 ‘전체’ 사회연결망을 반영하지 못한다는 게 우리가 주장하는 내용이다.



우선 ‘전체’ 사회연결망은 무엇인가. 더 구체적으로 사람 사이의 ‘연결’은 무엇을 뜻하는가. 사실 이건 매우 어려운 문제다. 그런데 연결 또는 링크가 정의되어야 연결망을 구성할 수 있고 이웃수 분포를 비롯한 다양한 연결망의 특성을 측정할 수 있다. 트위터의 경우 팔로잉/팔로워가 링크로 정의된다. 물론 멘션을 주고받은 사이만 링크로 정의할 수도 있다. 핸드폰의 경우 전화를 걸거나 받으면 링크가 있다고 말할 수 있다. 대부분의 데이터는 이렇게 특정 소통 채널에 한해서 주어진다. 물론 그 소통 채널 전체 데이터가 있는 것도 아니다. 그 각 데이터를 분석하는 건 의미 있지만 그로부터 얻은 결론이 곧바로 전체 사회연결망에 적용되지 않는다.


하지만 우리는 전체 사회연결망 데이터가 없다. 이 데이터를 모으는 것부터 불가능하다. 그래서 일부 데이터로부터 전체를 추론해내는 일이 필요하며 그 시작점으로서 ‘표본 추출하기(sampling)’를 다루겠다는 것이다. 전체 사회연결망을 먼저 가상적으로 만들어야 하는데 우리는 이웃수 분포가 단조 감소하지 않고 봉우리를 갖는 모양(정규분포일 필요는 없다)이라고 가정한다. 한 채널에서는 이웃수가 적지만 다른 채널에서는 이웃수가 많을 수도 있고, 여러 채널을 모두 종합하면 인구의 대다수가 비슷한 이웃수를 가진다고 가정한다. 이런 가상의 전체 연결망을 만들고 여기에 특정 채널을 선호하는 노드만 뽑아서 구성한 표본 연결망을 뽑아낸다. 전체 연결망과 표본 연결망의 특징을 비교한 결과를 바탕으로 부분으로부터 전체를 추론하는 일을 더 잘 할 수 있다.


구체적으로는 각 노드에 0과 1 사이의 랜덤한 ‘선호도’를 부여한다. 그리고 한 링크가 뽑힐 확률은 그 링크가 연결하고 있는 두 노드의 선호도의 함수로 주어지는데 두 선호도의 최소값을 그 링크가 뽑힐 확률로 준다. (이외에도 다양한 방법이 가능하며 일반적인 경우도 고려했다.) 우리는 이를 ‘채널 선택’ 메커니즘으로 부른다. 그렇게 뽑힌 표본 연결망은 단조 감소하는 이웃수 분포를 보인다. 더 재미있는 건 전체 연결망에 이웃한 두 노드의 이웃수 사이의 상관관계(이웃수 유사성)가 없어도 표본 연결망에서는 양의 상관관계가 나타난다는 것이다. 즉 수많은 데이터에서 관찰된 이웃수 유사성이 채널 선택 메커니즘의 결과에 불과할 수도 있다는 것이다. 물론 이웃수 유사성은 전체 사회연결망에서도 관찰될 수 있다.


하지만 여전히 우리는 전체 사회연결망이 어떤 모양인지 모르므로, 이미 알려진 데이터로부터 얻은 결과를 가능한 한 다 모아서 공통점과 차이점을 찾고, 또한 이로부터 구성될 수 있는 전체 사회연결망이 어떤 모양일지에 대해 계속 연구해야 한다. 그 결과 중 하나를 작년 가을에 아카이브에 올렸는데, 제목은 ‘사회연결망의 정형화된 사실들: 군집 기반 정적 모형(Stylized facts in social networks: Community-based static modeling)’이다. 이 얘기는 나중에 또 기회가 되면 해보겠다.