Detectando fraude em votos com a lei de Benford
A lei de Benford é uma lei empírica popular que afirma que os primeiros dígitos de uma população de dados seguirão uma distribuição logarítmica específica.
Esta lei foi observada por Frank Benford por volta de 1938 e desde então tem ganhado cada vez mais popularidade como uma maneira de detectar alterações anômalas. População de dados.
Basicamente, testar uma população contra a lei de Benford significa verificar que a população dada respeita esta lei. Se desvios são descobertos, a lei realiza uma análise mais aprofundada dos itens relacionados a esses desvios.
Nesta artigo, vamos testar uma população de ordens de comércio eletrônico contra a lei, concentrando-nos em itens que se desviam da distribuição esperada.
A aplicação dos dados financeiros e contábeis da Benford em conformidade com os números que ocorrem naturalmente está sujeita à lei de Benford. Por exemplo, suponha que você tenha um fundo mútuo de ações com um valor de R$1.000. Para o seu fundo atingir R$2.000 em valor, ele teria que dobrar crescendo 100%. Para aumentar de R$2.000 para R$3.000, só precisaria crescer 50%. Para o primeiro dígito ser um 4, ele precisa crescer outros 33%.
Como prevê a lei de Benford, para o primeiro dígito 1 se tornar 2, é necessário haver mais crescimento do que para o 3 se tornar 4, e assim por diante. Como uma distribuição Benford é uma “distribuição de distribuições”, os conjuntos de dados financeiros tendem a se conformar, pois resultam da combinação de números - embora exceções ocorram.
Como as pessoas geralmente desconhecem a lei de Benford, elas não conseguem falsificar registros numéricos. Isso dá aos contadores forenses uma ferramenta poderosa para identificar rapidamente conjuntos de dados que podem ser fraudulentos. De fato, as comparações com a lei de Benford são legalmente admissíveis como evidência em casos criminais nos EUA nos níveis federal, estadual e local.
No caso de 1993 do Estado do Arizona vs. Nelson, o acusado desviou quase US $ 2 milhões para vendedores fraudulentos na tentativa de fraudar o Estado. Apesar de ter o cuidado de fazer com que os cheques falsos parecessem legítimos, a distribuição de primeiro dígito claramente violava a lei de Benford como mostra figura abaixo, levando a uma condenação.
A lei de Benford também é útil para auditorias internas de negócios. Imagine um caso em que qualquer despesa de viagem e entretenimento acima de US $ 10.000 deve ser aprovada pelo vice-presidente da empresa.
Esse tipo de limite financeiro pode levar os funcionários a fazer coisas como dividir faturas para fraudar o sistema. A imagem abaixo baseia-se em um grupo de despesas que variam de US $ 100 a US $ 12.000, em que todos os valores acima de US $ 9.999 foram divididos em duas metades iguais. Como você pode ver, há um pico nas frequências de primeiro dígito em torno de 5 e 6, em clara violação da lei de Benford.
Em uma escala maior, a lei de Benford revelou irregularidades nos dados financeiros - como números de receita - de grandes corporações. Um exemplo, a Enron, que praticava fraudes contábeis institucionalizadas, é mostrado no próximo gráfico.
A falência da Enron em 2001 foi a maior da história na época, e resultou na prisão de vários altos executivos. O escândalo também provocou a dissolução da Arthur Andersen, uma firma de contabilidade “Big Five” e uma das maiores corporações multinacionais do mundo.
Obviamente, a lei de Benford funciona melhor para a detecção de fraudes quando os criminosos não estão cientes disso. Se você sabe como a lei funciona, pode enganá-la, o que faremos em um projeto prático no final deste artigo. Como resultado, você pode usar a lei de Benford para sinalizar conjuntos de dados que podem ser fraudulentos, mas não pode ser usada para provar o contrário.
Esta lei foi observada por Frank Benford por volta de 1938 e desde então tem ganhado cada vez mais popularidade como uma maneira de detectar alterações anômalas. População de dados.
Basicamente, testar uma população contra a lei de Benford significa verificar que a população dada respeita esta lei. Se desvios são descobertos, a lei realiza uma análise mais aprofundada dos itens relacionados a esses desvios.
Nesta artigo, vamos testar uma população de ordens de comércio eletrônico contra a lei, concentrando-nos em itens que se desviam da distribuição esperada.
Aplicando a Lei de Benford
A aplicação dos dados financeiros e contábeis da Benford em conformidade com os números que ocorrem naturalmente está sujeita à lei de Benford. Por exemplo, suponha que você tenha um fundo mútuo de ações com um valor de R$1.000. Para o seu fundo atingir R$2.000 em valor, ele teria que dobrar crescendo 100%. Para aumentar de R$2.000 para R$3.000, só precisaria crescer 50%. Para o primeiro dígito ser um 4, ele precisa crescer outros 33%.
Como prevê a lei de Benford, para o primeiro dígito 1 se tornar 2, é necessário haver mais crescimento do que para o 3 se tornar 4, e assim por diante. Como uma distribuição Benford é uma “distribuição de distribuições”, os conjuntos de dados financeiros tendem a se conformar, pois resultam da combinação de números - embora exceções ocorram.
Como as pessoas geralmente desconhecem a lei de Benford, elas não conseguem falsificar registros numéricos. Isso dá aos contadores forenses uma ferramenta poderosa para identificar rapidamente conjuntos de dados que podem ser fraudulentos. De fato, as comparações com a lei de Benford são legalmente admissíveis como evidência em casos criminais nos EUA nos níveis federal, estadual e local.
No caso de 1993 do Estado do Arizona vs. Nelson, o acusado desviou quase US $ 2 milhões para vendedores fraudulentos na tentativa de fraudar o Estado. Apesar de ter o cuidado de fazer com que os cheques falsos parecessem legítimos, a distribuição de primeiro dígito claramente violava a lei de Benford como mostra figura abaixo, levando a uma condenação.
A lei de Benford também é útil para auditorias internas de negócios. Imagine um caso em que qualquer despesa de viagem e entretenimento acima de US $ 10.000 deve ser aprovada pelo vice-presidente da empresa.
Esse tipo de limite financeiro pode levar os funcionários a fazer coisas como dividir faturas para fraudar o sistema. A imagem abaixo baseia-se em um grupo de despesas que variam de US $ 100 a US $ 12.000, em que todos os valores acima de US $ 9.999 foram divididos em duas metades iguais. Como você pode ver, há um pico nas frequências de primeiro dígito em torno de 5 e 6, em clara violação da lei de Benford.
Em uma escala maior, a lei de Benford revelou irregularidades nos dados financeiros - como números de receita - de grandes corporações. Um exemplo, a Enron, que praticava fraudes contábeis institucionalizadas, é mostrado no próximo gráfico.
A falência da Enron em 2001 foi a maior da história na época, e resultou na prisão de vários altos executivos. O escândalo também provocou a dissolução da Arthur Andersen, uma firma de contabilidade “Big Five” e uma das maiores corporações multinacionais do mundo.
Obviamente, a lei de Benford funciona melhor para a detecção de fraudes quando os criminosos não estão cientes disso. Se você sabe como a lei funciona, pode enganá-la, o que faremos em um projeto prático no final deste artigo. Como resultado, você pode usar a lei de Benford para sinalizar conjuntos de dados que podem ser fraudulentos, mas não pode ser usada para provar o contrário.
O Dataset
A eleição presidencial dos EUA em 2016 foi repleta de alegações de fraude eleitoral. O mais famoso é que os russos foram acusados de apoiar Donald Trump, e o Comitê Nacional Democrata foi acusado de favorecer Hillary Clinton sobre Bernie Sanders no processo de indicação do partido.
O Presidente Trump também alegou que 5 a 6 milhões de pessoas votaram ilegalmente e, em maio de 2017, assinou uma ordem executiva que lançou uma comissão para rever a fraude eleitoral e a supressão dos eleitores.
Para este projeto, você usará um conjunto de dados de registros de votação da eleição presidencial de 2016. Isto consiste nos votos finais por condado para os 102 condados no estado de Illinois, que foi ganho por Hillary Clinton.
A partir de junho de 2016, o banco de dados do Illinois Voter Registration System foi vítima de um ciberataque malicioso de origem desconhecida. Autoridades eleitorais de Illinois confirmaram que hackers acessaram milhares de registros, mas aparentemente não alteraram nenhum dado.
Houve um número surpreendente de candidatos nas eleições de Illinois para presidente, de modo que o conjunto de dados foi analisado para incluir apenas Hillary Clinton, Donald Trump, Gary Johnson e Jill Stein. Os votos para estes candidatos foram agrupados em um arquivo de texto de 408 linhas, com estas 5 primeiras linhas:
Para este projeto, você precisa apenas dos votos, que podem ser baixados: https://github.com/technotebrasil/python_codes/tree/master no arquivo Illinois_votes.txt.
A estratégia
Vamos fingir que você é um investigador, investigando as alegações de fraude eleitoral nas eleições presidenciais de 2016 e você foi designado pelo estado de Illinois. Antes de mergulhar fundo nos dados, denuncie as anomalias óbvias.
A lei de Benford não pode ajudá-lo a determinar se as pessoas estão votando ilegalmente, mas é um bom ponto de partida para detectar a adulteração de votos, ou seja, alterar os votos depois que eles são lançados.
Em casos como esse, a capacidade de comunicar os resultados é tão importante quanto a análise quantitativa. As comissões de votação não incluem apenas especialistas, mas também muitos leigos com conhecimento limitado de estatísticas. E entre os jurados provavelmente não estará um único especialista.
Para se convencer - e outros - de que as contagens de votos são válidas (ou não), você desejará exibir várias comparações, como uma tabela, um gráfico e a variável qui-quadrada quantitativa (estatística de teste).
As etapas individuais envolvidas na análise se prestam bem ao encapsulamento de funções. Então, em vez de pseudocódigo, vamos ver de que funções você pode precisar:
load_data() - Carrega os dados como lista.
count_first_digits() - Tabula os primeiros dígitos no total de votos observados em cada país.
get_expected_counts() - Determina as contagens para cada primeiro dígito como previsto por Benford.
chi_square_test() - Execute um teste de adequação do qui-quadrado nas contagens observadas versus esperadas.
bar_chart() - Gera um gráfico de barras para comparar as percentagens observadas no primeiro dígito às esperadas.
main() - Obtém o nome do arquivo de dados, chame as funções e imprima as estatísticas.
O Código
Você usará o código benford.py nesta seção para investigar fraude de eleitores, mas o código é flexível o suficiente para ser usado em qualquer conjunto de dados em que valores categóricos foram contados, como resultados de exames médicos, receita de imposto de renda ou reembolsos de clientes.
Aplicações não relacionadas à fraude também são possíveis, como a detecção de ineficiências no processo causadas por um grande número de transações de baixo valor; problemas com coleta e manipulação de dados, como dados ausentes, valores truncados ou erros de digitação; e viés nas estratégias de medição ou pesquisas, como favorecer a melhor ou a pior amostragem.
Você pode encontrar o código aqui: https://github.com/technotebrasil/python_codes/blob/master/benford.py
Se você executar o programa no conjunto de dados Illinois_votes.txt, verá a saída mostrada na abaixo.
Não há anomalia aparente nos resultados da votação, com base na lei de Benford.
Se você executar o programa usando apenas os votos do Trump, e somente os votos de Clinton, você obterá os resultados abaixo. A distribuição de Trump, com um teste de estatísticas de 15,129, mal passa no teste do qui-quadrado.
Votos Trump |
Em casos como este, você deve ter cuidado ao tirar conclusões imediatas. O conjunto de dados é pequeno - apenas 102 amostras por candidato - e os resultados podem ser influenciados por coisas como diferenças demográficas e comparecimento do eleitorado entre áreas rurais e urbanas.
Nenhum comentário:
Postar um comentário