Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Existem formas de detectar fraudes em bases de dados?

+4 votos
783 visitas
perguntada Fev 5, 2016 em Dados e Bases de Dados por danielcajueiro (5,016 pontos)  

Data Fraud

Compartilhe

1 Resposta

+2 votos
respondida Fev 5, 2016 por danielcajueiro (5,016 pontos)  

Uma forma bastante popular é considerar a Lei de Benford. Embora possa parecer magia a primeira vista, ela adere bem a muitos dados reais afirmando que a distribuição dos primeiros dígitos de números coletados aleatoriamente do mundo real não é a mesma. Numa base de dados é muito mais provável um número que começa com 1 (30% de chance), que um que começa com 2 (18% de chance) e assim por diante.

Dessa forma, usando essa idéia é possível checar se números de relatórios ou outros documentos foram ou não fabricados, pois normalmente fraudes desse tipo não são sofisticadas o suficiente para lidar com esses detalhes.

Por que você mesmo não testa como é difícil fraudar?

Toss a coin

Faça um teste com alguns amigos seus! Peça para a metade deles jogarem 30 moedas e anotarem a sequência de caras e coroas e a outra metade para fraudar o processo,isto é, construir uma sequência de caras e coroas sem jogar as moedas (e sem usar o computador). Provavelmente, no primeiro caso, você encontrará sequências mais longas só de caras ou coroas que no segundo caso.

A imagem será apresentada aqui.

A lei de Benford diz que

\[\text{Prob(O primeiro dígito ser igual a }d)=\log_{10}(1+1/d), \;\; d=1,\cdots,9\]

Logo, esse resultado afirma que a probabilidade do primeiro dígito ser 1 é em torno de 30%, enquanto a probabilidade do primeiro dígito ser igual a 9 é apenas 4.9%.

É possível explicar essa lei?

Embora a prova dela não seja trivial (e, de fato, ela ficou muitos anos sem ser provada), a intuição por detrás desse resultado é bem simples.

Para desenvolver a intuição lembre que um número \(x\) sempre começará com o dígito 1 quando a parte decimal de \(log_{10} x \) pertencer ao conjunto \([0,0.301)\). Por exemplo, \(\log_{10}(150)\approx 2.176=2+0.176\).

Por que?

Note que \(\log_{10}(200)=\log_{10}(2\times 100)=\log_{10}(100)+\log_{10}(2)\) \(=2+0.301\) e duzentos é justamente o primeiro número da ordem de centena que não começa com o dígito 1. Ou seja, o logarítmo de qualquer número positivo \(x\) pode ser escrito como \(log_{10} x=n+m\), onde \(n\) é a parte inteira e \(m\) é parte decimal.

Enquanto \(n\) determina o tamanho do número, \(m\) determina o primeiro dígito do número. Por exemplo, todos os números abaixo começam com 1:

\(150: \; \log_{10}(150)\approx 2.176=2+0.176\)

\(1500: \; \log_{10}(1500)\approx 3.176=3+0.176\)

\(15000: \; \log_{10}(1500)\approx 4.176=4+0.176\)

Quando um número começa com 2?

Quando a parte decimal dele pertencer ao conjunto \([0.301,0.477)\). Faça o mesmo exercício acima para os números 250, 2500 e 25000.

O mesmo argumento é válido para todos os dígitos \(1,\cdots,9\).

Finalmente, é importante você notar que o tamanho da faixa de um número que começa com um dígito 1 que é 0.301-0=0.301 é maior que a faixa de números que começam com um dígito 2 que é dada por 0.477=0.301=0.176. Além disso, é fácil checar que o tamanho dessas faixas somam 1. Logo, a proporção de ocorrer um número que começa com o dígito 1 é dada por \(p_1=\log_{10}(2)-\log_{10}(1)\). No caso geral, \(p_{d}=\log_{10}(d+1)-\log_{10}(d)=\log_{10}(1+1/d)\) que é exatamente a lei de Benford.

Dados reais DEVEM sempre seguir essa lei?

Não! Embora muitos dados reais sigam precisamente essa lei, a intuição desenvolvida acima nos diz que dados reais ficarão mais próximos dessa lei quando se tiver dados que envolvem números com várias ordem de grandeza, onde uma assimetria em uma ordem de grandeza (por exemplo, ordem 100) for compensada pela assimetria em outras ordens de grandeza (por exemplo, ordem 1000 ou ordem 10000).

Exemplos comuns de bases de dados que seguirão essa lei são aquelas formadas pelo número de produtos vendidos de uma determinada empresa, área de municípios de vários países etc.

Existem exemplos específicos de dados que não seguem essa lei?

lojas 1.99

1) Dados que sofreram diretamente influência humana. Por exemplo, preços de produtos que são escolhidos seguindo algum apelo psicológico, por exemplo, R$ 9.99.

2) Números de telefones de uma mesma região normalmente possuem os mesmos números.

3) Valores contábeis que dependem muito de um determinado valor. Por exemplo, 90% dos valores contábeis que minha empresa recebe é de 100 reais.

Como eu posso detectar se uma base de dados segue o não a Lei de Benford?

Obviamente, existem testes estatísticos para comparar distribuições (veja por exemplo nosso livro). Um ponto de partida pode ser o programa em Python que desenvolvi para responder a essa pergunta.
Usando esse programa eu comparo os primeiros dígitos dos elementos de uma série de Fibonacci (que pode-se provar que assintoticamente segue a lei de Benford) com a Lei de Benford, como mostra a figura abaixo:

Fibonacci

Depois desse exercício, eu uso o mesmo programa para testar a aderência da população dos municípios de São Paulo a Lei de Benford, como mostra a figura abaixo:

Populacao de São Paulo

A lei de Benford é a única forma de detectar fraudes em bases de dados?

Não! Existem várias outras apropriadas para dados específicos...

Atlanta Public School

Por exemplo, em 2001 foi implementado nos Estados Unidos políticas de incentivos para a melhoria da educação recompensando escolas que tinham mais sucesso. Um problema desses incentivos é que eles poderiam incentivar corrupção entre os professores (alterando as respostas dos alunos ou até ensinando exatamente as questões do exame nacional antes de ele ocorrer). Veja por exemplo o Atlanta Public School Teacher Scandal.

Como testar se os dados gerados pelos professores ou administradores eram verdadeiros ou simplesmente fraudes?

Jacob e Levitt [Rotten Apples: an investigation of the predictors of teacher cheating. The Quartely Journal of Economics, August 2003] propõem que duas dimensões devem ser consideradas: (1) Padrões inesperados de acertos (onde algumas questões são muito mais acertadas que em outras turmas); (2) Variações muito grandes dos resultados dos alunos ao longo do tempo. De fato, eles percebem que a fraude realizada por professores não é sofisticada gerando padrões de correlação entre as respostas dos estudantes numa sala de aula. Como já vimos no início dessa resposta, isso não é surpreendente, pois temos muita dificuldade de aleatorizar!

Você pode sugerir referências interessantes sobre a Lei de Benford?

Veja aqui nessa resposta.

...