Investigações posteriores sobre autocorrelação (Gaspar)
Definição
Partimos da definição de autocorrelação de um sistema de agentes em relação ao estado do mesmo sistema em :
sendo o número de agentes e a riqueza do -ésimo agente. Também na forma na forma de produto escalar:
sendo o vetor que representa o sistema de agentes.
Autocorrelação para distribuição uniforme entre 0 e 1
Reconhecemos da definição acima que o denominador depende somente de . Portanto, é esperado que ao longo da simulação, teremos para cada estado de referência um denominador diferente, pois a distribuição de renda do sistema vai se alterando. Entretanto, o denominador será sempre o mesmo em pois trata-se do estado inicial do sistema, que é uma distribuição uniforme de riqueza entre 0 e 1. Pode-se mostrar que, para uma distribuição uniforme,
para uniforme.
Caso particular: quando um agente suga toda a riqueza
Seja o -ésimo agente o agente que vai concentrar toda a riqueza. Então,
em que representa a riqueza total do sistema. Como o sistema é conservativo, podemos usar o estado inicial do sistema para obter de acordo com
A autocorrelação para vale, portanto,
Como a riqueza é concentrada em apenas um agente, sobrevive apenas a -ésima parcela da soma, correspondente à riqueza do -ésimo agente:
Mas
de modo que
Denominador da autocorrelação em função de
Abaixo, gráficos do denominador em função de e de (parâmetro de assimetria) para um sistema de 300 agentes (média entre 100 rodadas, ou amostras) para as regras do mínimo e do perdedor. Observe como o denominador não é afetado por para .
- Gaspar 2006-08-17-MINIMUM-corr denom-tau(3).jpg
minimum
- Gaspar 2006-08-17-LOSER-corr denom-tau(3).jpg
loser
"Anomalias" da autocorrelação
Abaixo, gráficos de para um sistema de 300 agentes (média entre 100 rodadas, ou amostras), sendo um gráfico para cada . Para manter os gráficos limpos, eles são apresentados sem legendas.
Informações úteis:
- Gaspar 2006-08-17-MINIMUM-corr-tau-f50.jpg
minimum, f = 0.50
- Gaspar 2006-08-17-MINIMUM-corr-tau-f40.jpg
minimum, f = 0.40
- Gaspar 2006-08-17-MINIMUM-corr-tau-f30.jpg
minimum, f = 0.30
- Gaspar 2006-08-17-MINIMUM-corr-tau-f20.jpg
minimum, f = 0.20
- Gaspar 2006-08-17-MINIMUM-corr-tau-f10.jpg
minimum, f = 0.10
- Gaspar 2006-08-17-LOSER-corr-tau-f50.jpg
loser, f = 0.50
- Gaspar 2006-08-17-LOSER-corr-tau-f40.jpg
loser, f = 0.40
- Gaspar 2006-08-17-LOSER-corr-tau-f30.jpg
loser, f = 0.30
- Gaspar 2006-08-17-LOSER-corr-tau-f20.jpg
loser, f = 0.20
- Gaspar 2006-08-17-LOSER-corr-tau-f10.jpg
loser, f = 0.10
"Miolo" do programa utilizado para cálculo de autocorrelação
Tendo em vista as anomalias apresentadas acima, apresentamos o pedaço do programa empregado para calcular a autocorrelação. Está sob análise pois, se há alguma real anomalia, deve haver um erro nessa parte do programa.
Breve legenda
B(agente) := vetor de $$$ dos agentes B_TAU(agente,tau) := matriz com estado do sistema para cada tau CORR_DENOM(tau) := vetor com denominadores da autocorrelação para cada tau MEAN_CORR(tempo,tau) := matriz com valores de autocorrelação para cada tau e para cada tempo além de tau; no final, é feita uma média entre todas as amostras para obter melhor resolução
Cálculo do denominador no estado inicial:
CORR_DENOM(0) = DOT_PRODUCT(B,B) DO j = 1, agents !!!salva o estado B_TAU(j,0) = B(j) !!!inicial do END DO !!!sistema MEAN_CORR(0,0) = MEAN_CORR(0,0) + 1 !!!por def, a correlação !!!no estado inicial = 1 ...
Função que calcula autocorrelação:
corr = 0 DO j = 1, agents corr = corr + B(j)*B_TAU(j,k) END DO corr = corr/CORR_DENOM(k)