sábado, 5 de novembro de 2016

Big Data - Conceitos Básicos

1 - IntroduçãoI


É muito dado! É a matéria prima de tudo que veremos neste texto!





E certamente um dia alguém pensou...
- Isso tem que ter algum valor!

https://espinhodemetal.files.wordpress.com/2007/01/homer_pensando.jpg





E aí surgiu o primeiro conceito Big Data... e depois vieram muitos.

E Big Data é isto... é você pegar um montão de dados e transforma-los em informações que ajudarão os gestores das empresas a tomarem decisões.

- Uééééééé... O BI já faz isso!

O BI usa dados gerados por sistemas transacionais. Estes dados são estruturados e ficam armazenados em bancos de dados. Além disso, os dashboards gerados pelo BI refletem o passado dos dados.

O Big Data tem capacidade de processar um maior volume de dados, de origens e tipos diversos, gerando insights, descobertas e novas possibilidades para o negócio.  

Tanto o BI quanto o Big Data têm como objetivo gerar informações que apoiarão as decisões dos gestores.


2 - V's do Big Data

E aí começaram a surgir os famosos V’s do Big Data... Inicialmente 3v’s, depois 4, 5 e procurando encontramos até 7 v’s.

E os v’s nada mais são do que as características que começam com a letra “v” e que definem um projeto como Big Data.

São eles: Volume, Velocidade, Variedade, Veracidade, Variabilidade, Valor e Visão.

2.1 - Volume





Imaginem a quantidade de dados gerados na apresentação do papa Bento XVI em 2005 e o crescimento deste volume se comparado com a geração de dados na apresentação do papa Francisco em 2013.






Diariamente são criados 2,5 quintilhões de bytes de dados no mundo. Junte esses dados a todos os dados já armazenados até então. Isto é o "v" do volume!

A seguir alguns fatores que contribuem para o aumento do volume de dados:

- Dados transacionais armazenados ao longo do tempo;
- Dados em streaming nas mídias sociais;
- Dados de sensores.


2.2 - Velocidade    

De acordo com o Gartner, velocidade significa:


“Rapidez na produção de dados que deve ser acompanhada da rapidez no tratamento destes dados.”


http://proativasoft.com.br/sitenovo/wp-content/uploads/2015/06/60seconds.jpg


2.3- Variedade       

Os dados podem ter diversas origens e ser de tipos variados. Eles podem ser:

Dados estruturados – Oriundos de sistemas transacionais e armazenados em bancos de dados relacionais;

Semi-estruturados – Dados não relacionais mas com estruturas padronizadas. Exemplos: Arquivos no formato XML e Json;

Não estruturados – Dados que não possuem uma estrutura definida. Exemplos: Sons, vídeos, imagens e arquivos texto.

A imensa variedade de tipos de dados amplia as possibilidades de análises e resultados.


2.4 - Veracidade

Dados confiáveis e condizentes com o momento e objetivo da análise.


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHLBBuR9tPmp5a16hR06s-GM1AJ7Iv8Qns_unX3BK5xZ1nay6YPb4chcoWbsPIVOBmd-fYiJVhcM4jCDx566sqvDSJwZAqOxV4o9mp0UhYGdPIQjd5teNyXfYvuDsNLu5k1aEO7Me_Llk/s1600/garbage-in-garbage-out.jpg





2.5 - Variabilidade

Os dados estão em constante mutação e dependem do contexto.

Este “v” é especialmente percebido no processamento da linguagem natural. 
- Uma única palavra pode ter vários significados;
- Novos significados podem ser criados e significados velhos descartados ao longo do tempo;


"Interpretar esta variabilidade é um desafio único!"


2.6 - Valor

Conversão dos dados (data lake) em informações/insights/descobertas que servirão de base para a tomada de decisão, trazendo assim uma vantagem competitiva para as empresas.

A análise dos dados somente gerará valor se as recomendações resultantes originarem mudanças que tragam resultado positivo para as organizações.


2.7 - Visão


Apresentação dos dados de forma legível e acessível! 







3 - Geradores de grandes volumes de dados

Exemplos de geradores de grandes volumes de dados que podem ser tratados pelas ferramentas Big Data:

- Mídias sociais;
- Sensores;
- Dados das caixas pretas de aviões;
- Dados de sistemas transacionais;
- Etiquetas RFID;
- Câmeras de vídeo;
- Internet das coisas.


4 – Ferramentas orientadas a projetos Big Data




5 – Exemplos de aplicabilidades


- Traçar o perfil dos clientes/consumidores para sugerir vendas cruzadas, ofertas direcionadas e criar novos produtos;

Alavacar dados exclusivos para prospecção de novos produtos/demandas de mercado e dos clientes;

- Análises de dados gerados por sensores meteorológicos espalhados pelo mundo com o objetivo de fazer predição de desastres e salvar vidas;

- Análise de informações financeiras oriundas de várias fontes com o objetivo de comprar e vender ações de forma mais eficiente;

Análise preditiva na gestão de risco de crédito;

- Prevenção de epidemias a partir da análise das incidências de doenças em determinados locais;

- Ajustes na linha de produção para evitar falhas que podem ser detectadas em tempo real;



 Detecção de fraudes com maior eficácia.



sexta-feira, 28 de outubro de 2016

Data Mining - Lei de Newcomb-Benford

Lei de Newcomb-Benford


Outubro/2016


Autor: Willian Hofner

Parceria nas análises: Patrícia de Fátima e Almeida


Resumo
Os fatos atuais ocorridos no cenário político do Brasil demonstram um crescimento assutador da corrupção. O Poder Público tem atuado de forma preventiva e coercitiva a fim de investigar e descobrir os esquemas ilegais. A Policia Federal, o TCU, TCE, MP e vários outros órgãos estão aplicando inteligência às estratégias de investigação e reunindo provas de forma meticulosa, inclusive contra servidores da própria instituição.  Este artigo propõe uma metodologia para análise das contas do Poder Público, e tem por fundamento a regularidade estatistica dos dígitos de 1 a 9, conhecida por Lei Newcomb-Benford. Essa Lei estuda as frequências dos primeiros dígitos que aparecem em listas numéricas.

Palavras-chave: Artigo. Lei. Newcomb. Benford. Corrupção. Poder Público. Fraude.



Introdução
            Os números estão sempre presentes nas nossas vidas. Mas estariam eles distribuídos na mesma proporção?
Em 1881, o astrônomo e matemático, Simon Newcomb observou que as primeiras tábuas de logaritmos estavam mais desgastadas e que o desgaste ia diminuindo na medida em que os números aumentavam. Esta observação colocou em dúvida o entendimento de que a distribuição de dígitos numéricos era uniforme, isto é, que os dígitos de 1 a 9 teriam a mesma probabilidade de ocorrência.
Newcomb calculou a probabilidade de ocorrência dos números de 1 a 9 no primeiro dígito dos números analisados com a equação abaixo:

P (primeiro dígito significativo = d) = Log10
(1 + 1/d)

Em que:
d = primeiro digito significativo pertencente ao conjunto dos números inteiros entre 1 e 9.
P(d) = probabilidade de ocorrência do dígito d em um número qualquer.

Portanto, para n = 1, tem-se:
P (primeiro dígito significativo = 1) = Log10
(1 + 1/1) = 0,301...

Para n = 2, tem-se:
P (primeiro dígito significativo = 2) = Log10
(1 + 1/2) = 0,176...

Para n = 9, tem-se:
P (primeiro dígito significativo = 9) = Log10
(1 + 1/9) = 0,046...

O resultado destas operações resultou na seguinte distribuição:

Probabilidade de ocorrência do Primeiro Dígito Significativo
Dígito (d)
1
2
3
4
5
6
7
8
9
Total
P(d)
30,1%
17,6%
12,5%
9,7%
7,9%
6,7%
5,8%
5,1%
4,6%
100%

Mas Newcomb não forneceu evidências comprovando esta descoberta. 
Mais de meio século depois, em 1938, Frank Benford utilizou diversas fontes e analisou os primeiros dígitos dos números coletados e mostrou que a distribuição dos números de 1 a 9 nestes dígitos é proporcional ao intervalo de uma escala logarítmica.
O gráfico abaixo, com a distribuição da Lei de Benford, deixa clara a diminuição exponencial da probabilidade de ocorrência dos números de 1 a 9:




Portanto, segundo a Lei de Benford, se selecionarmos uma quantidade razoável de números (quanto maior a lista, mais o resultado se aproxima da distribuição definida pela lei) e analisarmos o primeiro dígito, verificaremos que o número 1 aparecerá mais que o 2, o 2 mais que o 3 e assim sucessivamente até o número 9. Além disso, a medição pode ser em qualquer escala que não altera os pressupostos da lei.
Caso o resultado fique muito distante da distribuição definida pela lei, podemos deduzir que existem indícios de que os números podem ter sido manipulados e que precisam ser auditados.
Para mensurar se a diferença resultante da comparação representa ou não uma desconformidade com a Lei, utiliza-se testes estatísticos tais como: Teste-Z, Qui-Quadrado e Média dos Desvios Absolutos.
Os conjuntos de dados para serem analisados pela lei de Benford devem ter as seguintes características:

            - Devem ser compostos por pelo menos de 1000 registros;
            - Os números devem ter no mínimo 4 dígitos;
            - Os números devem ser gerados de forma natural;
- Os números não podem ser restritos (Exemplos: números de telefone e altura das pessoas);

A Lei de Benford pode ser usada, por exemplo, para testar software, analisar o resultado das eleições, auditar as declarações de imposto de renda e orçamentos de obras públicas.
Ela pode ser identificada também pelo nome de “Lei contra a fraude” e “Lei dos Primeiros Dígitos” e atualmente ela é muito utilizada como uma ferramenta de data mining.
Abaixo alguns exemplos de utilização da lei:

            - Rastreamento de fraudes tributárias nos EUA é legalmente admissível pela aplicação da Lei de Benford;
- Análise dos dados macroeconômicos reportados pelos países membros da União Européia ao seu Gabinete de Estatística que resultou no ranking de desvios de 27 países e teve a Grécia vitoriosa neste quesito (manipulação confirmada oficialmente pela Comissão Européia).
Segue abaixo mais algumas conclusões da Lei:  

- Dados fraudulentos e aleatórios possuem poucos valores 1 e muitos 6;
- Valores de despesas nas declarações de IR que aparecem com dígitos 3 acima dos 12% é indício de manipulação;

Para aplicarmos a Lei Newcomb-Benford, foi utilizada a planilha retirada do portal da transparência da Prefeitura Municipal de Corinto – MG, no endereço eletrônico:
            A consulta teve como base as Despesas da Prefeitura Municipal de Corinto de janeiro a setembro de 2016.
Para a carga da planilha no Rstudio (software utilizado na analise da Lei Newcomb-Benford que possui uma biblioteca intitulada "benford.analysis") foi necessária algumas adaptações no arquivo, sem alterações dos dados:

- Transformação dos dados da coluna analisada para numérico com 2 casas decimais;
- Exclusão dos cabeçalhos entre as linhas;
- Arquivo .XLS salvo como arquivo .CSV.

Instalando, executando e analisando o pacote:

## Version 0.99.903 – © 2009-2016 RStudio, Inc.
## Instala o pacote no RStudio
> install.packages('benford.analysis')
## Carrega a biblioteca
> library(benford.analysis)
## Seleciona e carrega o arquivo “Despesas Corinto primeiro semestre 2016.csv”
> Despesas_Corinto_2016 <- read.csv(file.choose(), sep = ';', header = TRUE,
 as.is = TRUE, skipNul = TRUE, dec = ",", na.strings = "NA")



## Aplica a lei nas variáveis selecionadas para análise
> Benf_Corinto_2016 <- benford(Despesas_Corinto_2016$Valor.Pago,                                               number.of.digits = 1,discrete = FALSE)
## Lista os principais resultados da análise
> Benf_Corinto_2016

Benford object:

Data: Despesas_Corinto_2016$Valor.Pago => nome da base de dados
Number of observations used = 7365     => número de observações
Number of obs. for second order = 3957 => número de observações para segunda ordem
First digits analysed = 1             => primeiro dígito analisado

=>Na sequência as principais estatísticas da mantissa do log dos dados pesquisados. Se a lista de dados analisada segue a Lei de Benford, os valores devem ser próximos dos seguintes:
 - média: 0.5;
 - var: 1/12 (0.083333...);
 - curtose: 1.2;
 - assimetria: 0. 

Mantissa:

   Statistic  Value
        Mean  0.509
         Var  0.082
 Ex.Kurtosis -1.158
    Skewness -0.074


=> Segue os 5 maiores desvios que são os valores que podem merecer uma análise minuciosa, pois o mais importante não é saber se os dados seguem ou não a lei, mas sim verificar o tamanho do desvio e a sua importância prática.

O conjunto de dados suspeitos pode ser analisado com a função getSuspects. 

The 5 largest deviations:

  digits absolute.diff
1      3        538.83
2      2        219.91
3      4        173.74
4      7        168.89
5      1        138.09

=> Finalizando, segue um conjunto estatístico de grau de ajuste. Uma das verificações interessante é o p-valor do qui-quadrado que quanto mais perto de zero mais indicará um desvio em relação ao esperado.

Stats:

Pearson's Chi-squared test

data:  Despesas_Corinto_2016$Valor.Pago
X-squared = 518.27, df = 8, p-value < 2.2e-16

        Mantissa Arc Test

data:  Despesas_Corinto_2016$Valor.Pago
L2 = 0.0016959, df = 2, p-value = 3.762e-06

Mean Absolute Deviation: 0.02274956
Distortion Factor: 1.222325

Remember: Real data will never conform perfectly to Benford's Law. You should not focus on p-values!

## Gera os gráficos
> plot(Benf_Corinto_2016)



Digits Distribution

Comparação entre os dados pesquisados (barras em azul) e os valores esperados pela Lei de Benford (Linha vermelha tracejada).

Digits Distribution Second Order Test
           
Análogo ao Digits Distribution, porém faz a contagem para a diferença dos dados ordenados.

Summation Distribution by Digits

Este gráfico mostra a soma dos valores das observações agrupados por primeiros dígitos com o objetivo de identificar grupos de valores influentes.

A função getSuspects gera uma tabela com os dados dos dígitos com maior discrepância. Veja abaixo o exemplo:

> suspects <- getSuspects(Benf_Corinto_2016, Despesas_Corinto_2016)
 



Considerações Finais

A análise Benford facilita o trabalho de auditoria na medida que permite a verificação de toda a população de dados, retornando apenas a relação de dados suspeitos, permitindo assim um estudo mais direcionado a esses dados.
Os desvios aqui identificados em relação à Lei de Newcomb-Benford não constituem prova conclusiva de manipulação, entretanto uma não conformidade com a lei indica que os dados precisam de uma investigação mais minuciosa.
Outras funcionalidades podem ser consultadas no pacote de acordo com a análise necessária.

Bibliografia