모두의 계산기
← 블로그로 돌아가기

재미있는 숫자 상식

지프의 법칙 계산: 단어 빈도와 도시 인구가 순위에 반비례하는 원리

지프의 법칙 P(r)∝1/r^s에서 순위와 빈도·도시 규모의 관계를 계산합니다. 지수 s, 정규화 상수, 로그-로그 그래프, 단어 말뭉치와 도시 순위 자료의 한계까지 설명합니다.

긴 글에서 단어를 많이 나온 순서대로 세우면 몇몇 단어는 매우 자주 등장하고, 수많은 단어는 몇 번밖에 나오지 않습니다. 도시를 인구순으로 세워도 큰 도시 몇 곳과 훨씬 많은 중소도시가 나타납니다. 이처럼 크기나 빈도가 순위의 거듭제곱에 반비례하는 패턴을 지프의 법칙(Zipf's law)이라고 합니다.

가장 단순한 형태에서는 2위가 1위의 절반, 3위가 1위의 3분의 1, 10위가 1위의 10분의 1이 됩니다. 하지만 실제 자료가 언제나 이 비율에 정확히 맞는 것은 아닙니다. 지프의 법칙은 단어와 도시를 하나하나 정확히 예측하는 공식이 아니라, 순위가 내려갈수록 규모가 어떤 속도로 줄어드는지 근사하는 경험법칙입니다.

지프의 법칙 공식은 P(r)∝1/r^s

순위를 r, 그 순위에 있는 대상의 빈도나 크기를 P(r)라고 하겠습니다. 일반화된 순위–크기 공식은 다음과 같습니다.

P(r) ∝ 1/r^s
P(r) = C/r^s

r=1이면 1위, r=2이면 2위입니다. s는 규모가 순위에 따라 얼마나 빠르게 줄어드는지 나타내는 지프 지수이며, C는 자료의 단위와 총량에 맞추는 비례상수입니다. 고전적인 지프의 법칙은 s가 약 1인 경우를 가리킵니다. 이때 식은 P(r)=C/r로 단순해집니다.

기호 ∝는 ‘비례한다’는 뜻입니다. `P(r)∝1/r^s`만으로는 실제 빈도나 인구가 결정되지 않습니다. 1위의 크기나 전체 확률처럼 기준이 하나 더 있어야 C를 정할 수 있습니다. 1위 크기가 P(1)이라면 1^s=1이므로 C=P(1)입니다.

s=1일 때 순위별 크기 계산

1위 단어가 12만 번 등장하고 s=1이라고 가정해 보겠습니다. C=120,000이므로 r위 단어의 예상 빈도는 120,000/r입니다.

순위 r계산지프 모형의 빈도
1위120,000÷1120,000회
2위120,000÷260,000회
3위120,000÷340,000회
4위120,000÷430,000회
5위120,000÷524,000회
10위120,000÷1012,000회
100위120,000÷1001,200회

이 표는 법칙의 구조를 보여 주기 위한 이상적인 계산입니다. 실제 말뭉치에서는 2위가 정확히 60,000회가 아닐 수 있고, 중간 순위와 낮은 순위에서 곡선이 휘기도 합니다. 단어의 의미, 문법적 기능, 글의 주제, 장르와 말뭉치의 크기가 실제 빈도에 영향을 줍니다.

지수 s가 1보다 크거나 작으면 무엇이 달라질까

지수 s는 순위가 내려갈 때 크기가 줄어드는 경사를 결정합니다. s가 1보다 크면 감소가 더 가파르고 상위 항목의 집중도가 높습니다. s가 1보다 작으면 감소가 완만해 하위 순위 항목도 비교적 큰 값을 유지합니다.

지수 s1위가 100만일 때 2위10위100위
0.8약 574,349약 158,489약 25,119
1.0500,000100,00010,000
1.2약 435,275약 63,096약 3,981

예를 들어 100위의 크기는 s=0.8일 때 1위의 약 2.51%, s=1일 때 1%, s=1.2일 때 약 0.40%입니다. 지수가 0.2만 달라져도 낮은 순위에서 차이가 크게 벌어집니다. 자료가 지프의 법칙을 따른다고 말할 때 s가 정확히 얼마인지 함께 확인해야 하는 이유입니다.

단어 빈도에서 지프의 법칙이 보이는 방법

말뭉치에서 지프의 법칙을 확인하려면 먼저 분석 단위를 정합니다. 텍스트를 단어 토큰으로 나누고, 같은 단어가 몇 번 등장했는지 셉니다. 빈도가 큰 순서로 정렬한 뒤 가장 흔한 단어에 1위, 다음 단어에 2위를 부여합니다. 각 단어의 순위 r과 빈도 f(r)를 짝지으면 순위–빈도 자료가 만들어집니다.

  1. 분석할 텍스트와 문자 인코딩을 정합니다.
  2. 문장부호, 숫자, 대소문자를 어떻게 처리할지 규칙을 세웁니다.
  3. 형태소 또는 띄어쓰기 단어 가운데 분석 단위를 선택합니다.
  4. 각 단어의 등장 횟수를 집계합니다.
  5. 빈도 내림차순으로 정렬하고 순위를 붙입니다.
  6. log r과 log f(r)를 이용해 직선에 가까운 구간과 지수 s를 추정합니다.

한국어에서는 어절을 그대로 셀지, 조사와 어미를 분리한 형태소를 셀지에 따라 결과가 달라집니다. 영어에서도 대소문자 통합, 구두점 제거, 축약형과 표제어 처리 방식이 순위표를 바꿉니다. 지프 지수는 언어의 고정된 숫자 하나가 아니라 말뭉치와 전처리 방법에 의존하는 추정값입니다.

로그-로그 그래프에서 직선이 되는 이유

멱법칙은 양변에 로그를 취하면 직선식으로 바뀝니다. `P(r)=C/r^s`를 로그로 변환하면 다음 관계를 얻습니다. 로그의 밑은 10이나 자연로그를 사용해도 기울기는 같습니다.

log P(r) = log C - s log r

가로축을 log r, 세로축을 log P(r)로 두면 절편은 log C이고 기울기는 -s입니다. s=1이면 기울기가 -1인 직선이 됩니다. 순위가 10배가 될 때 크기는 10^s분의 1로 줄어듭니다. s=1에서는 순위가 10배가 될 때 빈도나 규모가 10분의 1이 됩니다.

로그-로그 그래프가 눈으로 보기에 곧다고 해서 멱법칙이 확정되는 것은 아닙니다. 로그정규분포나 다른 긴 꼬리 분포도 제한된 구간에서 직선처럼 보일 수 있습니다. Clauset, Shalizi와 Newman은 멱법칙의 범위를 정하고 최대우도법으로 지수를 추정한 뒤 적합도와 대안 분포를 비교해야 한다고 설명했습니다.

빈도가 아니라 확률로 쓰려면 정규화가 필요하다

P(r)을 단순한 크기가 아니라 r위 단어를 뽑을 확률로 해석하려면 모든 순위의 확률 합이 1이어야 합니다. 단어 종류가 N개라면 정규화 상수는 다음과 같이 정해집니다.

p(r) = [1/r^s] ÷ H_(N,s)
H_(N,s) = Σ(k=1부터 N까지) 1/k^s

H_(N,s)는 일반화 조화수입니다. s=1이면 보통의 조화수 H_N이 됩니다. 따라서 유한한 N개 단어에 대한 이상적인 지프 확률은 `p(r)=1/(rH_N)`입니다. C는 임의의 숫자가 아니라 전체 확률을 1로 만드는 1/H_N입니다.

단어 종류가 1,000개일 때 확률 계산

N=1,000이고 s=1이라면 H_1000≈7.48547입니다. 순위별 확률과 100만 단어 말뭉치에서의 이상적인 예상 횟수는 다음과 같습니다.

순위확률 p(r)100만 단어에서 예상 횟수
1위약 0.133592약 133,592회
2위약 0.066796약 66,796회
3위약 0.044531약 44,531회
10위약 0.013359약 13,359회
100위약 0.001336약 1,336회
1,000위약 0.000134약 134회

1위 확률이 50%가 아니라 약 13.36%인 이유는 모든 순위의 상대 가중치 1/r을 더한 뒤 전체를 1로 나눴기 때문입니다. ‘2위는 1위의 절반’이라는 상대 관계와 ‘1위가 전체의 몇 퍼센트인가’라는 절대 확률은 다른 질문입니다. 절대 확률은 단어 종류 N과 지수 s에 의해 달라집니다.

s=1인 무한 지프 분포의 정규화 문제

순위가 무한히 이어지고 s=1이라면 `1+1/2+1/3+…`인 조화급수가 발산합니다. 합이 유한한 값에 수렴하지 않으므로 C를 양수로 두면서 모든 확률의 합을 1로 만들 수 없습니다. 따라서 정확한 s=1 지프 확률분포는 순위 수가 유한하거나 높은 순위에서 법칙이 꺾이는 조건이 필요합니다.

s>1이면 무한급수 Σ1/r^s가 리만 제타함수 ζ(s)로 수렴하므로 `p(r)=1/[ζ(s)r^s]`라는 무한 확률분포를 정의할 수 있습니다. 단어 빈도에서 s가 1 부근이라는 관찰과 확률분포의 엄밀한 정규화는 구분해야 합니다. 실제 말뭉치는 유한하고, 텍스트가 길어지면서 관측되는 단어 종류도 달라집니다.

도시 규모에 적용하는 순위–크기 법칙

도시를 인구가 많은 순서대로 정렬하면 지프형 순위–크기 관계가 관찰되는 경우가 있습니다. 가장 큰 도시의 인구를 P_1이라고 하면 일반식은 `P_r=P_1/r^s`입니다. s=1인 이상적인 경우 2위 도시는 1위의 절반, 3위는 3분의 1, 10위는 10분의 1 규모입니다.

1위 도시 인구가 1,000만 명이라고 가정하면 지프 모형은 다음 값을 냅니다. 이는 실제 특정 국가의 도시 자료가 아니라 공식을 설명하기 위한 가상 예시입니다.

도시 순위s=1 계산예상 인구
1위1,000만÷11,000만 명
2위1,000만÷2500만 명
3위1,000만÷3약 333만 명
4위1,000만÷4250만 명
5위1,000만÷5200만 명
10위1,000만÷10100만 명

도시 규모의 멱법칙적 패턴은 지프보다 앞선 1913년 펠릭스 아우어바흐의 연구에서도 다뤄졌고, 지프가 단어 빈도와 도시 순위 자료를 연구하면서 널리 알려졌습니다. 경제학자 자비에 가베는 1999년 도시가 비슷한 평균 성장률과 변동성을 보이는 무작위 성장 조건에서 지프형 분포가 나타날 수 있는 모형을 제시했습니다. 이는 하나의 이론적 설명이며 모든 도시 체계가 같은 과정으로 형성됐다는 뜻은 아닙니다.

도시의 경계를 어떻게 정하느냐가 결과를 바꾼다

도시 자료에서 가장 먼저 확인할 것은 ‘도시’의 정의입니다. 행정구역 인구를 쓸지, 연속된 시가지 인구를 쓸지, 통근권을 포함한 광역도시권을 쓸지에 따라 같은 지역의 인구와 순위가 달라집니다. 행정 경계가 좁은 중심시는 주변 교외 인구를 제외하고, 행정 경계가 넓은 도시는 농촌 지역까지 포함할 수 있습니다.

가베의 도시 연구도 엄밀히는 단순한 법정 ‘시’보다 도시 집적지(agglomeration)가 적절한 표현이라고 지적합니다. 여러 연구를 종합한 메타분석에서도 행정 단위와 도시 집적지 가운데 무엇을 택하는지가 포함되는 도시 수와 각 도시의 인구를 바꾸고, 추정 지수에 영향을 줄 수 있다고 설명합니다.

  • 행정시 인구인지 연속 시가지 인구인지 확인합니다.
  • 통근권을 포함한 광역도시권 자료인지 확인합니다.
  • 어느 국가 또는 통합된 도시 체계를 분석하는지 정합니다.
  • 포함할 최소 도시 인구와 표본 수를 공개합니다.
  • 같은 기준연도의 인구를 비교합니다.
  • 상위 도시만 선택했는지 전체 도시를 포함했는지 확인합니다.

지프 지수로 도시 집중도를 읽는 방법

1위 도시 규모 P_1을 고정해 비교하면 s가 클수록 순위가 내려갈 때 인구가 더 빠르게 줄어듭니다. 이는 상위 도시의 상대적 우위가 큰 가파른 순위 구조를 뜻합니다. s가 작으면 중하위 도시가 1위와 비교해 상대적으로 큽니다.

추정 지수순위–크기 곡선P_1을 고정했을 때의 해석
s<1완만함중하위 순위 규모가 상대적으로 큼
s≈1지프형r위 규모가 대략 1위의 1/r
s>1가파름상위 순위 집중이 상대적으로 큼

다만 지프 지수 하나를 소득 불평등 지표처럼 해석해서는 안 됩니다. 도시 인구의 순위 분포와 개인·가구 소득의 분포는 다른 자료입니다. 소득 집중을 측정하는 지니계수와 로렌츠 곡선 계산은 모집단의 누적 소득 점유율을 이용합니다. 지프 지수는 순위에 따른 도시 규모 감소율을 나타냅니다.

지프의 법칙과 파레토 분포의 관계

지프의 법칙은 순위 r을 기준으로 크기를 나타내는 순위–크기 표현입니다. 파레토 분포는 어떤 크기 x 이상인 대상의 비율을 누적확률로 표현합니다. 두 식은 꼬리 부분에서 서로 변환할 수 있지만 지수 표기 관례가 다릅니다.

파레토 꼬리: Pr(X≥x) ∝ x^(-α)
순위–크기: x(r) ∝ r^(-1/α)

순위는 해당 크기 이상인 대상의 수와 대략 비례하므로 두 번째 식이 나옵니다. 지프식의 지수를 s라고 쓰면 s=1/α 관계가 됩니다. 지프 법칙 s≈1은 파레토 꼬리 지수 α≈1과 대응합니다. 논문마다 회귀 방향과 지수 기호가 다를 수 있으므로 ‘지수가 1’이라는 말만 보지 말고 어떤 식의 지수인지 확인해야 합니다.

지프의 법칙과 벤포드의 법칙은 다르다

두 법칙 모두 현실 자료에서 불균등한 분포가 나타난다는 공통점 때문에 혼동되지만 측정 대상이 다릅니다. 지프의 법칙은 항목을 크기순으로 정렬한 뒤 순위와 크기의 관계를 봅니다. 벤포드의 법칙은 수치 자료의 첫째 자리가 1부터 9까지 얼마나 자주 나오는지를 봅니다.

구분지프의 법칙벤포드의 법칙
관찰 대상순위와 빈도·규모수의 첫째 자리
대표식P(r)∝1/r^sPr(d)=log10(1+1/d)
대표 예단어 빈도, 도시 규모회계 수치, 인구 등 여러 자릿수 자료
핵심 변수순위 r첫째 숫자 d

벤포드의 법칙에서 첫째 자리 1이 약 30.1%가 되는 이유를 보면 두 공식을 더 분명하게 비교할 수 있습니다. 지프 법칙이 성립한다고 벤포드 법칙도 자동으로 성립하는 것은 아니며 그 반대도 마찬가지입니다.

지프의 법칙과 페이지랭크도 같은 것이 아니다

웹페이지 중요도를 순위로 나열할 때 긴 꼬리 분포가 보일 수 있지만, 구글 페이지랭크의 계산 원리는 지프의 법칙과 다릅니다. 페이지랭크는 웹 링크를 따라 이동하는 확률을 마르코프 전이행렬로 만들고 정상상태 벡터를 구합니다. 지프의 법칙은 계산된 값이나 관측 빈도를 순위별로 정렬했을 때 나타나는 경험적 관계입니다.

페이지랭크의 마르코프 전이행렬과 고유벡터 계산은 각 페이지 점수가 어떻게 만들어지는지를 설명합니다. 그 점수의 순위 분포가 지프형인지 살피는 일은 그다음의 별도 통계 분석입니다. ‘순위’라는 단어가 같다고 계산 원리까지 같은 것은 아닙니다.

지프–만델브로 법칙은 상위 순위의 굴곡을 보정한다

실제 단어 빈도는 최상위 몇 개 단어에서 단순한 C/r^s 곡선과 체계적으로 어긋날 수 있습니다. 브누아 만델브로는 순위에 이동값 q를 더한 형태를 제시했습니다.

지프–만델브로 법칙: P(r)=C/(r+q)^s

q=0이면 원래 지프식으로 돌아갑니다. q가 양수이면 1위와 2위처럼 매우 높은 순위에서 곡선이 완만해질 수 있습니다. 이 확장식도 모든 단어 빈도를 완벽하게 설명하는 법칙은 아닙니다. 2014년 비판적 검토 논문은 말뭉치에 따라 로그정규, 율–사이먼 등 다른 모형이 더 잘 맞을 수 있으며 단순식은 전체 구조의 근사라고 설명합니다.

최소 노력 원리는 가능한 설명이지 증명된 단일 원인이 아니다

지프는 화자와 청자가 의사소통에 들이는 노력이 균형을 이루는 최소 노력 원리를 제안했습니다. 화자는 적은 수의 단어를 반복하면 편하지만 청자는 더 다양한 단어가 있어야 뜻을 쉽게 구별할 수 있습니다. 이 긴장이 지프형 분포와 관련될 수 있다는 설명입니다.

하지만 지프형 패턴이 관찰된다는 사실만으로 최소 노력 원리가 원인이라고 증명되지는 않습니다. 무작위 성장, 선호적 선택, 텍스트 생성 제약과 정보 효율성 등 서로 다른 모형에서도 비슷한 순위 분포가 나올 수 있습니다. 단어 빈도에 관한 비판적 검토는 기존 이론 어느 하나도 관찰된 모든 세부 특성과 독립적인 가정을 함께 충분히 설명하지 못한다고 지적합니다.

실제 자료에서 지프의 법칙을 검사할 때 생기는 함정

  • 로그-로그 그래프가 곧아 보인다는 이유만으로 멱법칙을 확정합니다.
  • 상위 몇 개 항목만 선택한 뒤 전체 자료가 법칙을 따른다고 결론 냅니다.
  • 빈도가 같은 항목의 순위를 어떻게 처리했는지 밝히지 않습니다.
  • 단어 토큰화와 표제어 처리 규칙을 바꾸면서 결과를 직접 비교합니다.
  • 행정시와 광역도시권 인구를 한 표에서 섞습니다.
  • 표본의 최소 순위와 최대 순위를 바꾼 뒤 같은 지수로 해석합니다.
  • 단순 선형회귀의 높은 결정계수만으로 다른 긴 꼬리 분포를 배제합니다.

낮은 빈도의 단어는 표본 변동이 크고 같은 빈도를 가진 단어가 많습니다. 도시 자료에서는 작은 도시의 누락과 경계 정의가 꼬리 모양을 바꿉니다. 멱법칙 연구에서는 분석을 시작하기 전에 자료 범위와 순위 정의를 정하고, 지수 추정의 불확실성과 대안 모형을 함께 제시하는 것이 중요합니다.

지프의 법칙이 정확한 예측 공식이 아닌 이유

단어 빈도에 관한 연구는 큰 규모의 순위–빈도 구조가 지프형이라는 점은 견고하지만 단순한 멱법칙 너머에 체계적인 구조가 있다고 보고합니다. 어떤 단어가 실제로 많이 쓰이는지는 의미와 문법, 주제의 영향을 받습니다. 하나의 지수로 개별 단어의 빈도를 모두 설명할 수 없습니다.

도시 규모에서도 지프 법칙은 보편적으로 정확하지 않습니다. 2018년 도시 규모 연구 문헌 검토는 상위 꼬리 도시에서도 지프 법칙이 항상 관찰되는 것은 아니라고 정리했습니다. 2020년 Nature Communications 연구도 작은 도시와 매우 큰 도시에서 전형적인 지프 분포가 어긋나는 경우가 있으며 도시 체계의 역사적 성장 경로에 따라 분포 형태가 달라질 수 있다고 설명합니다.

따라서 지프의 법칙은 ‘1위 도시를 알면 모든 도시 인구를 정확히 계산할 수 있다’는 예언식이 아닙니다. 실제 순위표가 어느 구간에서 얼마나 가까운지 비교하고, 지수와 오차를 요약하는 기준선에 가깝습니다.

지프의 법칙에 관한 자주 묻는 질문

지프의 법칙에서 2위는 항상 1위의 절반인가요?

s=1인 이상적인 모형에서는 맞습니다. 일반식에서는 2위가 1위의 1/2^s입니다. 실제 자료에서는 오차와 곡선의 굴곡이 있으므로 정확히 절반이라고 단정할 수 없습니다.

P(r)의 P는 확률인가요, 인구인가요?

문맥에 따라 다릅니다. 단어의 상대 빈도라면 확률로 쓸 수 있고 도시 자료라면 population의 첫 글자로 인구를 나타내기도 합니다. 확률이라면 모든 순위의 합이 1이 되도록 정규화해야 합니다. 인구나 등장 횟수처럼 크기를 나타낸다면 1위 값이나 전체 규모로 C를 정합니다.

지프 지수 s는 항상 1인가요?

아닙니다. 고전적인 지프 법칙은 s≈1인 패턴을 가리키지만 실제 추정값은 자료, 분석 구간과 전처리 방법에 따라 달라집니다. 도시 연구에서도 도시 경계와 최소 인구 기준, 포함한 국가와 시점에 따라 지수가 달라질 수 있습니다.

로그-로그 그래프가 직선이면 지프의 법칙이 증명되나요?

증명되지 않습니다. 제한된 범위에서는 다른 분포도 직선처럼 보일 수 있습니다. 멱법칙이 시작되는 최소값을 추정하고, 최대우도법과 적합도 검정을 사용하며, 로그정규분포 같은 대안과 비교해야 합니다.

도시 순위표로 미래 인구를 예측할 수 있나요?

지프식만으로는 미래 인구를 예측할 수 없습니다. 이 식은 한 시점의 순위–크기 구조를 요약합니다. 출생과 사망, 국내외 이동, 행정구역 변경, 주택과 산업 변화 같은 동적 요인을 포함하지 않으므로 별도의 인구 모형이 필요합니다.

지프의 법칙 계산 핵심 정리

지프의 법칙은 순위 r에 있는 항목의 빈도나 크기가 `P(r)=C/r^s`로 줄어드는 멱법칙입니다. s≈1이면 2위는 1위의 약 절반, 10위는 약 10분의 1입니다. 로그를 취하면 `log P=log C-s log r`이므로 로그-로그 그래프의 기울기는 -s가 됩니다.

확률분포로 사용할 때는 정규화가 필요합니다. N개 항목에서는 `p(r)=1/[H_(N,s)r^s]`입니다. s=1이고 순위가 무한하면 조화급수가 발산하므로 그대로는 확률분포를 만들 수 없습니다. 유한한 목록이나 높은 순위에서의 절단이 필요합니다.

단어와 도시 자료는 지프형 큰 구조를 보일 수 있지만 정확한 1/r 법칙은 아닙니다. 단어 전처리 방식, 말뭉치 장르, 도시 경계, 표본 범위와 지수 추정법이 결과를 바꿉니다. 지프의 법칙은 현실의 모든 값을 결정하는 공식이 아니라 불균등한 순위 구조를 간결하게 비교하는 통계적 근사입니다.

참고 자료