Como posso analiticamente provar que dividir aleatoriamente um valor resulta em uma distribuição exponencial (por exemplo, renda e riqueza)?

36

Neste artigo atual da CIÊNCIA, o seguinte está sendo proposto:

Suponha que você divida aleatoriamente 500 milhões de renda entre 10.000 pessoas. Só existe uma maneira de oferecer a todos 50.000 partes iguais. Portanto, se você distribuir ganhos aleatoriamente, a igualdade é extremamente improvável. Mas existem inúmeras maneiras de dar a poucas pessoas muito dinheiro e muitas pessoas um pouco ou nada. De fato, dadas todas as maneiras pelas quais você pode dividir a renda, a maioria produz uma distribuição exponencial da renda.

Eu fiz isso com o seguinte código R, que parece reafirmar o resultado:

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)

insira a descrição da imagem aqui

Minha pergunta
Como posso analiticamente provar que a distribuição resultante é realmente exponencial?

Adendo
Obrigado por suas respostas e comentários. Eu pensei no problema e criei o seguinte raciocínio intuitivo. Basicamente, acontece o seguinte (Cuidado: simplificação excessiva à frente): Você meio que aumenta a quantia e joga uma moeda (tendenciosa). Toda vez que você recebe, por exemplo, cabeças, você divide a quantia. Você distribui as partições resultantes. No caso discreto, o lançamento da moeda segue uma distribuição binomial, as partições são distribuídas geometricamente. Os análogos contínuos são a distribuição de poisson e a distribuição exponencial, respectivamente! (Pelo mesmo raciocínio, também fica intuitivamente claro por que a distribuição geométrica e a exponencial têm a propriedade de falta de memória - porque a moeda também não tem memória).

vonjd
fonte
3
Se você distribuir o dinheiro um por um, há muitas maneiras de distribuí-los uniformemente e muito mais para distribuí-los quase uniformemente (por exemplo, uma distribuição que é quase normal e com uma média de e um desvio padrão próximo a 224 )50000224
Henry
@ Henry: Você poderia descrever um pouco mais esse procedimento. Especialmente o que você quer dizer com "um por um"? Talvez você possa até fornecer seu código. Obrigado.
vonjd
vonjd: Comece com 500 milhões de moedas. Aloque cada moeda de forma independente e aleatória entre 10 mil indivíduos com igual probabilidade. Adicione quantas moedas cada indivíduo recebe.
Henry
@ Henry: A declaração original era que a maioria das maneiras de distribuir o dinheiro produz uma distribuição exponencial. As formas de distribuir o dinheiro e as formas de distribuir as moedas não são isomórficas, pois existe apenas uma maneira de distribuir US $ 500.000.000 de maneira uniforme entre 10.000 pessoas (doar a cada US $ 50.000), mas existem 500.000.000! / ((50.000!) ^ 10.000) maneiras de distribuir 50.000 moedas para cada uma das 10.000 pessoas.
Supercat 4/14
1
@ Henry No cenário que você descreveu no comentário mais alto, é definido desde o início que cada pessoa tem a mesma probabilidade de receber a moeda. Essa condição efetivamente atribui um peso enorme à distribuição normal, em vez de considerar igualmente maneiras diferentes de distribuir as moedas.
higgsss

Respostas:

27

Para tornar o problema mais simples, vamos considerar o caso em que os valores permitidos para o compartilhamento de cada pessoa são discretos, por exemplo, números inteiros. Equivalentemente, também se pode imaginar dividindo o "eixo da renda" em intervalos igualmente espaçados e aproximando todos os valores que caem em um determinado intervalo pelo ponto médio.

Denotando a renda total como , o s- ésimo valor permitido como x s , o número total de pessoas como N e, finalmente, o número de pessoas com ações de x s como n s , devem ser satisfeitas as seguintes condições: C 1 ( { n s } ) Σ s n s - N = 0 , e C 2 ( { n s } ) Σ s n sXsxsNxsns

C1({ns})sns-N=0 0,
C2({ns})snsxs-X=0

Observe que muitas maneiras diferentes de dividir o compartilhamento podem representar a mesma distribuição. Por exemplo, se considerarmos dividir US $ 4 entre duas pessoas, dar US $ 3 a Alice e US $ 1 a Bob e vice-versa forneceriam distribuições idênticas. Como a divisão é aleatória, a distribuição com o número máximo de maneiras correspondentes de dividir o compartilhamento tem a melhor chance de ocorrer.

Para obter essa distribuição, é preciso maximizar sob as duas restrições dadas acima. O método dos multiplicadores de Lagrange é uma abordagem canônica para isso. Além disso, pode-se optar por trabalhar comlnW emvez de com opróprioW, pois "ln" é uma função crescente monótona. Ou seja, lnW

W({ns})N!sns!,
lnWWln ondeλ1,2são multiplicadores de Lagrange. Observe que, de acordo coma fórmula de Stirling, ln
lnWns=λ1C1ns+λ2C1ns=λ1+λ2xs,
λ1,2 levando a d ln n !
lnn!nlnnn,
Assim, lnW
dlnn!dnlnn.
Segue-se que nsexp(-
lnWnslnns.
que é uma distribuição exponencial. Pode-se obter os valores dos multiplicadores Lagrange usando as restrições. Desde a primeira restrição, N
nsexp(λ1λ2xs),
ondeΔxé o espaçamento entre os valores permitidos. Da mesma forma, X
N=snssexp(λ1λ2xs)1Δx0exp(λ1λ2x)dx=1λ2Δxexp(λ1),
Δx Portanto, temos exp(-λ1)=N2Δx
X=snsxssxsexp(λ1λ2xs)1Δx0xexp(λ1λ2x)dx=1λ22Δxexp(λ1).
e λ2=N
exp(λ1)=N2ΔxX,
Que este é realmente um ponto máximo, e não um ponto mínimo ou de sela, pode ser visto no Hessian delnW-λ1C1-λ2C2. ComoC1,2é linear emns, é o mesmo quelnW: 2 lnW
λ2=NX.
lnWλ1C1λ2C2C1,2nslnW e 2lnW
2lnWns2=1ns<0,
Portanto, o hessiano é côncavo, e o que descobrimos é realmente um máximo.
2emWnsnr=0 0(sr).

W({ns})W({ns})ns1ns

N1023

higgsss
fonte
1
Obrigado, dê uma olhada na resposta de Glen_b. Isso é consistente com sua resposta?
vonjd 3/09/14
2
@vonjd De nada! Eu acho que a resposta dele é consistente com a minha. Para mim, parece que ele está fazendo uma analogia com o processo de Poisson no seguinte sentido: Considere um processo de Poisson com o "intervalo de tempo médio" de 50.000 e conte 10.000 eventos. Então, em média, o "intervalo total de tempo" é 50.000 x 10.000 = 500 milhões.
higgsss
2
@vonjd Atualizei minha resposta. Mais notavelmente, adicionei a discussão sob a condição de que a distribuição que normalmente observamos é algo próximo da distribuição mais provável.
higgsss
2
Ao considerar casos discretos, seria útil observar que T pode ser dividido entre N pessoas ((N + T-1) escolhe maneiras (N-1))? Se a primeira pessoa recebe f coisas, o número de maneiras pelas quais se pode distribuir o restante é ((N + Tf-2) escolha (N-2)); a soma disso para valores de f de 0 a N é o número total de maneiras de distribuir tudo.
Supercat 03/09
1
TN,ff(N+T-f-2)(N-2)=(N+T-f-2)!/(N-2)!/(T-f)! (N+T-f-2)!/(T-f)!(T-f)N-2TN-2e-(N-2)f/T
17

Na verdade, você pode provar que não é realmente exponencial, quase trivialmente:

500500

No entanto, não é muito difícil perceber que, para o seu exemplo de diferença uniforme, ele deve ser quase exponencial.

Considere um processo de Poisson - onde os eventos ocorrem aleatoriamente ao longo de alguma dimensão. O número de eventos por unidade do intervalo tem uma distribuição de Poisson, e a diferença entre os eventos é exponencial.

Se você tomar um intervalo fixo, os eventos em um processo Poisson que se enquadram nele serão distribuídos uniformemente no intervalo. Veja aqui .

[No entanto, observe que, como o intervalo é finito, você simplesmente não pode observar intervalos maiores que o comprimento do intervalo, e intervalos quase tão grandes serão improváveis ​​(considere, por exemplo, um intervalo de unidade - se você observar intervalos de 0,04 e 0,01, a próxima lacuna que você vê não pode ser maior que 0,95).]

n , o número de pontos no intervalo), você esperaria que esses intervalos fossem distribuídos exponencialmente.

nn+1n não seja muito pequeno.

Mais especificamente, qualquer lacuna que comece no intervalo colocado sobre o processo de Poisson tem a chance de ser "censurada" (efetivamente, cortada mais curta do que seria de outra forma) executando o final do intervalo.

insira a descrição da imagem aqui

É mais provável que intervalos mais longos o façam do que intervalos mais curtos, e mais intervalos no intervalo significam que o comprimento médio do intervalo deve diminuir - intervalos mais curtos. Essa tendência a ser "cortada" tenderá a afetar a distribuição de intervalos mais longos do que os curtos (e não há chance de que um intervalo limitado ao intervalo exceda a duração do intervalo - portanto, a distribuição do tamanho do intervalo deve diminuir sem problemas zero no tamanho de todo o intervalo).

No diagrama, um intervalo longo no final foi reduzido e um intervalo relativamente menor no início também é menor. Esses efeitos nos afastam da exponencialidade.

n

n

Aqui está uma simulação da distribuição de lacunas para n = 2:

insira a descrição da imagem aqui

Não é muito exponencial.

n1n+1

insira a descrição da imagem aqui

exp(-21x)

insira a descrição da imagem aqui

n=10000

Glen_b -Reinstate Monica
fonte
2
Então, só para entendi corretamente: Você está dizendo que ele é não exponencial?!? higgsss prova acima que é exponencial!
vonjd
3
Deixe-me citar minha resposta: (i) "você pode provar que não é realmente exponencial" MAS (ii) para as lacunas uniformes que você analisou "... deve estar perto do exponencial" ... "desde que n não seja muito pequeno." ... O que não está claro?
Glen_b -Reinstala Monica
5
Esbocei a prova (trivial, óbvia) de que não é realmente exponencial em minha resposta. higgss não prova que é exponencial. Essa (excelente) resposta é completamente consistente com minhas declarações. Nele, higgsss prova que seránsexp(-λ1-λ2xs)
2
Eu acho que essa resposta é uma ótima maneira de encarar o problema e merece mais votos. No entanto, receio que a analogia com o processo de Poisson funcione (por exemplo, a que "tempo" corresponde)) possa parecer pouco clara. Você gostaria de dar mais alguns detalhes?
higgsss
3
@higgsss Eu reformulei um pouco (removendo a referência ao tempo), adicionei um pequeno detalhe e um link. Posso acrescentar mais algumas discussões mais tarde. Se você tiver alguma sugestão específica, eu estaria interessado em melhorar ainda mais minha resposta.
Glen_b -Reinstala Monica
8

Vamos supor que o dinheiro seja infinitamente divisível para que possamos lidar com números reais e não com números inteiros.

t=500000000n=10000

p(x)=n-1t(1-xt)n-2
0 0xt
P(Xx)=1-(1-xt)n-1.

Xtt-Xnn-1n=2n=1

nnt(1-ym)mexp(-y)m

Henry
fonte
8

Dizer "suponha que você divida aleatoriamente 500 milhões de renda entre 10.000 pessoas" não é suficientemente específico para responder à pergunta. Existem muitos processos aleatórios diferentes que podem ser usados ​​para alocar uma quantia fixa de dinheiro a um número fixo de pessoas, e cada um terá suas próprias características para a distribuição resultante. Aqui estão três processos generativos em que eu poderia pensar e as distribuições de riqueza que cada uma cria.

library(MASS)

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

Método 1, publicado pelo OP:

Escolha números 'p' de [0, w) uniformemente aleatoriamente. Classifique estes. Acrescente '0' à frente. Distribua valores em dólares representados pelas diferenças entre elementos sucessivos nesta lista.

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)

intervalos intervalos uniformes

Método 2:

Escolheu números 'p' de [0, w) uniformemente aleatoriamente. Considere esses 'pesos', para que 'w' não seja realmente importante nesse estágio. Normalize os pesos. Distribua valores em dólares representados pela fração de 'w' correspondente a cada peso.

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)))

pesos redimensionados

Método 3:

Comece com 'p' 0s. w vezes, adicione 1 a um deles, selecionado uniformemente aleatoriamente.

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)))

dólares iterativos

Todd Johnson
fonte
4

Deixe-me adicionar algo sobre o seu adendo.

p(x)=N-1X(1-xX)N-2,
NX

Mm

p(m)=N-1M+1j=0 0N-3(1-mM-j)N-2.
MNN

N

No entanto, a execução da análise de erros não parece ser direta, porque diferentes amostras neste caso não são independentes. Eles precisam somar a quantia total, e quanto a primeira pessoa recebe afeta a distribuição de probabilidade da segunda pessoa e assim por diante.

Minha resposta anterior não sofre com esse problema, mas acho que seria útil ver como ele pode ser resolvido nessa abordagem.

higgsss
fonte
3

Boa análise teórica feita pelas respostas votadas. No entanto, aqui está minha visão empírica simples sobre por que a distribuição é exponencial.

Quando você distribui o dinheiro aleatoriamente , vamos considerar que você faz um por um. Seja S a soma original.

Para o primeiro homem, você deve escolher uma quantidade aleatória entre 0 e S. Assim, em média, você escolherá S / 2 e permanecerá com S / 2.

Para o segundo homem, você escolheria aleatoriamente entre 0 e, em média, S / 2. Assim, em média, você escolherá S / 4 e permanecerá com S / 4.

Então, você basicamente dividiria a soma pela metade de cada vez (estatisticamente falando).

Embora em um exemplo da vida real você não tenha valores continuamente reduzidos pela metade, isso mostra por que se deve esperar que a distribuição seja exponencial.

Bogdan Alexandru
fonte
3
Seu algoritmo tende a dar mais dinheiro para a primeira pessoa do que para qualquer outra. Existem outras abordagens que não têm esse viés.
Henry
@ Henry De que outra forma você começaria a compartilhar o dinheiro? Você deve começar com alguém. E quando você faz, você tem toda a quantia à sua frente. Dar a ele uma fração aleatória significa literalmente selecionar aleatoriamente a partir da soma inteira. Não se pode dizer que a suposição de ter um "primeiro homem" esteja errada, porque, caso contrário, quem dividir o dinheiro simplesmente dividiria a soma pelo número de homens, pois ele sabe antecipadamente quantas pessoas existem. Isso é apenas meu ponto de vista: quando você diz que dividir o dinheiro "aleatoriamente", não será simplesmente um homem recebendo mais dinheiro
Bogdan Alexandru
Bogdan Alexandru: Meu algoritmo (outra resposta) tem o recurso de que a distribuição para cada indivíduo é a mesma, independentemente de serem escolhidas primeiro, no meio ou no último. Também corresponde a uma densidade uniforme no espaço limitado pela quantidade total alocada.
Henry