Self-Organizing Maps and Genetic Algorithms applied to clustering and ranking criminals
George Fragoso de Andrade 1 orcid.org/0000-0003-1022-8853
Aldo Ferreira de Souza Monteiro 2 orcid.org/0000-0002-6656-7371
Aryell Dias de Menezes 2 orcid.org/0000-0003-2753-0389
Marcos Vinícius Vilela de Macedo 2 orcid.org/0000-0001-6824-5117
Vinícius Pinheiro Soares Santos 2 orcid.org/0000-0003-3972-5423
1 Secretaria de Defesa Social do Estado de Pernambuco, Recife, Brasil,
2 Escola Politécnica de Pernambuco, Universidade de Pernambuco, Recife, Brasil.
E-mail do autor principal: George Fragoso de Andrade george.fragoso@gmail.com
Resumo
Com o aumento da incidência de Crimes no estado de Pernambuco, a Secretaria de Defesa Social do estado utiliza-se da estratégia de rankeamento para catalogar os indivíduos mais procurados, em um processo manual e puramente humano. Com a aplicação de Mapas Auto-Organizáveis e Algoritmos Genéticos, foi desenvolvido um novo método de ranqueamento, baseado não só na quantidade de crimes do indivíduo, mas também em outras características relevantes, além de oferecer às equipes de inteligência um agrupamento de indivíduos semelhantes. Visamos com esse trabalho auxiliar nas decisões estratégicas da Polícia, além de oferecer ferramentas tecnológicas para facilitar seu trabalho.
Palavras-Chave: Mineração de Dados; Segurança Pública; Agrupamento; Criminalidade.
Abstract
With the rising of crimes in the state of Pernambuco, the state’s Secretary of Social Defense uses a strategy of ranking to catalog the most wanted individuals in a manual and purely human process. Applying Self-Organizing Maps and Genetic Algorithms, a new ranking method was developed, based not only on the individual’s crime numbers, but also on other relevant features, and offering the intelligence team clusters of similar individuals. Our objective with this research is to aid on the strategic decisions of the police, and offer technological tools to facilitate their work.
Key-words: Data mining; Security; Clustering; Criminality.
Mineração de Dados ou Data Mining é a atividade de extrair informação de grandes bases de dados, cujo objetivo é a descoberta de fatos e padrões comportamentais, previamente ocultos, utilizando algumas tarefas como Classificação, Agrupamento e Associação. Esta atividade pode ser aplicada no âmbito da iniciativa privada e em setores públicos visando tornar mais eficientes as ações de análise de dados nos processos de tomada de decisão.
No âmbito da Segurança Pública no estado de Pernambuco, um dos serviços prestados pelo Centro Integrado de Inteligência de Defesa Social (CIIDS) da Secretaria de Defesa Social (SDS/PE) é analisar periodicamente os dados fornecidos referentes ao mapa cartorário disponibilizado pela Polícia Civil (PCPE) e consolidado pela Gerência de Análise Criminal e Estatística (GACE) da SDS/PE. Este mapa contém informações sobre Crimes Violentos Letais e Intencionais (CVLI) que englobam as naturezas de crime: homicídio, lesão corporal seguida de morte e latrocínio e Crimes Violentos contra o Patrimônio (CVP) que englobam a natureza Roubo e suas derivações. Este mapa disponibilizado periodicamente, é utilizado para realizar levantamentos das pessoas que estejam constando no mesmo em relação a mandados de prisão, processos e boletins individuais (resultado de procedimentos de inquéritos policiais) de crimes enquadrados nos indicadores de CVLI, CVP, Entorpecentes, entre outros. Para análise das informações referente a mandados de prisão e processos judiciais, são utilizados sistemas informatizados de âmbito estadual e nacional.
Como resultado desta atividade, mensalmente são elencados os mais procurados e por conseguinte elaborado o “ranking” dos 100 mais com publicação no site da SDS/PE. Ressalta-se o fato que todo este trabalho de análise e identificação do “ranking” de procurados são realizados de forma manual e excessivamente custosa, além do fator humano que possibilita o uso viés para tal identificação e critérios meramente objetivos que ora eram utilizados, que são: as quantidades de mandados de prisão, de processos e de boletins individuais para CVLI, CVP, Entorpecentes.
Este trabalho, portanto, visa descrever a aplicação de Mineração de Dados, utilizando técnicas de agrupamento e classificação, por meio de aprendizagem não supervisionada, visando como resultado a realização de ranqueamento de pessoas consideradas criminosos, onde além de aspectos meramente objetivos, foram acrescidos outros aspectos como semelhanças de cometimento de crime, proximidade de áreas de atuação, tempo de mandados de prisão expedido e não cumprido, entre outros.
Este artigo está dividido como segue. Na Seção 2 foram revisados trabalhos relacionados ao tema de aplicação de Mineração de Dados no setor de Segurança Pública e descrever as técnicas Rede SOM e Algoritmos Genéticos. Na Seção 3 descreve como foi aplicado o modelo CRISP-DM para a realização das atividades. Na Seção 4 e 5 são apresentados as análises e discussões, bem como as conclusões e trabalhos futuros.
Com o objetivo de melhorar o funcionamento de alguns processos de inteligência na esfera da segurança pública, alguns trabalhos foram feitos que aplicam técnicas de Mineração de Dados e de Computação Inteligente para analisar, interpretar e auxiliar nas tomadas de decisão com base nesses dados. Pesquisadores da Universidade Federal Rural de Pernambuco, em conjunto com a Universidade Federal de Alagoas, aplicaram técnicas de Mineração de Dados para auxiliar em decisões estratégicas na segurança pública do estado de Alagoas. Utilizando dados do SISGOP (Sistema de Gestão de Ocorrências da Polícia Militar) e submetendo-os à análise, com base na metodologia CRISP-DM, na plataforma Weka, os pesquisadores foram capazes de obter grupos de características comuns de algumas ocorrências policiais do sistema. Esses grupos oferecem diretrizes que podem nortear o trabalho da Polícia para evitar de forma mais eficaz ocorrências semelhantes [1].
Outro estudo, realizado na Universidade Federal do Rio Grande do Norte, propôs a utilização de técnicas de Mineração e Estatística para desenvolver novas métricas de avaliação baseadas em dados geoespaciais de ocorrências, trajetórias de viaturas policiais e Áreas Integradas de Segurança Pública (AISPs). Essas métricas foram então organizadas em torno de AISPs específicas, evidenciando assim qual métrica é mais importante em cada AISP. Além disso, à partir do Coeficiente de Correlação de Pearson, o estudo foi capaz de estabelecer relacionamentos entre as métricas, de forma que a polícia é capaz de saber quanto dada métrica influencia o resultado de outra [2].
Analisando as aplicações supracitadas, percebe-se quão positiva é a contribuição da tecnologia e, mais especificamente, de técnicas de Análise e Mineração de Dados para o trabalho estratégico da Polícia e de outras entidades de Segurança Pública. Informações e relacionamentos que antes estavam escondidos em uma grande quantidade de dados aparecem com mais facilidade quando técnicas de Mineração são aplicadas. Com base nisso buscamos, com esse trabalho, contribuir para melhorar a eficiência de ações estratégicas no estado de Pernambuco.
Os Mapas Auto-Organizáveis (SOM) são uma classe especial de Redes Neurais Artificiais desenvolvidas pelo finlandês Teuvo Kohonen [3], com grande aplicabilidade em problemas que envolvem dados com um grande número de dimensões.
A principal característica da SOM é sua topologia: Todos os nós estão interconectados e possuem pesos gerados aleatoriamente, formando uma grade, que por sua vez está conectada a um vetor de n entradas. Além disso, a estratégia de aprendizagem é diferente da utilizada em outras classes de Redes Neurais, sendo baseada em Aprendizagem competitiva: O nó mais próximo à entrada é considerado o vencedor e chamado de BMU (Best Matching Unit). Essa proximidade é calculada utilizando alguma métrica de distância entre vetores, como a distância Euclidiana ou a distância de Manhattan. No passo seguinte, os nós da vizinhança do BMU e o próprio BMU têm seus pesos alterados para valores mais próximos ao valor correspondente no vetor de entrada.
O resultado do treinamento é uma representação em duas dimensões dos dados utilizados, chamado Mapa, que, devido ao uso de uma Função de Vizinhança, mantém as características originais dos dados em sua representação no Mapa. Essa característica é especialmente útil para visualização de relacionamentos ocultos dentro dos dados, de forma que o Mapa evidencia agrupamentos de dados que possuem características semelhantes.
Essa técnica é especialmente útil para reduzir a dimensionalidade de um problema complexo, como evidencia o estudo da Universidade Estadual de Geórgia, nos Estados Unidos, que utilizou Mapas Auto-Organizáveis para auxiliar na priorização de projetos [4], e para clusterização, ou agrupamento, de dados, como evidencia o trabalho apresentado no VII Congresso Brasileiro de Redes Neurais em 2005, que utiliza uma combinação de Mapas Auto-Organizáveis e k-Means para criar agrupamentos de ocorrências policiais semelhantes de Campo Grande, MS. [5].
Os Algoritmos genéticos (GA) são uma classe particular de algoritmos evolutivos que usam técnicas inspiradas pela biologia evolutiva.
Ele consiste na geração de uma população de n soluções, inicialmente aleatórias. Cada elemento que faz parte da população é um conjunto de parâmetros que podem ser otimizados de acordo com uma regra de codificação, ou seja, representação do conhecimento contido em cada indivíduo para a GA.
O Algoritmo genético possui três operadores principais: crossover, mutação e seleção. O crossover é um processo no qual dois, ou mais, elementos da população combinam suas informações para formar um ou mais indivíduos da próxima geração. A mutação é um operador que aplica variabilidade nas iterações do GA, permitindo ao algoritmo maior capacidade de exploração, reduzindo a incidência de resultados falsamente ótimos. Já a seleção, é o procedimento de escolha dos elementos da população que são mais aptos e que sobreviverão para compor a nova geração.
O Algoritmo Genético se trata de um algoritmo aplicável para problemas de otimização e busca, comumente de natureza discreta e combinatória, o que o torna adequado para a aplicação em questão, a construção de um ranking.
A metodologia utilizada neste trabalho foi baseada no CRISP-DM (Cross Industry Standard Process for Data Mining), uma metodologia extremamente bem consolidada em projetos que envolvem mineração de dados. O CRISP-DM é uma metodologia criada em 1996 e largamente utilizada para aplicação de mineração de dados em ambientes de negócios, sem depender de uma ferramenta e com etapas flexíveis o bastante para se adaptar às mais distintas aplicações.
A metodologia é composta por um ciclo de seis etapas, que vão desde o entendimento da esfera de domínio até a entrega e avaliação ao cliente, mas sempre com a possibilidade de retorno para alguma das etapas para melhorar o produto final. Um esquema das etapas e seus relacionamentos é apresentado na figura abaixo.
Dessa forma, o modelo CRISP-DM possui um formato de ampla iteratividade com as suas fases, as quais são flexíveis e sem ordenamento, facilitando retornos e avanços, com o encadeamento de passos dependendo do resultado satisfatório e a comunicação entre as fases. Portanto, este modelo incremental e iterativo com um controle rígido das fases, ajuda na identificação de riscos e gera um produto final mais cuidadoso.
Figura 1: Etapas do CRISP-DM.
Fonte: Shearer C. (2000).
A base de dados utilizada consiste em uma planilha Excel com 2911 linhas e 83 colunas onde cada linha corresponde a um criminoso ou suspeito. Dentre essas 83 colunas estão diversas informações sobre o indivíduo, como nome, nome da mãe e do pai, quantidade de crimes CVLI e CVP, se possui foto no sistema, entre outras.
Dentre todas as colunas apresentadas, a seleção e identificação da relevância destas na seleção para compor este trabalho, foi resultado da discussão com os especialistas do domínio.
Algumas colunas foram utilizadas apenas por uma das técnicas, informação indicada pelo campo “Utilizado por” na Tabela 1.
Tabela 1: Dicionário de dados das colunas selecionadas.
Coluna |
Tipo |
Descrição |
Utilizado por |
AID |
String |
Área Integrada de Segurança |
SOM |
Idade |
Integer |
Idade do suspeito |
SOM |
Endereço Do Alvo |
Boolean |
Se possui o endereço do suspeito |
GA |
Fotos |
Boolean |
Se existem ou não fotos do suspeito |
GA |
Rg No Sistema |
Boolean |
Se no sistema existe registro do RG do suspeito |
GA |
Data Expedição Do Mandado |
Date |
Data em que o mandado foi expedido |
GA |
Total De Vítimas-Consumado |
Integer |
Número de vítimas que foram assassinadas |
SOM, GA |
Total De Vítimas-Tentado |
Integer |
Número de vítimas de tentativa de assassinato |
GA |
Carcerário |
Boolean |
Se está no sistema carcerário |
GA |
Total Bases |
Integer |
Total de bases onde há registro do suspeito |
GA |
Alvo Prioritário |
Boolean |
Se o suspeito é um alvo prioritário |
GA |
Bi Cvli |
Integer |
Quantidade de CVLI (Boletins) |
SOM |
Bi Narcotráfico |
Integer |
Quantidade de narcotráficos (Boletins) |
SOM |
Bi Cvp |
Integer |
Quantidade de CVP (Boletins) |
SOM |
Mp Cvli |
Integer |
|
GA |
Processo Cvli |
Integer |
Quantidade de CVLI (Processos) |
SOM, GA |
Processo Narcotráfico |
Integer |
Quantidade de Narcotráfico (Processos) |
SOM, GA |
Processo Cvp |
Integer |
Quantidade de CVP (Processos) |
SOM, GA |
Periculosidade (Bi - Mp - Processo) |
Integer |
Indicador de periculosidade do indivíduo |
SOM, GA |
Status Carcerário |
String |
Situação do indivíduo: preso, foragido, etc |
SOM |
DATA DA PRISÃO Ou REGISTRO NO CARCERÁRIO |
Date |
Data em que o indivíduo foi preso |
SOM |
Data De Evasão Do Sistema Carcerário |
Date |
Data em que o indivíduo se evadiu |
SOM, GA |
Qtd Cvli |
Integer |
Quantidade total de CVLI (boletins + processos) |
SOM |
Qtd Cvp |
Integer |
Quantidade total de CVP (boletins + processos) |
SOM |
Qtd Narcotráfico |
Integer |
Quantidade total de Narcotráfico (Boletins + proc) |
SOM |
Para que os dados possam ser utilizados pela SOM e GA, eles precisam sofrer algumas transformações. Diferentes técnicas de pré-processamento foram utilizadas a depender da coluna e do algoritmo que utilizará essa coluna. No caso do GA, foram realizados os seguintes procedimentos: datas foram convertidas em número de dias após essa data; variáveis categóricas foram representadas através da codificação one hot, onde uma nova coluna é criada para cada categoria e em cada linha apenas a coluna correspondente a respectiva categoria possui valor 1 e as colunas das demais categorias recebem valor 0; atributos binários (com valores sim/não por exemplo) foram convertidos em 0 para não e 1 para sim. Em seguida todas as colunas foram normalizadas para ficarem no intervalo [0, 1]. Para o SOM foram realizados os mesmos procedimentos com exceção das datas, que foram tratadas como valores categóricos.
Uma vez que cada linha da base corresponde a um suspeito a ser ranqueado/agrupado, as linhas com dados faltantes não puderam ser removidas. Ao invés disso, foi feito um tratamento a depender do algoritmo e do tipo de coluna em questão. Para atributos categóricos, foi criada uma nova categoria para incluir os casos onde este atributo está em branco. Para a rede SOM, os valores numéricos faltantes foram substituídos pela mediana. Já para o GA, estes foram substituídos por 0.
Como a tabela é atualizada de forma manual, inserindo novas linhas para novas atualizações, ocorre de o mesmo indivíduo aparecer várias vezes na base. Assim, é necessária uma etapa de remoção de duplicidade para que não haja problemas no ranqueamento (o mesmo indivíduo aparecendo duas vezes por exemplo).
Após o tratamento e pré-processamento dos dados, dois subconjuntos das colunas tratadas foram utilizados cada um por uma das técnicas. As colunas utilizadas na SOM foram as seguintes:
· AIS
· Idade
· BI CVLI
· BI CVP
· Qtd TJPE
· status_evasao
· prontuario_seres
· total_vitimas
· status_carcerario
· BI Tentativa
· BI Outros
· BI Narcotrafico
· Unidade Prisional
· Data da Prisão
Esses dados foram apresentados um script na Linguagem Python, onde a técnica de Mapas Auto-Organizáveis foi implementada com a biblioteca Somoclu, que permite boa visualização e recuperação de dados necessários após a aplicação da técnica, como as coordenadas de cada ponto no mapa, a lista de nós vencedores (BMUs) e os agrupamentos gerados para cada linha dos dados. Esses dados são pivotais na integração entre as duas técnicas, e na recuperação de informações pertinentes para decisões estratégicas baseadas no mapa, bem como na construção do parâmetro correspondente na fitness function do Algoritmo Genético.
O Algoritmo Genético utiliza de uma metáfora utilizada professor Fernando Buarque, o balaio de laranjas. A intenção geral do algoritmo é encontrar o melhor “balaio de laranjas” possível e, assim que encontrado, é possível aplicar um algoritmo de ordenação para construir o ranking. Para tanto, foi criada uma métrica de avaliação para ele, sendo esta calculada por meio da soma das fitness dos elementos que o compõem e, efetivamente, aplicando o algoritmo genético tomando o valor obtido como a aptidão do ranking.
A Tabela 2 mostra as colunas e os pesos, obtidos por meio de entrevistas com especialistas, que foram utilizados na técnica de Algoritmos Genéticos.
Tabela 2: Pesos dos atributos da função relevância.
Atributo |
Peso |
Evadido |
70 |
Dias após Evasão |
80 |
Periculosidade |
100 |
Alvo Prioritário |
100 |
Qtd Processos |
40 |
Total de Vítimas - Consumado |
50 |
Total de Vítimas - Tentando |
50 |
Tipo de Prisão - Preventiva |
60 |
Tipo de Prisão - Condenatória |
100 |
MP CVLI |
90 |
Tabela 3: Pesos dos atributos da função viabilidade.
Atributo |
Peso |
Endereço conhecido |
100 |
Foto |
100 |
RG no Sistema |
100 |
Número de mandados de prisão decretados |
60 |
Data da Expedição próxima |
80 |
Sistema Carcerário |
100 |
Quantidade de bases de dados maior que 4 |
90 |
Conforme pode-se reparar acima os parâmetros são divididos em duas categorias, viabilidade e relevância. A viabilidade representa o quão fácil é que um indivíduo seja capturado tendo em mente a existência, ou não, de informações acerca do mesmo. Por outro lado, a função relevância conota o nível de urgência para que o criminoso seja capturado. Estas duas funções, juntamente com o resultado obtido pelo SOM compõem a função de aptidão do GA conforme abaixo:
onde as funções V(x), viabilidade, e R(x), relevância, são médias ponderadas pelos pesos definidos nas tabelas já demonstradas e G(x), grupamento, é definido pelo inverso do número de grupos existente no ranking.
Fazendo modificações nos parâmetros da SOM, obtivemos alguns resultados que foram submetidos aos especialistas do domínio. O primeiro dos resultados se deu com um mapa de visualização retangular e inicialização com pesos aleatórios. A Figura 2 mostra o mapa com esses parâmetros.
Figura 2: Visualização retangular e inicialização aleatória.
Mudando a visualização para hexagonal e inicializando os pesos utilizando Análise de Componentes Principais (PCA), obtivemos um segundo mapa, descrito na Figura 3.
Figura 3: Visualização hexagonal e inicialização PCA.
Dados os dois resultados, optamos por manter os parâmetros de acordo com o segundo mapa, que possui uma melhor separação entre os nós, devido às células hexagonais, e um agrupamento mais coeso dos dados. No primeiro mapa, os nós de grupos diferentes estavam espalhados pela superfície, enquanto o segundo mantém os nós agrupados em uma mesma área. Isso deixa mais intuitiva a extração de conhecimento do mapa.
Acerca do GA, foi feita uma comparação dele com uma busca aleatória, para comprovar o aprimoramento do ranking em função das interações e confirmar a aptidão do algoritmo em questão para o problema abordado.
Figura 4: Gráfico com comparação da otimização do ranking por meio de busca aleatória e GA.
Foi desenvolvida, por fim, uma interface web para melhor visualizar e disponibilizar o resultado de cada uma das técnicas aplicadas, sendo nela possível fazer alterações em parâmetros do algoritmo para uma melhor dinâmica com o usuário.
Figura 5: Ranqueamento através da interface gráfica.
Figura 6: Curva de convergência do GA para o ranqueamento da Figura 5.
O resultado final dos algoritmos foi avaliado por especialistas da área que trabalham no CIIDS (Centro Integrado de Inteligência da Defesa Social), que corroboraram as análises dos mapas em relação à forma de visualização e extração de conhecimento do mapa. A interface foi considerada intuitiva, representando um avanço em comparação com a prática atual de rankeamento.
Um dos aspectos interessantes identificados durante a avaliação com os especialistas, foi que a possibilidade de parametrizar o algoritmo genético pelos aspectos de viabilidade, relevância e agrupamento, possibilitou a indicação de pessoas que ora não seriam identificadas no “ranking” dos 100 mais procurados e resultou num maior direcionamento deste trabalho de acordo com as características das operações realizadas.
Esse trabalho representa um avanço nos procedimentos internos da segurança pública, e como a aplicação de técnicas de inteligência computacional e mineração de dados podem auxiliar no trabalho dos profissionais dessa área e, consequentemente, melhorar sua eficiência no combate à Criminalidade no Estado.
É importante, para estudos futuros, que os órgãos de Segurança Pública comecem a abraçar práticas que enriqueçam os dados, assim possibilitando análises mais minuciosas dos problemas tão comuns no dia-a-dia da Sociedade. Esse enriquecimento pode ser feito a partir de processos mais otimizados de coleta desses dados, ou melhor organização dessa informação em colunas mais concisas na base de dados. Esses passos são importantes para aumentar o conhecimento capaz de ser extraído desses dados e, por consequência, os processos de Mineração em si.
Esse é apenas um passo em direção a pesquisas maiores e mais robustas, capazes de impactar diretamente nas decisões estratégicas da Polícia e dos demais órgãos de Segurança Pública. Esperamos que trabalhos futuros possam evoluir essa aplicação, cooperando com a Secretaria de Defesa Social para ampliar o escopo para quaisquer que sejam as áreas sofrendo de altas taxas de Criminalidade, para assim auxiliar na manutenção de uma sociedade mais segura para todos que nela.
À Universidade de Pernambuco pelo oferecimento do ambiente acadêmico propício para o desenvolvimento dessa pesquisa, e à Secretaria de Defesa Social do Estado de Pernambuco, que gentilmente ofereceu os dados e a base de domínio para esse trabalho.
[1] M. BRAZ, Lucas; FERREIRA, Rafael; DERMEVAL, Diego; VERAS, Douglas; TIENGO, Willy. Aplicando Mineração de Dados para Apoiar na Tomada de Decisão na Segurança Pública no Estado de Alagoas. In: CONGRESSO DA SOCIEDADE BRASILEIRA DE COMPUTAÇÃO, 2009, Rio Grande do Sul, p. 1475-1488.
[2] ARAÚJO JÚNIOR, Adelson Dias de. Mineração de Métricas de Segurança Pública Baseadas em Dados Geoespaciais. Departamento de Engenharia de Computação e Automação, Universidade Federal do Rio Grande do Norte.
[3] KOHONEN, Teuvo. Self-organized formation of topologically correct feature maps. Biol. Cybern. (1982) 43: 59.
[4] ZHENG, Guangzhi; VAISHNAVI V., Vijay. A Multidimensional Perceptual Map Approach to Project Prioritization and Selection. AIS Transactions on Human-Computer Interaction, v. 3. no. 2. p. 82-103, jun. 2011.
[5] ZANUSSO, Maria B.; DE OLIVEIRA, Fabiano R. Clusterização de Ocorrências Policiais utilizando k-means e um Mapa Auto-Organizável. In: CONGRESSO BRASILEIRO DE REDES NEURAIS, 2005, Rio Grande do Norte.