Conselhos práticos para análise de dados

Direto do Blog não oficial da Google.

Nesse post do Patrick Riley há uma ótima descrição de uma heurística de como realizar análise de dados de uma maneira um pouco mais sistematizada.

Technical: Ideas and techniques for how to manipulate and examine your data.
Process: Recommendations on how you approach your data, what questions to ask, and what things to check.
Social: How to work with others and communicate about your data and insights.

Em relação aos desdobramentos dessa heurística ele apresenta os seguintes pontos:

Technical
– Look at your distributions
– Consider the outliers
– Report noise/confidence
– Look at examples
– Slice your data
– Consider practical significance
– Check for consistency over time

Process
– Separate Validation, Description, and Evaluation
– Confirm expt/data collection setup
– Check vital signs
– Standard first, custom second
– Measure twice, or more
– Check for reproducibility
– Check for consistency with past measurements
– Make hypotheses and look for evidence
– Exploratory analysis benefits from end to end iteration

Social
– Data analysis starts with questions, not data or a technique
– Acknowledge and count your filtering
– Ratios should have clear numerator and denominators
– Educate your consumers
– Be both skeptic and champion
– Share with peers first, external consumers second
– Expect and accept ignorance and mistakes
– Closing thoughts

Conselhos práticos para análise de dados

Regras de Associação no Combate ao Crime no Brasil – Por Flávio Clesio

Não é segredo que vivemos em um país que está lamentavelmente listado como um dos mais violentos do mundo, em que temos 21 cidades entre as 50 mais violentas do mundo.

Se levarmos em consideração que em alguns estados do Brasil a taxa de esclarecimento de homicídios é de menos de 15%, temos um problema grave na segurança pública de maneira geral.

Mas se o crime por si só é a externalidade/consequência de diversos fatores como aspectos socioeconômicos, educacionais, e de ambiente (para citar alguns); o policiamento preventivo, isto é, o ataque direto das causas deve ser o norte de qualquer política de segurança pública; e é sobre isso que se trata esse post.

Através de uma base de dados sintética (extremamente desbalanceada) de dados que poderiam se extraídos de qualquer distrito policial ou mesmo de algum departamento de segurança pública vamos fazer a aplicação de uma técnica de Machine Learning chamada Association Rules ou Regras de Associação para formulação de políticas de segurança pública.

Como vamos iniciar a nossa análise sem nenhum tipo de hipótese e o objetivo é ver o conhecimento intrínseco da base de dados, vamos fazer um aprendizado não-supervisionado.

Contexto colocado, vamos para o R Studio.

Antes de mais nada, vamos limpar o nosso console e na sequência importar a biblioteca _arules_ no R.

# Clear the console
cat("\014") 

# Load arules library
library(arules)

Com a nossa lib importada, vamos realizar carregar a nossa base de dados no R.

# Load Dataset - This is a synthetic dataset, some inconsistencies can be found... as in the real world! 😉
crimes <- read.csv("https://raw.githubusercontent.com/fclesio/learning-space/master/Datasets/01%20-%20Association%20Rules/Crimes.csv")

Com a nossa base de dados importada, vamos agora ver as colunas da base de dados:

# See variables types
str(crimes)

Temos uma base de dados com 780 crimes com 16 variáveis que são:

  • Crime_id: Número da ocorrência.
  • Zona: Zona da cidade que a ocorrência foi registrada.
  • Periculosidade: Nível de periculosidade da área de acordo com mapeamentos anteriores.
  • Viaturas_Apoio_Forca_Tatica: Indica se tem reforços da Força Tática disponíveis na região. A grosso modo, Força Tática é um destacamento que ‘flutua’ na circulação e tem como objetivo atender a ocorrência mais próxima que a primeira força de atendimento não conseguir solucionar.
  • Patrulhamento: Indica se há patrulhamento pelas viaturas do batalhão mais próximo.
  • Policiamento_Ostensivo: Informa se há operações acontecendo com mais frequência. Um maior nível de policiamento aumenta também o enfrentamento policial, o que pode acarretar em mais óbitos de ambas as partes.
  • Apoio_GCM: Esse campo indica se a Guarda Civil Metropolitana circula na área da ocorrência. Diferente da PM ou da Civil; a GCM apesar das mesmas prerrogativas policiais tem uma função mais voltada à segurança patrimonial de alguns pontos da cidade e escolas.
  • Arma_Fogo: Houve arma de fogo na ocorrência.
  • Qtde_Vitimas: Número de vitimas da ocorrência.
  • Possui_DP: Tem Distrito Policial nas redondezas.
  • Tipo_Policiamento: O tipo de policiamento local influencia também na prática de crimes, em que áreas menos assistidas pelos batalhões podem ter um maior índice de violência em relação à áreas que não tem esse tipo de atendimento com um maior volume de viaturas e policiais.
  • Area_Residencial: Indica se é área residencial ou não.
  • Ocorrencia_Atendida_15_Minutos: Sabe-se que quanto mais demorado for o atendimento da ocorrência, as chances de resolução do evento criminoso em questão converge para a não solução efetiva. Esse campo indica se a ocorrência foi prontamente atendida.
  • Pericia: Informa se houve a perícia para auxiliar nas investigações.
  • Possui_UPP: Mostra se tem Unidade de Polícia Pacificadora instalada nas redondezas do evento criminoso
  • Iluminacao: Informa se o local do crime tinha iluminação ou não.

Com um pouco mais de trabalho na parte de data wrangling é possível criar mais algumas variáveis, mas como o foco aqui será de fazer uma primeira análise básica vamos seguir com algumas estatísticas básicas em relação a cada uma das variáveis da base de dados.

# See basic stats
summary(crimes)

Uma olhada rápida no sumário podemos tirar as seguintes informações:

  • Em relação ao tipo de policiamento vemos que temos um patrulhamento feito por diversos batalhões na metade dos casos, o que indica que há uma dispersão de batalhões (i.e. nenhum batalhão cuida específicamente de uma área) nessas áreas mais críticas;
  • 69% das localidades tem algum tipo de Distrito Policial nas redondezas do evento criminoso;
  • Apenas 1% dos locais não tem nenhum tipo de viatura da Força Tática;
  • Quase 70% das ocorrências acontecem com 3 ou mais pessoas. Isso nos faz a crer que pode ter dois tipos de vieses que são a) os crimes coletivos (e.g. arrastões, chacinas, etc.) são os mais reportados ou estão acontecendo de fato, ou b) os crimes menores como roubo de celular não estão sendo notificados;
  • Mais de metade das áreas dos eventos aconteceram em áreas consideradas com o nível de periculosidade altíssimo;
  • Pelos dados a Zona Sul está em chamas;
  • Com 88% dos locais com iluminação, pode ser que essa variável não seja mais a responsável pela inibição dos eventos criminosos;
  • Com apenas 49% dos casos periciados, as atividades de investigação podem em algum momento ter problemas de robustez de provas; e
  • Sendo o índice de patrulhamento em 90% e o policiamento ostensivo 83% nas regiões criminosas há indícios de que os criminosos estão indiferentes à presença policial.

São insights interessantes que nos auxiliam em algumas hipóteses como as levantadas. Neste ponto a análise descritiva básica pode ajudar e muito no início de uma política de segurança efetiva, e não pode ser descartada em nenhum momento. No nosso caso vamos avançar para a parte aplicada de machine learning que é o foco desse post.

Vamos criar um objeto utilizando o algoritmo a priori escolhendo um suporte de 55% (isso é, os conjuntos de itens estarão no mínimo em 55% de todas as transações) e com a confiança de 80% (isso é, a grosso modo é como dizer que há a probabilidade de 80% das transações encontradas serão derivadas dos itens contidos na base do suporte).

Não há uma regra única em relação à utilização do suporte e confiança, mas trazendo aqui uma heurística que eu sempre uso é que se o problema tem um volume de transações muito grande, o suporte será a métrica que vai dar mais robustez para descartar muitas regras redundantes, já se o problema tem uma caracterização com um menor volume de instâncias e se há uma necessidade de entrar mais no detalhe das regras e elas precisam de um grau de assertividade naturalmente maior (e.g. uma campanha de cartas em que há um custo operacional envolvido) aí utiliza-se a confiança. Mas lembrando, tudo isso depende do problema em questão.

Nesse caso, como os recursos a serem empregados são caros e escassos (viaturas e pessoal militar), então partiremos para uma confiança de 80%.

# The most important thing it's get a good support and a great confidence (This is a wishful thinking, in real world EVERYTHING can be happen!)
# The main task here is get a set a most meaningful way, so, shity rules will be discarted.
crimes_rulez <- apriori(crimes, parameter = list(minlen=4,maxlen=10, supp=0.55, conf=0.80))

Com o objeto criado, vamos agora reduzir para duas casas decimais as métricas de avaliação dessas regras para fins de simplicidade.

# Reduce the number of digits in measures of quality of the model
quality(crimes_rulez) <- round(quality(crimes_rulez), digits=2)

Apenas para fins de visualização, vamos criar alguns objetos de regras ordenando pela confiança e suporte para que possamos identificar de maneira mais efetiva as regras mais interessantes e acionáveis.

# Sort by Confidence and Support and Lift
model_srt_confidence <- sort(crimes_rulez, by="confidence")

model_srt_support <- sort(crimes_rulez, by="support")

Vamos agora inspecionar as nossas regras, de acordo com a confiança e o suporte:

# Check models (#66 rules)
inspect(model_srt_confidence)

inspect(model_srt_support)

Com esse comando acima, temos algumas regras:

      
   lhs                                     rhs                                  support confidence lift

1  {Apoio_GCM=Nao,                                                                                     
    Area_Residencial=Sim,                                                                              
    Iluminacao=Sim}                     => {Patrulhamento=Sim}                     0.57       0.98 1.09

63 {Area_Residencial=Sim,                                                                              
    Ocorrencia_Atendida_15_Minutos=Sim,                                                                
    Iluminacao=Sim}                     => {Zona=Zona_Sul}                         0.55       0.82 0.96

49 {Patrulhamento=Sim,                                                                                 
    Area_Residencial=Sim,                                                                              
    Ocorrencia_Atendida_15_Minutos=Sim,                                                                
    Iluminacao=Sim}                     => {Policiamento_Ostensivo=Sim}            0.58       0.89 1.08
  • A regra 1 indica que o patrulhamento está funcionando nos locais em que a PM não tem o apoio da GCM em áreas iluminadas de bairros residenciais;
  • A regra de número 63 mostra um primeiro padrão em relação a Zona Sul, em que com 82% de confiança essas ocorrências estão ligadas a lugares com malha residencial, iluminadas e a ocorrência foi feita dentro dos primeiros 15 minutos;
  • Já a regra 49 que o policiamento ostensivo está ocorrendo com 89% de confiança em áreas já patrulhadas em uma malha residencial iluminada em que o evento foi atendido em 15 minutos ou menos.

Com essas poucas regras acima podemos observar que o trabalho de primeiro atendimento está sendo feito dado que grande parte dessas ocorrências (dado o nível de suporte e confiança) estão sendo atendidas em um tempo de 15 minutos.

Outro ponto a ser considerado é que nas áreas residenciais estão ocorrendo muitos eventos criminosos. Isso pode ser um indicativo de que nas áreas de comércio e indústrias podem estar com baixa atratividade criminosa ou mesmo o policiamento nessas áreas está mais efetivo.  Uma estratégia aqui seria ver esses dois aspectos, e caso a segunda hipótese estiver correta replicar as ações de combate ao crime.

Já a Zona Sul que concentra grande parte das ocorrências, parece estar em chamas mesmo com um alto nível de patrulhamento, iluminação e policiamento ostensivo. Neste caso há a hipótese de que são o maior patrulhamento e um policiamento mais ostensivo além de ter uma ação mais rápida – que converge como o fato do atendimento de ocorrências demorar menos de 15 minutos –  ela tem o poder de jogar luz em uma demanda reprimida de registros policiais (i.e. crimes que não seriam registrados por ausência do poder público, ou mesmo por descaso do estado nunca entrariam nas estatísticas oficiais).

Em um segundo caso pode ser mesmo que uma facção criminosa esteja disputando controle direto com a polícia através de confrontos armados, ou mesmo atentados e roubos em áreas que são vigiadas pela polícia; o que sugere uma estratégia de inteligência para desarticular de dentro para fora milícias, grupos criminosos ou quadrilhas free lance que estejam levando terror a essas áreas.

Como são muitas regras e o objetivo é encontrar o máximo de regras específicas, vamos minerar algumas dessas regras usando campos específicos. Sendo assim vamos explorar um pouco mais das ocorrências que apresentaram as características de terem ocorrido na Zona Sul, em lugares iluminados, casos que as ocorrências foram atendidas em menos de 15 minutos ou que tiveram policiamento ostensivo.

# See specific rules of zones (I already mined some rules, but feel free to discover)
Zona_Sul <- subset(crimes_rulez, subset = rhs %pin% "Zona=Zona_Sul")

Iluminacao_Sim <- subset(crimes_rulez, subset = rhs %pin% "Iluminacao=Sim")

Ocorrencia_Atendida_15_Minutos_Sim <- subset(crimes_rulez, subset = rhs %pin% "Ocorrencia_Atendida_15_Minutos=Sim")

Policiamento_Ostensivo <- subset(crimes_rulez, subset = rhs %pin% "Policiamento_Ostensivo=Sim")

Esses objetos criados, tem somente as regras em que o RHS (right-hand-side) foram esses campos descritos no parágrafo anterior.

Vamos inspecionar esses objetos.

# Specific Rules
inspect(Zona_Sul)

inspect(Iluminacao_Sim)

inspect(Ocorrencia_Atendida_15_Minutos_Sim)

inspect(Policiamento_Ostensivo)

Seguindo a mesma lógica da análise acima, podemos ter os seguintes conjuntos de regras específicas:

Zona_Sul
8  {Patrulhamento=Sim,                                                            
    Policiamento_Ostensivo=Sim,                                                   
    Iluminacao=Sim}                     => {Zona=Zona_Sul}    0.66       0.88 1.03

9  {Patrulhamento=Sim,                                                            
    Area_Residencial=Sim,                                                         
    Iluminacao=Sim}                     => {Zona=Zona_Sul}    0.66       0.85 0.99


Iluminacao_Sim
   lhs                                     rhs              support confidence lift
12 {Patrulhamento=Sim,                                                             
    Policiamento_Ostensivo=Sim,                                                    
    Area_Residencial=Sim,                                                          
    Ocorrencia_Atendida_15_Minutos=Sim} => {Iluminacao=Sim}    0.58       0.96 1.09

13 {Zona=Zona_Sul,                                                                 
    Patrulhamento=Sim,                                                             
    Policiamento_Ostensivo=Sim,                                                    
    Area_Residencial=Sim}               => {Iluminacao=Sim}    0.61       0.95 1.08    


Ocorrencia_Atendida_15_Minutos_Sim
  lhs                             rhs                                  support confidence lift
5 {Zona=Zona_Sul,                                                                             
   Area_Residencial=Sim,                                                                      
   Iluminacao=Sim}             => {Ocorrencia_Atendida_15_Minutos=Sim}    0.55       0.81 1.08

7 {Patrulhamento=Sim,                                                                         
   Policiamento_Ostensivo=Sim,                                                                
   Area_Residencial=Sim,                                                                      
   Iluminacao=Sim}             => {Ocorrencia_Atendida_15_Minutos=Sim}    0.58       0.83 1.11


Policiamento_Ostensivo
   lhs                                     rhs                          support confidence lift
10 {Patrulhamento=Sim,                                                                         
    Area_Residencial=Sim,                                                                      
    Ocorrencia_Atendida_15_Minutos=Sim,                                                        
    Iluminacao=Sim}                     => {Policiamento_Ostensivo=Sim}    0.58       0.89 1.08

11 {Zona=Zona_Sul,                                                                             
    Patrulhamento=Sim,                                                                         
    Area_Residencial=Sim,                                                                      
    Iluminacao=Sim}                     => {Policiamento_Ostensivo=Sim}    0.61       0.93 1.12       

No caso dessas regras, tudo indica que mesmo com as ocorrências sendo atendidas em menos de 15 minutos em áreas residenciais iluminadas, a Zona Sul está com um problema grave de segurança.

A estratégia nesse caso seria investir de forma intensa em atividades de inteligência, dado que pelo que vimos pelos dados há uma situação de combate intenso com policia na rua e crimes acontecendo mesmo em situações em que os bandidos supostamente estariam intimidados.

Conclusão
Usando uma base sintética, vimos que é possível com algumas linhas de código e estatística descritiva básica ter insights sobre uma base de dados mesmo sem um conhecimento prévio.

No caso da nossa análise, vimos que pode haver uma situação de confronto clara em áreas residenciais mesmo com patrulhamento da polícia e policiamento ostensivo acontecendo.

Isso leva a crer que esses crimes estejam sendo reportados pelos aspectos acima, ou mesmo por uma maior disposição dos criminosos em agir em áreas controladas pela polícia. Isso pode indicar que o trabalho da polícia nesse caso não está sendo eficiente, e que uma estratégia de investigação através de atividades de inteligência devem ser colocadas em campo.

Regras de Associação no Combate ao Crime no Brasil – Por Flávio Clesio

Diferença entre Data Mining (Mineração de Dados) e Machine Learning (Aprendizado de Máquina)

Neste post do ARE os autores fazem uma tabela que se não representa 100% do que são essas duas disciplinas tão interligadas, ajuda ao menos colocar um pouco de luz na discussão.

Parâmetro Data Mining (Mineração de Dados) Machine Learning (Aprendizado de Máquina)
Definição Processo de extração de informação de um conjunto de dados e transformação de uma estrutura entendível para posterior uso. Tem como objetivo a construção e estudo de sistemas que podem aprender com os dados.
Foco Tem o foco na descoberta de propriedades desconhecidas dos nos dados. Tem foco na predição, baseado em características conhecidas e aprendidas pelos dados de treinamento.
Tamanho da Base de Dados É um processo automático ou semi-automático para performar em bases com grandes quantidades de dados. É geralmente performada em bases de dados pequenas para o aumento da acurácia.
Tipos Regras de Associação, Classificação,  Clustering (Agrupamento), Padrões Sequenciais, Sequência de Similaridade Supervisionado, Não-Supervisionado, Reforço
Relacionamento A Mineração de Dados usa diversas técnicas provenientes de Aprendizado de Máquina, mas com objetivos distintos. O Aprendizado de Máquina também usa técnicas de mineração de dados como “Aprendizado Não-Supervisonado” ou como “Passo de Pré-Processamento” para melhoria do modelo de aprendizado.
Aplicações Previsão, Classificação, Associação, Clustering (Agrupamento), Geração de Sequências Automação de Controle de Acesso de Funcionários, Proteção da Fauna, Predição de tempo de espera em salas de emergência, Identificação de falha cardíaca
Exemplos de Softwares Carrot2, GATE, UIMA, Weka, NLTK, Torch etc. Apache Mahout ,ELKI, H2O, OpenCV, OpenNN, Weka, MATLAB etc.

 

Diferença entre Data Mining (Mineração de Dados) e Machine Learning (Aprendizado de Máquina)

Minority Report?

O Data Mining chegando para o combate ao crime.

LAPD uses big data to target criminals

Dubbed LASER for its ability to zero in on offenders and hotspots, it is one of many newer law enforcement tools that use data tracking and collection – such as license plate scanners and cellphone trackers – often with little public knowledge or regulation.

Privacy advocates say LASER isn’t transparent, has no clear oversight and unjustly focuses on keeping ex-convicts under suspicion even though they’ve served their time.

“People who have paid their debts to society shouldn’t remain stigmatized in the eyes of police,” said Kade Crockford of the American Civil Liberties Union.

LASER uses technology developed by the CIA’s venture capital arm to realize a post-9/11 dream that allows investigators to match up vast troves of data from 15 separate sources to connect dots that they otherwise might miss.

Funded by federal grants, it launched in 2011 in Newton, and an expansion funded by additional money in October, brought the program to a total of eight areas throughout the city, plus the department’s high-tech analysis unit and its helicopters.

More than 3,500 LAPD officers have been trained to use Palantir, a platform that was introduced initially to speed up the process of creating dossiers on chronic offenders and is now used throughout the department for a variety of investigative purposes.

 

Minority Report?

Hello World em Aprendizado de Máquina

Para quem não sabe Hello World é uma expressão muito utilizada em programação, e é uma frase colocada em códigos para fins de aprendizado.

Neste post do Jason Brownlee do Machine Learning Mastery ele mostra como iniciar os estudos em aprendizado de máquina, seja para programadores ou não.

Esse tipo de post é perfeito para qualquer pessoa que deseja trabalhar com mineração de dados, pois diferentemente do aprendizado estruturado (que é bom), e do aprendizado orientado a resolução de problemas (que é ruim), e do aprendizado não-estruturado orientado à curiosidade para fins de descoberta (que é excelente).

Depois desse post, não tem mais desculpas para não começar com aprendizado de máquina.

 

Hello World em Aprendizado de Máquina

A predição que eu não quero…

Este site trata de questões ligadas diretamente à Data Mining e as demais variantes em relação à análise de dados, aprendizado de máquina, meta-heurísticas, matemática e estatística.

No entanto, um artigo do John Katz do New York Times que fala sobre os modelos de predição para as eleições do senado deste ano é um (mal) exemplo claro de que as atividades de análise de dados nunca podem ser um fim em si mesmas.

Em suma o artigo fala dos problemas dos modelos de predição, e mostra que mais uma vez os modelos erraram em detectar uma onda Republicana.

Até aí nada de mais: Modelos preditivos falhando.

Contudo, depois do excelente  livro do Nate Silver  um efeito nocivo dessa popularização da análise de dados e da mineração de dados é que muitos jornais, revistas, sites começaram a realizar o que eu chamo de análises estéreis no qual essas análises não olham a consequência da decisão, mas sim olham somente os números como se a análise preditiva fosse uma imensa gincana.

Não que eleições dessa natureza venham contribuir em termos de práticos para os pagadores de impostos; porém, para o pagador de impostos melhor do que saber qual indicador preditivo está com melhor desempenho; o certo seria entender como a composição de um senado iria influenciar em questões orçamentarias, fiscais, e principalmente de grandes questões importantes para todos.

A lição que fica é que a análise e a mineração de dados sempre está sujeita a questões ligadas ao suporte à decisão, e não somente a análise per se.

PS: As análises e o código fonte estão neste link.

A predição que eu não quero…

FAQ sobre Aprendizado de Máquina, Data Mining e afins…

Este post do William Briggs mostra de maneira bem humorada a visão dele sobre Aprendizado de Máquina, Estatística, Análise de Risco, Data Mining e assuntos do tipo.

FAQ sobre Aprendizado de Máquina, Data Mining e afins…

O Atirador de Aurora em Perspectiva

Alguns atrás dias postamos algo a respeito desse assunto, indicando que com uma seleção de variáveis simples; e posterior análises o atirador de Aurora poderia ter sido facilmente identificado sob a perspectiva da mineração de dados.

Nessa entrevista do Robert L. Mitchell na qual ele chama um dos ícones da mineração de dados o Dean Abbott (autor do bom artigo An Evaluation of High-end Data Mining Tools for Fraud Detection) o qual o mesmo dá a seguinte declaração:

“While it certainly was the case here that [the shooter] purchased a lot of stuff and that there didn’t appear to be a good, law-abiding reason for him to purchase the gear, it is unclear if his pattern of purchases is unusual”  when examined in the context of the purchases of hundreds of millions of other citizens, he says.  For example, given the universe of more than 400 million people, it might very well be possible that 20,000 people made similar volumes of purchases in the same time period. But how many of those are exhibiting risky behavior?

Não tirando o mérito e tudo o que o Dean já fez pela mineração de dados, mas pegar um especialista em target marketing e projetos ligados à área comercial para tratar de um tema altamente criminal não parece ser algo inteligente, ou bem intencionado quando para se colocar a mineração de dados à mesa.

Há no mínimo três fontes primárias no assunto que são os livros Investigative Data Mining for Security and Criminal Detection do Jesus Mena, Data Mining and Predictive Analysis: Intelligence Gathering and Crime Analysis do Colleen McCue e o Data Mining for Intelligence, Fraud & Criminal Detection: Advanced Analytics & Information Sharing Technologies do Christopher Westphal.

Esses livros (que já estão na fila para serem resenhados aqui no site) tratam exatamente desse tema, dentro de uma perspectiva constitucional para tomada de decisão, seja do poder legislativo com modificações nas leis; seja na esfera executiva/policial com vigilância e prevenção.

Aqui no Brasil uma ótima apresentação foi realizada por André Cavalcante Hora e Zilton Cordeiro Junior sob o acompanhamento do professor Wagner Meira Júnior; no qual os autores utilizaram regras de associação no WEKA para descobrir regras para auxiliar na formulação de políticas e estratégias de policiamento. Até mesmo chegamos a formular uma base de teste chamadas Crimes, na qual é um pequeno mock-up baseado no projeto dos alunos citados.

A mineração de dados pode auxiliar na tomada de decisões relacionadas à esfera criminal e negar isso mostra não só desconhecimento, mas total ignorância com os recursos dessas técnicas que vem crescendo mais e mais ao redor do mundo.

O Atirador de Aurora em Perspectiva

Big Data já atraí a atenção de escritórios de advocacia

Não era de se esperar, que a clava da regulação e do ajuste de condutas iria se erguer sobre o Big Data; seja no estabelecimento de Guidelines ou mesmo na forma de regulação e legislação específica. Por mais que seja restritivo para alguns analistas é um mal necessário devido ao fato de que sem regulação as empresas (e principalmente os governos) têm o passaporte amplo para realizarem análises e cruzamentos de dados mais diversos para cercear o poder das e principalmente as vidas dos cidadãos. É uma discussão que apesar de ser tratada de forma periférica por muitos analistas de dados, é de suma importância para o desenvolvimento de projetos de Big Data.

Big Data já atraí a atenção de escritórios de advocacia

A Mineração de Dados pode parar a matança? – Uma reflexão sobre o episódio do Atirador do Colorado e a Mineração de Dados

Até esse momento diversos sites já estão reportando a situação sobre o atirador do Colorado nos Estados Unidos e estão nesse exato momento acontecendo diversos debates (Controle de Armas, Vídeo Games, Políticas de Restrições de Liberdades, entre outros.) (http://www.nytimes.com/2012/07/21/us/shooting-at-colorado-theater-showing-batman-movie.html) que estão fora do escopo de atuação desse site.

Entretanto, o assunto serve como plano de fundo para uma discussão que envolve Mineração de Dados e desenvolvimento de políticas de acesso á dados e controle governamental sobre dados “privativos”. O artigo do Holman W. Jenkins, Jr do Wall Street Journal coloca a questão à mesa em uma visão sóbria e realista pegando como exemplo o massacre ocorrido.

O artigo realiza uma série de indagações sobre quando a mineração de dados poderá ser usada para  interromper esse tipo de matança (por isso o título original do artigo Can Data Mining Stop the Killing?) e sobre as discussões sobre o programa Total Information Awareness que regula sobre as questões de Data Gathering e Mineração de Dados sobre informações de todos os cidadãos dos EUA.

Mas há dois trechos do artigo que merecem um destaque especial, que são:

[…]The Colorado shooter Mr. Holmes dropped out of school via email. He tried to join a shooting range with phone calls and emails going back and forth. He bought weapons and bomb-making equipment. He placed orders at various websites for a large quantity of ammunition. Aside from privacy considerations, is there anything in principle to stop government computers, assuming they have access to the data, from algorithmically detecting the patterns of a mass shooting in the planning stages? […]

Tradução livre: O atirador do Colorado Sr. Holmes largou a escola via um e-mail. Ele tentou se filiar a um clube de tiro com chamadas telefônicas e e-mails indo e voltando. Ele comprou armas e equipamento para fabricação de bombas. Ele encomendou em diversos sites ampla quantidade de munição. Deixando de lado questões relacionadas à privacidade, há alguma coisa em princípio para interromper os computadores do governo, assumindo que eles têm o acesso aos dados, e detectar algoritmicamente os padrões de planos de chacinas em seus estágios iniciais?

 E esse trecho:

[…]The anguishing thing about mass-shooting incidents is that patterns are indeed present […]

Tradução livre: O angustiante sobre essas chacinas é que os padrões estão sempre presentes.

Utilizando como ponto de partida dessa reflexão, há uma frase que se enquadra bem nesse contexto que é “Quando a arma que mata é a mesma que defende a liberdade, os Santos choram; mas não acusam”. Isso quer dizer que partindo das indagações( justas) do Sr. Jenkins, bem como das diversas manifestações da American Civil Liberties Union (ACLU – Em tradução livre: União das Liberdades Civis Americanas) é possível dar duas respostas sobre essas perguntas: Não, e Sim.

A aplicação efetiva de Mineração de Dados na esfera pública, até mesmo no Brasil provou que é um campo que tem tudo para dar certo, se utilizada para o correto atendimento dos interesses gerais da administração pública; seja na área de economicidade (na qual trata o artigo) seja na área de segurança pública.

O fato é que hoje as empresas estão anos-luz à frente dos governos em relação à aquisição de dados, e principalmente na utilização desses dados para os mais diversos fins comerciais: cobrança, marketing direcionado, marketing político, design de produtos, disponibilização de linhas de crédito, e até mesmo predição de tendências comportamentais de consumo.

Dentro desse panorama, é de se espantar que associações de direitos civis se oponham de maneira ferrenha ao fato do governo poder ter essas informações consolidadas e para utilização para diversos tipos de aplicações para servir ao bem público (isso baseado e legislação específica, e com representantes e pautas de discussões eleitos democraticamente) sendo que informações como padrões de utilização de cartões de crédito, ligações telefônicas, e-mails, correspondências, informações sobre restrições e status de créditos bancários estejam na mão de empresas; as quais que além de tudo comercializam esses tipos de informações, seja via birôs de crédito e de informações; seja a comercialização de malas diretas.

Um praticante de mineração de dados razoável poderia modelar algo no mesmo sentido em que o colunista descreveu com determinada facilidade, contudo; a questão vai um pouco além do que foi descrito, e a mineração não pode tratada como a salvação em se tratando de crimes dessa natureza; pois, além das restrições legais, esse campo penaliza de forma severa erros de interpretação, os quais se hoje são a solução para auxiliar na esfera criminal em questão de prevenção, pode tornar um instrumento para criminalizar mais pessoas através de erros de interpretação.

Uma coisa que sempre este site faz questão de ressaltar é que a mineração de dados são um conjunto de técnicas que auxiliam na tomada de decisão, e que a ação propriamente dita é sempre condicionada, única e exclusivamente pelo agente humano através da interpretação dos padrões recebidos; e esse processo quase que dialético de extrair da expertise (conhecimento tácito) e do background técnico (conhecimento explicito) conhecimento para lidar com qualquer tipo de situação de acordo com os dados. Jogar na mineração de dados essa responsabilidade, é no mínimo preocupante, pois mostra ainda que as pessoas conhecem muito pouco do assunto e procuram uma bala de prata para resolver diversos problemas da sociedade; e é desse tipo de abordagem que a mineração de dados deve se afastar para não virar instrumento de um estado tecnocrático e policial que tem base valores totalitários e restritivos.

A discussão é interessante e está aberta, e cabe ressaltar que ainda haverá muita discussão nesse sentido nos outros países. Pena que ainda, nós brasileiros não acordamos para esse tipo de discussão.

 PARA LER

ACLU. Data Mining. Disponível em << http://www.aclu.org/technology-and-liberty/data-mining >> Acessado em 24 Jul 12 às 22:22hs.

PEÑA, Charles V. Information Awareness Office Makes Us a Nation of Suspects. CATO Institute. Disponível em << http://www.cato.org/research/articles/pena-021122.html  >> Acessado às 24 Jul 12 às 22:23hs.

ACLU. Testimony of Barry Steinhardt, Director of the ACLU Technology and Liberty Program on Government Data Mining Before the House Government Reform Subcommittee on Technology, Information Policy, Intergovernmental Relations and the Census. Disponível em << http://www.aclu.org/national-security/testimony-barry-steinhardt-director-aclu-technology-and-liberty-program-government >> Acessado em 24 Jul 12 às 22:22hs.

DARPA. DARPA’s S&T Privacy Principles. Disponível em << http://www.darpa.mil/About/Initiative/DARPA’s_S_T_Privacy_Principles.aspx >> Acessado em 24 Jul 12 às 22:25hs

ACLU. Total Information Compliance: The TIA’s Burden Under The Wyden Amendment – A Preemptive Analysis of the Government’s Proposed Super Surveillance Program. Disponível em << http://www.aclu.org/files/FilesPDFs/aclu_tia_report.pdf  >> Acessado em 24 Jul 12 às 22:26hs

ACLU. Technology And Liberty Program – A letter to Alex Türk. Disponível em << http://www.aclu.org/files/images/asset_upload_file750_34919.pdf >> Acessado às 22:38hs

SARMENTO SILVA, Carlos Vinícius; RALHA, Célia Ghedini. Detecção de Cartéis em Licitações Públicas com Agentes de Mineração de Dados . Revista Eletrônica de Sistemas de Informação. Disponível em << http://revistas.facecla.com.br/index.php/reinfo/article/view/754/pdf  >> Acessado em 24 Jul 12 às 22:37hs.

NATH, Shyam Varan. Crime Pattern Detection Using Data Mining. Oracle Corporation. Disponível em << http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=4053200&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D4053200  >> Acessado em 24 Jul 12 às 22:40hs.

A Mineração de Dados pode parar a matança? – Uma reflexão sobre o episódio do Atirador do Colorado e a Mineração de Dados

The Elements of Statistical Learning

Um ótimo achado da web é este livro que é um clássico sobre Aprendizado de Máquina. O Elements of Statistical Learning é um ótimo livro no qual disponibiliza diversos exemplos práticos e teóricos sobre aprendizado de máquina e tem uma das melhores explicações sobre Cross-Validation no capitulo 7; e o melhor é que o livro está disponível para download de forma gratuíta.

Link – http://www-stat.stanford.edu/~tibs/ElemStatLearn

Elements of Statistical Learning

The Elements of Statistical Learning

Mineração de Dados com Excel

Esse verdadeiro achado é sem sombra de dúvidas um dos melhores manuais Hands-On em Mineração de Dados disponíveis na web. Essa apostila/manual criado por Galit Shmueli, Nitin R. Patel e Peter C. Bruce une o que há de mais completo em relação as técnicas de mineração de dados com explicações bem didáticas e com aplicação direta no Excel; o que torna o seu uso muito interessante para pequenos ambientes analíticos. A apostila é bem densa, porém; engana-se quem acha que isso é sinônimo de prolixidade; o texto é bem conciso e tem diversos cenários interessantes. Vale a pena baixar e estudar.

Data Mining In Excel

Mineração de Dados com Excel

Oracle e Mineração de Dados

Para quem tem interesse por Mineração de Dados e deseja saber um pouco mais das aplicações com posts bem curtos com muito how-to eu recomendo o blog do Brendan Tierney que é especialista em Oracle e Aprendizado de Máquina; além de ser um Data Scientist muito bem renomado.

Oracle e Mineração de Dados