Investigações posteriores sobre autocorrelação (Gaspar): mudanças entre as edições
(Criou página com '==Definição== Partimos da definição de autocorrelação de um sistema de agentes em relação ao estado do mesmo sistema em <math>t = \tau</math>: <center><math>corr(\tau,...') |
(Sem diferença)
|
Edição atual tal como às 15h32min de 19 de setembro de 2011
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)