금액을 무작위로 나누면 지수 분포 (예 : 소득 및 부)가 발생한다는 것을 분석적으로 어떻게 증명할 수 있습니까?


36

과학 의 현재 기사에서 다음이 제안되고 있습니다.

10,000 명의 사람들 사이에서 5 억의 수입을 무작위로 나눕니다. 모든 사람에게 동등한 50,000의 몫을 줄 수있는 방법은 한 가지뿐입니다. 따라서 수입을 무작위로 배분한다면 평등은 거의 불가능합니다. 그러나 소수의 사람들에게 많은 돈을주고 많은 사람들에게 약간의 돈을 줄 수있는 수많은 방법이 있습니다. 실제로 소득을 분배 할 수있는 모든 방법을 고려할 때 대부분 소득의 지수 분포를 낳습니다.

결과를 다시 확인하는 것처럼 보이는 다음 R 코드 로이 작업을 수행했습니다.

library(MASS)

w <- 500000000 #wealth
p <- 10000 #people

d <- diff(c(0,sort(runif(p-1,max=w)),w)) #wealth-distribution
h <- hist(d, col="red", main="Exponential decline", freq = FALSE, breaks = 45, xlim = c(0, quantile(d, 0.99)))

fit <- fitdistr(d,"exponential")
curve(dexp(x, rate = fit$estimate), col = "black", type="p", pch=16, add = TRUE)

여기에 이미지 설명을 입력하십시오

내 질문
결과 분포가 실제로 지수임을 분석적으로 증명하려면 어떻게해야합니까?

부록
답변과 의견에 감사드립니다. 나는 문제에 대해 생각하고 다음과 같은 직관적 인 추론을 생각해 냈습니다. 기본적으로 다음과 같은 상황이 발생합니다 (주의 : 지나치게 단순화) : 금액을 따라 가서 (바이어스 된) 동전을 던집니다. 예를 들어 머리를 얻을 때마다 금액을 나눕니다. 결과 파티션을 배포합니다. 별개의 경우, 동전 던지기는 이항 분포를 따르고, 파티션은 기하학적으로 분포됩니다. 연속 유사체는 각각 포아송 분포와 지수 분포입니다! (동일한 추론으로 기하학적 및 지수 분포가 왜 메모리가 없기 때문에 왜 기하학적 및 지수 분포에 메모리가없는 속성이 있는지 명확하게 알 수 있습니다).


3
돈을 하나씩 나누어주는 경우, 균등하게 분배하는 방법은 많고 거의 균등하게 분배하는 방법이 많이 있습니다 (예 : 거의 정상이고 평균 이고 표준 편차가 가까운 분포 )22450000224
Henry

@ 헨리 :이 절차를 조금 더 설명해 주시겠습니까? 특히 "하나 하나"란 무엇을 의미합니까? 아마도 코드를 제공 할 수도 있습니다. 감사합니다.
vonjd

vonjd : 5 억 개의 동전으로 시작하십시오. 동일한 확률로 10,000 명의 개인 사이에서 각 동전을 독립적으로 그리고 무작위로 할당하십시오. 각 개인이 얻는 동전 수를 합산하십시오.
Henry

@ 헨리 (Henry) : 원래 진술은 현금 수익률을 분배하는 대부분의 방법이 지수 분포를 산출한다는 것입니다. 현금을 분배하는 방법과 동전을 분배하는 방법은 동형이 아닙니다. 10,000 명의 사람들 사이에 500,000,000 달러를 균일하게 분배 할 수있는 방법은 하나 뿐이지 만 (각 $ 50,000 씩 ) 500,000,000! / ((50,000!) ^ 10,000) 방법이 있습니다. 10,000 명의 사람들에게 50,000 개의 코인을 분배하는
supercat

1
@ 헨리 (Henry) 맨 위 주석에서 설명한 시나리오에서는 처음부터 각 사람이 동전을 얻을 확률이 동일하게 설정됩니다. 이 조건은 동전을 분배하는 다른 방법을 동등하게 고려하는 대신 정규 분포에 큰 가중치를 효과적으로 할당합니다.
higgsss

답변:


27

문제를 더 간단하게하기 위해 각 사람의 공유에 허용되는 값이 정수인 경우를 고려해 봅시다. 마찬가지로, "소득 축"을 같은 간격으로 분할하고 중간 점에 의해 주어진 간격으로 떨어지는 모든 값을 근사화하는 것을 상상할 수 있습니다.

로 전체 수입 나타내는 의 과 같은 값을 허용 번째 , 같은 사람의 총 수 , 마지막의 주식을 가진 사람의 수 로 , 다음과 같은 조건 만족해야합니다 : 및 x Xsxsx s n s C 1 ( { n s } ) s n sN = 0 , C 2 ( { n s } ) s n s x sX = 0.Nxsns

C1({ns})snsN=0,
C2({ns})snsxsX=0.

공유를 나누는 여러 가지 방법이 동일한 분포를 나타낼 수 있습니다. 예를 들어, 우리 가 두 사람 사이에 $ 4를 나누는 것을 고려한다면 Alice 에게 $ 3를 주고 Bob에게 $ 1을주고 그 반대의 경우도 같은 분포를냅니다. 나눗셈이 임의이므로, 나눗셈을 나누는 최대 수의 해당 방법으로 분포가 발생할 가능성이 가장 높습니다.

이러한 분포를 얻으려면 위의 두 제약 조건에서 . Lagrange multipliers의 방법은이를위한 정식 접근법입니다. 또한, 하나의 작동하도록 선택할 수 대신에 로 자체 " "단조 증가 함수이다. 즉, 여기서 는 라그랑주 승수입니다. 공지 사항이에 따라 스털링의 공식 ,

W({ns})N!sns!,
lnWWln
lnWns=λ1C1ns+λ2C1ns=λ1+λ2xs,
λ1,2
lnn!nlnnn,
이어지는 따라서 그런 다음 지수 분포입니다. 제약 조건을 사용하여 Lagrange 승수 값을 얻을 수 있습니다. 첫 번째 제약에서
dlnn!dnlnn.
lnWnslnns.
nsexp(λ1λ2xs),
N=snssexp(λ1λ2xs)1Δx0exp(λ1λ2x)dx=1λ2Δxexp(λ1),
여기서 는 허용되는 값 사이의 간격입니다. 마찬가지로 따라서 Δx
X=snsxssxsexp(λ1λ2xs)1Δx0xexp(λ1λ2x)dx=1λ22Δxexp(λ1).
exp(λ1)=N2ΔxX,
및 이것은 최소 또는 안장 점이 아니라 최대 값이라는 것을 의 Hessian에서 볼 수 있습니다. . 는 에서 선형 이므로 와 동일합니다 . 및
λ2=NX.
lnWλ1C1λ2C2C1,2nslnW
2lnWns2=1ns<0,
2lnWnsnr=0(sr).
그러므로 헤 시안은 오목하고, 우리가 찾은 것은 실제로 최대입니다.

함수 는 실제로 분포의 분포입니다. 분포의 경우 일반적으로 가장 가능성이 높은 분포에 가까운 것으로 관찰되며 는 충분히 좁아 야합니다. Hessian에서이 조건은 있습니다. (스털링의 공식이 신뢰할 수있는 조건이기도합니다.) 따라서 실제로 지수 분포를 확인하려면 소득 축의 분할 (OP의 히스토그램의 빈에 해당)이 분할의 인원이 훨씬 커질만큼 충분히 넓어야합니다. 통일보다. 가 0이되는 꼬리 조건은 항상 실패 할 것입니다.W({ns})W({ns})ns1ns

참고 : 이것은 물리학 자들이 통계 역학에서 볼츠만 분포 를 정확히 이해하는 방식 입니다. 고려하면 지수 분포는 기본적으로이 경우에 정확합니다 .N1023


1
감사합니다. Glen_b의 답변을 살펴보십시오. 이것은 당신의 대답과 일치합니까?
vonjd

2
@vonjd 천만에요! 나는 그의 대답이 나의 것과 일치한다고 생각한다. 나에게 그는 다음과 같은 의미에서 Poisson 프로세스와 유사하다고 생각합니다. "평균 시간 간격"이 50,000 인 Poisson 프로세스를 고려하고 10,000 개의 이벤트를 계산하십시오. 그런 다음 평균 "전체 시간 간격"은 50,000 x 10,000 = 5 억입니다.
higgsss

2
@vonjd 내 답변을 업데이트했습니다. 가장 주목할만한 것은, 우리가 일반적으로 관찰하는 분포가 가장 유망한 분포에 가깝다는 조건에 대한 논의를 추가했습니다.
higgsss

2
별개의 사례를 고려할 때 T가 N 명 ((N + T-1) 선택 (N-1))으로 나눌 수 있다는 것을 관찰하는 것이 도움이됩니까? 첫 번째 사람이 물건을받는 경우, 나머지를 분배 할 수있는 방법의 수는 ((N + Tf-2)는 (N-2)를 선택합니다); 0에서 N까지의 f 값에 대한 합계는 모든 것을 분배하는 총 수입니다.
supercat

1
@supercat 그것은 나에게 지수 분포를 유도하는 다른 방법처럼 보입니다. 한다고 가정 (우리는의 값을 고려 닫지 분포의 꼬리에 있습니다). 그리고, 선택하는 . TN,ff(N+Tf2)(N2)=(N+Tf2)!/(N2)!/(Tf)! (N+Tf2)!/(Tf)!(Tf)N2TN2e(N2)f/T
higgsss

17

실제로 당신은 그것이 실제로 사소한 것이 아니라는 것을 증명할 수 있습니다 :

주어진 점유율이 억 이상일 확률을 계산합니다 . 지수 랜덤 변수가 억을 초과 할 확률과 비교하십시오 .500500

그러나 균일 갭 예제에서 지수에 가까워 야한다는 것을 너무 어렵지 않습니다.

특정 차원에서 이벤트가 무작위로 발생 하는 포아송 프로세스를 고려하십시오 . 간격 단위당 이벤트 수에는 포아송 분포가 있으며 이벤트 간 격차는 지수입니다.

고정 간격을 사용하면 Poisson 프로세스의 해당 이벤트가 해당 간격에 일정하게 분산됩니다. 여기를 참조 하십시오 .

[그러나 간격이 유한하기 때문에 단순히 간격 길이보다 더 큰 간격을 관찰 할 수 없으며 거의 ​​같은 간격이 거의 발생하지 않을 것입니다 (예 : 단위 간격으로-간격이 0.04 이상인 경우 0.01, 다음 간격은 0.95보다 클 수 없습니다.]

따라서 간격의 분포에 대한 고정 간격으로주의를 제한하는 효과 (간격의 , 간격의 점 수 감소)와는 별도로 이러한 간격이 기하 급수적으로 분포 될 것으로 예상됩니다.n

이제 코드에서 유니폼을 배치하고 연속적인 순서 통계의 차이를 찾아 단위 간격을 나누고 있습니다. 여기서 단위 간격은 시간이나 공간이 아니라 돈의 차원을 나타냅니다 (끝에서 끝까지 배치 된 50000 백만 센트로 돈을 상상하고 단위 간격을 덮는 거리를 호출하십시오. 여기서 우리는 몇 센트를 가질 수 있습니다). 우리는 점을 내려 놓고 , 그 간격을 "공유" 로 나눕니다 . 포아송 프로세스와 구간의 균일 점 사이의 연결 때문에, 유니폼의 순서 통계의 간격은 이 너무 작지 않은 한 지수 적으로 보이는 경향이 있습니다.nn+1n

보다 구체적으로, 포아송 프로세스를 통해 배치 된 간격에서 시작하는 간격은 간격의 끝을지나 "검열"(효과적으로 이전보다 짧게 절단) 될 수 있습니다.

여기에 이미지 설명을 입력하십시오

간격이 길수록 간격보다 짧을 가능성이 높으며 간격에 간격이 많으면 평균 간격 길이를 줄여야합니다. 이 '차단'경향은 짧은 간격보다 긴 간격의 분포에 영향을 미치는 경향이 있습니다 (간격으로 제한되는 간격이 간격의 길이를 초과 할 가능성이 없으므로 간격 크기의 분포가 부드럽게 감소해야합니다) 전체 간격의 크기에서 0으로 설정).

다이어그램에서 끝 부분의 긴 간격이 짧아지고 시작 부분의 간격이 짧아집니다. 이러한 효과는 우리를 지수에서 멀어지게합니다.

( 균일 주문 통계 간의 격차 의 실제 분포 는 Beta (1, n)입니다.)n

따라서 가장 큰 값의 밀도가 더 빨리 떨어지기 때문에 큰 의 분포 는 작은 값에서 지수가 커지고 큰 값에서는 지수가 작아집니다.n

n = 2에 대한 갭 분포의 시뮬레이션은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

별로 지수가 아닙니다.

그러나 n = 20 인 경우에는 아주 가깝게 보이기 시작합니다. 실제로 이 커지면 평균 의 지수로 근사화됩니다 .n1n+1

여기에 이미지 설명을 입력하십시오

그것이 실제로 평균 1/21 인 지수라면 는 균일 할 것입니다.exp(21x)

여기에 이미지 설명을 입력하십시오

낮은 값의 불균일성은 간격 값에 해당합니다. 위의 논의에서 기대할 수있는 것은 포아송 프로세스를 유한 간격으로 "차단"하는 효과가 보이지 않습니다. 가장 큰 격차. 그러나 점점 더 많은 가치를 취하면 꼬리까지 더 나아가므로 결과는 거의 균일 해지기 시작합니다. 에서 매우 가까운 기하 급수적으로 매우 가능성에서 제외 분산, 아주 아주 큰 값으로해야한다 (돈의 주식을 나타냄) 간격 - 해당하는 디스플레이 균일 구분하기 어렵게 될 것이다.n=10000


2
그래서 당신을 올바르게 이해하기 위해서 : 당신은 그것이 지수 가 아니라고 말하고 있습니까?!? higgsss는 그것이 지수 임을 증명 합니다!
vonjd

3
내 대답을 인용하겠습니다. (i) "실제로 지수 적이 지 않다는 것을 증명할 수 있습니다"그러나 (ii) "... 그것은 n이 아닌 한 지수에 가까워 야합니다"라는 균일 한 간격에 대해 ... 너무 작은." ... 불분명 한 것은 무엇입니까?
Glen_b

5
나는 그것이 실제로 내 대답에 지수가 아니라는 (사소하고 명백한) 증거를 설명했다. higgss는 것을 증명하지 않는 것입니다 지수. 그 (우수한) 대답은 나의 진술과 완전히 일치합니다. higgsss는 대략 지수가nsexp(λ1λ2xs)
Glen_b

2
이 답변은 문제를 살펴볼 수있는 좋은 방법이며 더 많은지지를받을 만하다고 생각합니다. 그러나 포아송 프로세스와의 비유가 어떻게 작동하는지 (예를 들어, "시간"이 무엇인지) 불분명하게 보일지 모른다. 더 자세한 내용을 기꺼이 주시겠습니까?
higgsss

3
@ higgsss 나는 약간의 단어를 바 꾸었습니다 (시간에 대한 참조 제거), 약간의 세부 사항과 링크가 추가되었습니다. 나중에 더 많은 토론을 추가 할 수 있습니다. 구체적인 제안 사항이 있으면 답변을 더 개선하는 데 관심이 있습니다.
Glen_b

8

돈이 무한히 나눌 수 있다고 가정하여 정수가 아닌 실수를 다룰 수 있다고 가정 해 봅시다.

그러면 개인에 걸쳐 분할 된 의 균일 한 분포는 각 개인에 대해 한계 밀도를 제공합니다 대해 , 각 개인에 대한 한계 누적 확률t=500000000n=10000

p(x)=n1t(1xt)n2
0xt
P(Xx)=1(1xt)n1.

이것을 적용하려면 한계 분포를 사용하여 임의 의 개인에게 임의의 양의 를 할당 한 다음 를 , 을 로 줄이고 반복하십시오. 일 때 , 이것은 각 개인에게 예상 한만큼 남은 양에 대해 균일 한 한계 분포를 줄 것입니다. 때 남은 모든 돈을 한 명의 남은 사람에게줍니다.XttXnn1n=2n=1

이 표현식은 지수가 아닌 다항식이지만 큰 가까운 모수를 사용하여 지수 분포와 그 효과를 구별하기 어려울 수 있습니다 . 로 이므로 분포는 점진적으로 지수 입니다. nnt(1ym)mexp(y)m


8

"1 만 명의 사람들에게 5 억의 소득을 무작위로 나눠준다"는 것은 그 질문에 대답하기에 충분하지 않다. 고정 된 금액의 사람들에게 고정 된 금액의 돈을 할당하는 데 사용할 수있는 다양한 랜덤 프로세스가 있으며, 각 배포에는 고유 한 특성이 있습니다. 여기에 내가 생각할 수있는 세 가지 생성 과정과 각각의 부의 분배가 있습니다.

library(MASS)

w <- 500000000 #wealth
p <- 10000 #people

OP가 게시 한 방법 1 :

무작위로 [0, w)에서 'p'숫자를 균일하게 선택하십시오. 이것들을 정렬하십시오. 앞에 '0'을 추가하십시오. 이 목록에서 연속적인 요소의 차이로 표시되는 달러 금액을 나눠주십시오.

d <- diff(c(0,sort(runif(p-1,max=w)),w)) #wealth-distribution
h <- hist(d, col="red", main="Exponential decline", freq = FALSE, breaks = 45,
     xlim = c(0, quantile(d, 0.99)))
fit <- fitdistr(d,"exponential")
curve(dexp(x, rate = fit$estimate), col = "black", type="p", 
      pch=16, add = TRUE)

균일 한 간격 나누기

방법 2 :

[0, w)에서 'p'숫자를 무작위로 균일하게 선택하십시오. 이 '가중치'를 고려하면이 단계에서 'w'는 실제로 중요하지 않습니다. 가중치를 정규화하십시오. 각 가중치에 해당하는 'w'의 분수로 표시되는 달러 금액을 나눠주십시오.

d <- runif(p,max=w) #weigh-distribution
d <- d/sum(d)*w #wealth-distribution
h <- hist(d, col="red", main="pretty uniform", freq = FALSE, breaks = 45, 
          xlim = c(0, quantile(d, 0.99)))

재조정 된 가중치

방법 3 :

'p'0으로 시작하십시오. w 번, 무작위로 균일하게 선택된 1 개에 1을 더하십시오.

d <- rep(0, p)
for( i in 1:5000000){ ## for-loops in R are terrible, but this gives the idea.
    k <- floor(runif(1, max=p)) + 1    
    d[k] = (d[k] + 1)
}
h <- hist(d, col="red", main="kinda normalish?", freq = FALSE, breaks = 45,
          xlim = c(0, quantile(d, 0.99)))

반복적 인 달러


4

부록에 관한 내용을 추가하겠습니다.

연속적인 경우 Glen_b와 Henry가 지적한대로 각 사람이받는 금액에 대한 정확한 PDF는 여기서 은 인원 수이고 는 총 금액입니다.

p(x)=N1X(1xX)N2,
NX

이산적인 경우에, 분배 할 코인 이 있다고 가정하면 , 특정 사람이 코인 을받을 확률 은 일 때 두 경우가 서로 동의합니다. 충분히 큰 경우 꼬리에서 멀어지면 지수 분포처럼 보입니다.MmMNN

p(m)=N1M+1j=0N3(1mMj)N2.
MNN

두 경우 모두, 이 실제 확률 분포에서 번 샘플링 하므로 유한 샘플 크기와 관련된 오류가 발생합니다.N

그러나이 경우 서로 다른 샘플링이 독립적이지 않기 때문에 오류 분석을 수행하는 것이 간단 해 보이지 않습니다. 그들은 총액까지 합산해야하며, 첫 번째 사람이받는 금액은 두 번째 사람의 확률 분포 등에 영향을 미칩니다.

내 이전 답변은이 문제로 고통받지 않지만이 접근법에서 어떻게 해결할 수 있는지 보는 것이 도움이 될 것이라고 생각합니다.


3

upvoted answer에 의해 수행되는 좋은 이론적 분석. 그러나 분포가 지수 인 이유에 대한 간단하고 경험적인 견해는 다음과 같습니다.

돈을 무작위로 배분할 때 , 하나씩 배정 한다고 가정 해 봅시다. S를 원래 합계로 둡니다.

첫 번째 사람의 경우 0과 S 사이의 임의의 양을 선택해야합니다. 따라서 평균적으로 S / 2를 선택하고 S / 2를 유지합니다.

두 번째 사람의 경우 0과 평균 S / 2 사이에서 무작위로 선택합니다. 따라서 평균적으로 S / 4를 선택하고 S / 4를 유지합니다.

따라서 기본적으로 합계를 절반으로 나눕니다 (통계적으로 말하면).

실제 예제에서는 값을 계속 절반으로 줄이지 않지만 분포가 지수로 예상되는 이유를 보여줍니다.


3
당신의 알고리즘은 다른 사람보다 첫 번째 사람에게 더 많은 돈을 제공하기 위해 수십입니다. 이 편견이없는 다른 접근법이 있습니다.
Henry

@Henry 어떻게 다른 돈을 공유하기 시작 하시겠습니까? 누군가와 함께 시작해야합니다. 그리고 당신이 할 때, 당신은 당신 앞에 전체 금액이 있습니다. 그에게 무작위로 분수를 준다는 것은 전체 합계에서 무작위로 선택하는 것을 의미합니다. "첫 사람"이 있다고 가정 할 수 없다. 그렇지 않으면 돈을 나누는 사람이 그 사람의 수를 미리 알고 있기 때문에 돈을 사람의 수로 나누기 때문이다. 그건 내 견해 일뿐입니다. 돈을“무작위로”나누었다 고 말하면 한 사람이 더 많은 돈을 벌게됩니다.
Bogdan Alexandru

Bogdan Alexandru : 내 알고리즘 (또 다른 대답)은 각 개인의 분포가 처음, 중간 또는 마지막에 선택 되든 상관없이 동일하다는 특징이 있습니다. 또한 할당되는 총량으로 제한되는 공간 전체의 균일 한 밀도에 해당합니다.
Henry
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.