거듭제곱 법칙과 척도 없는 네트워크
실제 데이터에서 링크수 분포를 어떻게 그려야 거듭제곱 법칙이 제대로 보일까? 선형 묶기, 로그 묶기, 누적 분포, 등수 그림을 같은 데이터로 비교하고, 최소제곱법과 최대우도추정으로 링크수 지수를 재 본다. 마지막으로 “정말 거듭제곱 법칙이 맞는가?”를 묻는 적합도 검정을 직접 돌려 본다.
이 데모는 Claude Opus 5.5가 제작했으며, 경상국립대학교 물리학과 이상훈 교수의 강의자료(2024 복잡계 여름학교, ‘거듭제곱 법칙과 척도 없는 네트워크’ 강의)를 기반으로 합니다.
실제 네트워크에서 를 그리는 “초급(?!)” 방법은 히스토그램(histogram)이다.
이 “잘못된”(하지만 문헌에서 자주 볼 수 있는) 방법, 곧 각 “칸”의 크기 로 일정한 선형 묶기(linear binning)에는 문제가 있다. 가 커질수록 “일정한” 가 로그 척도에서는 점점 더 촘촘해져서 “표본”이 부족해진다. 링크수가 인 노드가 하나만 있는 부분에서는 , 인 평평한 부분(plateau)이 생긴다. 링크수 지수 추정이 쉽지 않다!
로그 척도에서 균일하게 표본 추출을 하기 위해 지수함수적으로 커지는 “칸(bin)”을 이용한다. 첫 번째 칸의 크기 ( 포함), 두 번째 칸 (), 세 번째 칸 () …. 크기가 인 번째 칸에 있는 노드의 수 , 해당 칸에 있는 노드의 평균 링크수 에 대해 그림에 찍을 링크수 분포는 (전체 노드 수 으로 나눠 정규화)이다.
로그 묶기의 결과: 조항현 교수님의 코드 참고(github.com/h2jo/log_binning)(상보적, complementary) 누적 분포 는 링크수가 이상인 노드의 비율이다. 거듭제곱 분포 이면 , 누적 분포도 거듭제곱꼴이고 지수만 1 차이가 난다. 누적하는 과정에서 여러 링크수에 대한 정보가 취합되어 통계가 정확해진다는 장점이 있다.
는 전체 노드들 중 링크수가 이상인 노드의 비율이다. 전체 노드가 개라면, 링크수 인 노드가 노드들을 링크 순서대로 정렬해 등수를 매길 때 등에 해당한다는 뜻이다(“내 위로 개의 노드가 있음”). 따라서 각 에 대해 개수를 세고 다시 합산하는 과정 대신, 노드의 링크수들을 크기 순서대로 정렬해서 등수 그림(rank plot)을 로그-로그 척도로 그리면 된다! 이때 기울기는 이다.
로그-로그 척도에서 직선의 기울기를 추정하는 문제이므로, 최소제곱법(method of least squares)으로 가 최소가 되는 와 을 추정할 수 있다(선형회귀분석, linear regression). 문제점: 로그 척도라서 모형과 데이터가 벗어나는 정도가 위치마다 실제로는 다르다! 좀 더 통계적으로 엄밀한 최대우도추정(maximum likelihood estimation)법을 권장한다[Clauset, Shalizi, and Newman 2009].
(1)의 식은 이산적인 우도를 근사한 것이라 이 작으면(대략 6 미만) 오차가 커진다[Clauset, Shalizi, and Newman 2009]. 데모에서는 근사식 대신 이산적인 로그 우도 를 직접 최대화했고, 근사식의 값도 함께 보여 준다.
이때 링크수 지수에 대한 표준 오차는 이다. 여기서 .
교재 오타 메모『네트워크 사이언스』 222쪽 (4.44)식 위쪽 설명의 “데이터 S(k)의 CDF”는 “데이터에 대한 CDF인 S(k)”가 맞다.
오른쪽 데모는 참값 를 아는 표본에 네 가지 방법을 적용한다. “여러 번 반복”을 누르면 같은 실험을 반복해 각 방법의 추정치가 참값 주변에 얼마나 모이는지 보여 준다.
누적 분포와 최대우도추정으로 맞춘 결과
Kmin에 따른 KS 거리 D
반복 실험: 방법별 추정치 (세로선: 참값)
어떤 데이터라도 앞서 소개한 방법으로 링크수 지수를 측정하면 어떻게든 가장 적합한 과 값이 나오게 된다. 거듭제곱 법칙 가설의 타당성을 정량화하는 적합도 검정을, 통계학에서 중요한 양인 -값(-value)으로 표현해야 한다.
이 얼마나 통계적 변동이 허용하는 범위 안에 있는지를 나타내는 측정량이다. 예를 들어 이면 이 데이터가 추정한 로 설명할 수 있는 범위 한참 밖에 있다는 뜻이다(보통 1% = 0.01 정도를 허용 범위로 본다).
교재 오타 메모『네트워크 사이언스』 222쪽 3.에서 “2번 단계를 2M번”은 “2번 단계를 M번”이 맞다. -값 수식에도 적분하는 함수를 대문자 로 쓰고 적분 아래끝을 그냥 로 쓴 오타가 있다(원문의 오타).
오른쪽 데모는 성질을 아는 다섯 가지 데이터에 검정을 적용한다. 을 자동으로 고르면, 지수함수 분포나 로그 정규 분포라도 꼬리의 좁은 범위만 남겨 거듭제곱 법칙을 기각하지 못하는 경우가 많다. 을 1로 고정해 넓은 범위에서 검정하면 결과가 크게 달라진다. 거듭제곱 법칙을 “얼마나 넓은 범위에서” 주장하는지가 중요한 이유다.
가상 데이터마다 을 고정한 채 를 다시 추정한 뒤 거리를 잰다(클라우셋 등의 원래 방법은 까지 다시 찾는다).
데이터의 누적 분포와 맞춘 거듭제곱 분포
가상 데이터의 거리 분포 p(Dsynthetic)와 Dreal
2018년 공개되고 2019년 출판된 브로이도와 클라우셋의 논문 “Scale-free networks are rare”[Broido and Clauset 2019]는 사회, 생물, 기술, 교통, 정보 분야의 약 1000개 네트워크에 위의 엄격한 통계 도구를 적용했다. 결론은 강한 척도 없는 구조가 경험적으로 드물고, 대부분의 네트워크에서는 로그 정규 분포가 거듭제곱 법칙만큼 또는 더 잘 맞는다는 것이었다.
반론도 이어졌다. 바라바시는 블로그 글 “Love is All You Need”로 반박했고, 보이탈로프 등은 “Scale-free networks well done”[Voitalov et al. 2019]에서 다른 통계적 관점으로 척도 없는 성질이 흔하다고 주장했다. 홀메(Holme)는 논평 “Rare and everywhere”[Holme 2019]에서 이 논쟁이 무엇을 “척도 없음”이라고 부를지에 대한 정의의 문제이기도 하다고 정리했다. 교과서들도 이 스펙트럼의 “well-done” 쪽과 “rare” 쪽 사이 어딘가에 있다.
바라바시 교수의 견해를 따르는 교재의 해결법은 “순수한” 거듭제곱 법칙을 “살짝” 변형하는 것이다.
작은 쪽의 포화(saturation) 와 큰 쪽의 절단(cutoff) 을 넣은 형태다. 한국어로 된 해설로는 KIAS 웹진 호라이즌의 「척도 없는 연결망은 드문 걸까 흔한 걸까?」와 「통계와 메커니즘」을 참고할 수 있다.
논쟁의 양쪽 모두에 진지한 이유가 있다. 데이터를 볼 때는 “얼마나 넓은 범위에서, 얼마나 정확히”를 함께 물을 것