No artigo sobre a lei de Benford, expliquei como funciona uma característica numérica da natureza. Aqui, mostro alguns perfis numéricos que podem denunciar fraudes em grandes quantidades de números. Fiz alguns perfis obtidos com tabelas e geradores de números aleatórios. Nos gráficos desta página, as linhas verdes representam os números de Benford; os vermelhos, números encontrados nos serviços de busca Google e Yahoo; e em azul, números encontrados na memória clipboard do computador, copiados com CTRL+C.
Eu adicionei o zero na seqüência de Benford para poder comparar com os dados encontrados nos serviços de busca e na memória. Mas a seqüência real não tem zero porque não é possível se calcular o logaritmo de zero (zero vezes zero é zero). Para o cálculo dos zeros, coloquei um número menor que o do dígito 9.
Dez mil números pseudo-aleatórios (também chamados randômicos) de até nove dígitos:
Todos os algarismos têm uma ocorrência próxima daquela do quatro. Mas repare como o zero aparece menos que os outros algarismos, porque não é colocado antes do um, em geral.
Outra imagem interessante mostra que os dígitos dos serviços de busca parecem ser uma média em relação à Lei de Benford. Isto me leva a especular que o grupo de números nos bancos de dados dos serviços de busca são uma mistura de:
- Números aleatórios e gerados por humanos, que tendem a se aproximar do perfil reto;
- Números gerados pela natureza, que tendem a seguir o perfil logarítmico de Benford.
O código para gerar a série pseudo-aleatória foi digitado diretamente na linha de comando Rebol:
nums: copy "" write/lines clipboard:// clip: for contador 0 10000 1 [ nums: rejoin [ nums " " random 100'000'000 ] ]
O programa em linguagem Rebol acima gerou uma seqüência como mostrada abaixo (mas os números variam, sempre), colocada na variável clip que foi copiada para o clipboard:
clip == { 68935550 44854059 11730766 9702419 97855313 7687301 95670787 13863691 83617277 18419172 1892882 91543935 55541291 40617909 323...
Com relação aos dados do perfil dos serviços de busca, no gráfico acima, noto também uma quantidade de oitos ligeiramente maior do que se esperaria. Isto parece se manter durante leituras em várias oportunidades diferentes, nos serviços de busca, com browsers diferentes. Para mim, é um mistério porque havia mais oitos. Talvez muitas ocorrências do ano de 1998.
Seqüências de números
Uma seqüência de inteiros de 1 a 9999 gerou este perfil:
Compreensivamente, este perfil é extremamente simétrico, com exceção do 0, que não aparece à direita dos algarismos e por isso tem menor freqüência. Com isto, os outros algarismos aparecem ligeiramente mais que dez por cento.
Também se nota que os zeros aparecem menos que nos serviços de busca, mas igual aos zeros pseudo-Benford.
Para gerar a série com números de 1 a dez mil, usei o seguinte programa Rebol diretamente na linha de comando. O programa criou uma série e copiou para a memória:
nums: copy "" write/lines clipboard:// clip: for contador 0 10000 1 [ nums: rejoin [ nums " " contador ] ]
Olá Jose, parabéns pelo artigo. Muito legal.