Relatório de Atividades do Terceiro Trimestre do WP6...

46
Universidade Federal do Rio Grande do Norte Instituto Metrópole Digital SmartMetropolis – Plataforma e Aplicações para Cidades Inteligentes WP6 – Análise e Visualização de Dados Relatório de Atividades do Terceiro Trimestre do WP6 - Análise e Visualização de Dados Natal-RN, Brasil [Outubro de 2016]

Transcript of Relatório de Atividades do Terceiro Trimestre do WP6...

Page 1: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

Universidade Federal do Rio Grande do NorteInstituto Metrópole Digital

SmartMetropolis – Plataforma e Aplicações para Cidades Inteligentes

WP6 – Análise e Visualização de Dados

Relatório de Atividades do Terceiro Trimestre do WP6 -Análise e Visualização de Dados

Natal-RN, Brasil[Outubro de 2016]

Page 2: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

Equipe TécnicaProf. Dr. Allan de Medeiros Martins - DEE/UFRN

Prof. Dr. Daniel Sabino Amorim de Araújo – IMD/UFRNProf. Dr. Adrião Duarte Dória Neto - DCA/UFRNProf. Dr. Nélio Alessandro Azevedo Cacho - DIMAp/UFRN

DiscentesAdelson Dias de Araújo Júnior - Iniciação Científica (Engenharia de Computação)Camila Nascimento dos Santos - Mestrado (Pós-graduação em Eng. Elétrica e de Computação)Felipe de Souza Pinheiro - Mestrado (Pós-graduação em Eng. Mecatrônica)Jhoseph Kelvin Lopes de Jesus - Mestrado (Pós-Graduação em Sistemas e Computação)Leandro Albino Ferreira - Iniciação Científica (Engenharia de Computação)Maximiliano Araújo da Silva Lopes - Doutorado (Pós-graduação em Eng. Elétrica e de Computação)Mickael Raninson Carneiro Figueredo - Iniciação Científica (Engenharia de Computação)

Page 3: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

Sumário1 Introdução 7

2 Metodologia 7

3 Andamento das Atividades e Resultados Obtidos 83.1 Mineração de textos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.1.1 Classificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.1.2 Classificação em Tempo Real . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 Técnicas de visualização e Exploração do FIWARE . . . . . . . . . . . . . . . . . . . . 123.2.1 Exploração do FIWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2.2 Aplicação de Lavagem de Dinheiro . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.2.1 Design Visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3 Processamento de sinais e Análise de Séries Temporais . . . . . . . . . . . . . . . . . . 17

3.3.1 Análise de Séries Temporais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.3.2 Predição univariada das ocorrências policiais de Natal . . . . . . . . . . . . . . 20

3.3.2.1 Uma AISP e um grupo . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3.2.2 Todas as AISPs e dois grupos . . . . . . . . . . . . . . . . . . . . . . 27

3.3.3 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.4 Processamento de imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.4.1 Implementação e Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4.2 Processamento de Imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.4.3 Determinar a posição espacial dos nós relevantes . . . . . . . . . . . . . . . . . 323.4.4 Classificação dos nós relevantes . . . . . . . . . . . . . . . . . . . . . . . . . . 333.4.5 Conectar os nós e detectar das direções das arestas . . . . . . . . . . . . . . . . 343.4.6 Encontrar loops e caminhos diretos . . . . . . . . . . . . . . . . . . . . . . . . 343.4.7 Função de transferência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.5 Redução de dimensionalidade - Abordagem baseada em Information Theoretic Learning 363.5.1 O Algoritmo PCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.5.2 O Algoritmo SNE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.5.3 O Algoritmo t-SNE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.6 Redução de Dimensionalidade - Abordagens de Seleção de Atributos para problemas declassificação em Big Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.6.0.1 Abordagens de combinação propostas . . . . . . . . . . . . . . . . . . 393.6.0.2 Algoritmos de Redução de Dimensionalidade e Classificação . . . . . 393.6.0.3 Conjuntos de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.6.0.4 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.6.0.5 Discussão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4 Considerações Finais 44

Page 4: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

Lista de Figuras1 Estrutura de Tempo Real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Estrutura do SSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Tela de Login do SSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Resultado de Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Rodapé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Tela Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Tela Pesquisar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Menu nos Smartphones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Tela Principal nos Smartphones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1610 Menu nos Smartphones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1711 Tela Principal nos Smartphones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1712 Cidade do Natal subdividida em AISPs . . . . . . . . . . . . . . . . . . . . . . . . . . . 2013 Grupos de ocorrências utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2114 Histogramas para granularidade em horas (à esquerda) e dia da semana (à direita) . . . . 2115 Histogramas para granularidade em mês (à esquerda) e semana do ano (à direita) . . . . 2216 Plot da série temporal da AISP 12 para desordem . . . . . . . . . . . . . . . . . . . . . 2217 ACF e PACF da série temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 ACF e PACF da série temporal diferenciada . . . . . . . . . . . . . . . . . . . . . . . . 2319 Plot da série observada (em preto) e predita (em vermelho) . . . . . . . . . . . . . . . . 2420 Plot da série para amostra de validação, em preto a observada e em vermelho a predita . 2521 Plot da predição por detecção de picos . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 Exemplo de um Diagrama de Mason, na qual a sua função de transferência final é:

G(s) = G1(s)G2(s)G3(s) + G4(s)G3(s) + G1(s)G5(s) . . . . . . . . . . . . . . . . . 2923 Foto tirada de uma câmera de celular, com resolução 1600 x 1200 pixels . . . . . . . . . 3124 Algoritmo de segmentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3225 Imagem após a etapa de segmentação . . . . . . . . . . . . . . . . . . . . . . . . . . . 3226 Zoom na imagem usada para encontrar os nós relevantes. Os círculos brancos são os

candidatos e os círculos pretos o resultado da quantização. As linhas finas vermelhas é oesqueleto da imagem segmentada, e a área verde é a imagem segmentada. . . . . . . . . 33

27 Resultado da classificação dos nós relevantes. O círculo amarelo indica o nó inicial. Oscírculos verdes representam os nós TF e os brancos uma bifurcação. O círculo pontilhadopreto indica uma distância threshold estimada . . . . . . . . . . . . . . . . . . . . . . . 34

28 Conexões detectadas entre os nós. As linhas azuis representam as linhas detectadas. Cadanó da TF é representado por um círculo verde e está rodeado por dois círculos preenchi-dos (branco e vermelho). A direção é dada a partir círculo branco para o vermelho docírculo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

29 Caminhos diretos e loops encontrados no grafo. As três imagens superiores representamos caminhos diretos, e as três imagens inferiores representam os loops. . . . . . . . . . . 35

30 Formato dos Conjuntos de Dados Gerados . . . . . . . . . . . . . . . . . . . . . . . . . 3631 Resultados apresentados pelo algoritmo PCA . . . . . . . . . . . . . . . . . . . . . . . 3732 Resultados apresentados pelo algoritmo SNE . . . . . . . . . . . . . . . . . . . . . . . 3833 Resultados apresentados pelo algoritmo t-SNE . . . . . . . . . . . . . . . . . . . . . . . 3834 Fusão dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Page 5: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

5

35 Fusão dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Page 6: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

Lista de Tabelas1 Desempenho de Criação de Classificadores . . . . . . . . . . . . . . . . . . . . . . . . 82 Diagnóstico dos modelos auto-regressivos ajustados . . . . . . . . . . . . . . . . . . . . 263 Ajuste de modelos em seleção por MAPE . . . . . . . . . . . . . . . . . . . . . . . . . 274 Ajuste de modelos em seleção por PSS . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Descrição das Bases de Dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Resultados utilizando Árvore de Decisão. . . . . . . . . . . . . . . . . . . . . . . . . . 427 Resultados utilizando Naive Bayes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 Resultados utilizando k-NN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Page 7: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

7

1 Introdução

Este Work Package (Análise e Visualização de dados - WP6) é um dos 6 Work Packages do projetoSmartMetropolis cujo objetivo geral é desenvolver soluções de tecnologia da informação que ajudem aresolver problemas das cidades e regiões metropolitanas atuais. O foco principal do projeto é o desenvol-vimento de soluções inteligentes para resolver problemas, principalmente, em pontos críticos de regiõesurbanas e em crescimento, como segurança pública, saúde, educação, trânsito e qualidade de vida.

O WP6 é responsável por realizar análises nas massas de dados geradas por aplicações e metodologiasdesenvolvidas pelos demais grupos de trabalho. Os algoritmos e técnicas desenvolvidos neste WP podemvir a ser parte integrante de aplicações desenvolvias em outros WP’s ou serem utilizadas como APIs parao desenvolvimento dos trabalhos do próprio WP6. Em ambos os casos, a análise tem como objetivoprincipal extrair informações úteis que estejam “embutidas” nos dados para ajudar na tomada de decisão.

As análises de dados são realizadas, principalmente, por técnicas das áreas de Aprendizado de Má-quina e Estatística. No entanto, o grupo não fica restrito somente a essas áreas e também utilizam dentrodo processo de análise a Visão Computacional, Teoria da Informação, Processamento de LinguagemNatural, entre outras.

O presente relatório consiste no descritivo das atividades referentes ao terceiro trimestre de trabalhodeste WP. É composto ainda por mais 3 seções, sendo estas Metodologia, Considerações e Anexos. Naseção de Metodologia, são detalhas a forma que o grupo vem trabalhando; Na seção de Considerações,as principais conclusões sobre o andamento do trabalho são apontadas. Finalmente códigos e apendicesproduzidos durante o trimestre são colocados na seção de Anexos.

2 Metodologia

Com o objetivo de organizar as atividades do WP6, decidimos por dividir as principais áreas de estudoentre os integrantes do grupo. Para isso, foram coletadas as áreas de atuação que teriam prioridade paraanálise de dados e atribuímos a cada membro discente do WP6. Dessa forma, cada integrante deve setornar especialista em uma dessa áreas e conseguir canalizar as demandas para si, tornando o processo dedesenvolvimento mais rápido. Os docentes, de uma maneira geral, estão envolvidos em todas as frentesde trabalho do WP.

A realização de reuniões periódicas do grupo e apresentação dos trabalhos faz com que, apesar deespecialistas em uma das áreas, todos os membros tenham conhecimento sobre as atividades dos ou-tros. Dessa forma, em casos de atividades que exijam mais de uma especialidade, os integrantes podemtrabalhar em conjunto sem maiores problemas.

Diante disso, o grupo adotou as seguintes linhas de trabalho:

• Mineração de textos (Mickael Figueredo)

• Técnicas de visualização e Exploração do FIWARE (Leandro Ferreira / Mickael Figueredo)

• Processamento de sinais e Análise de Séries Temporais (Adelson Dias / Felipe Pinheiro / RemiVerdier)

• Processamento de imagens (Camila Santos)

• Redução de dimensionalidade (Maximiliano Lopes / Jhoseph Jesus)

Page 8: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

8

3 Andamento das Atividades e Resultados Obtidos

3.1 Mineração de textos

3.1.1 Classificadores

Na área de mineração de textos, o WP6 tem um grande foco em se preparar para fazer análises sobretextos oriundos de diversas fontes distintas. Foram estudadas e testadas inúmeras formas de processa-mento de linguagem natural, descritas nos relatórios passados, voltadas principalmente para a línguaportuguesa.

Após vários estudos e testes de métodos de classificação, foram obtidos os resultados mostrados aseguir. Os resultados obtidos demonstram a eficiência dos treinamentos feitos. Várias abordagens foramfeitas para obter o máximo rendimento utilizando os dados de treinamento oriundos de ocorrências po-liciais. O caso em estudo é o mesmo mostrado nos relatórios anteriores, onde o objetivo é construir umclassificador de crimes. Os parâmetros utilizados nos treinamentos variam desde mudança de classifica-dor à utilização de métodos de processamento de linguagem natural. Um visão mais geral dos estudopode ser vista na Tabela 1.

Tabela 1: Desempenho de Criação de Classificadores

Objetivo STWV Classificador Stemmer Stop Words Acerto10 Tipos de Ocorrências Sim Naive Bayes Sim Não 65%10 Tipos de Ocorrências Sim Naive Bayes Multinominal Text Sim Não 15%Crime ou Não Crime Sim Naive Bayes Multinominal Text Sim Sim 53%Crime ou Não Crime Sim Naive Bayes Sim Sim 98%140 Tipos de Ocorrências Não Naive Bayes Multinominal Text Não Não 2%10 Tipos de Ocorrências Sim J48 Não Não 81%

Na primeira coluna são mostrados os objetivos do classificador criado,dividido em três casos. No pri-meiro caso há dez tipos diferentes de ocorrências à serem classificadas. Neste caso, optou-se por reduzira quantidade original de 140 tipos de ocorrências em 10 grupos maiores. No segundo caso o classifica-dor simplesmente diferencia mensagens entre crimes e não crimes, o que reduz nossa classificação para2 casos. Por último, construiu-se um classificador que tenta diferenciar uma entrada entre os 140 tipos deocorrências criminais possíveis, ou seja, utilizando todos os tipos existentes. Na segunda coluna temos apresença ou não do sistema de StringToWordVector (STWV). Esta opção consiste em transformar todo otexto em um vetor contendo todas as palavras presentes em todo o conjunto de treinamento. Esta opçãoé extremamente necessária quando se trata de eficiência, além de colaborar bastante quando se trata determos computacionais. Esta opção é utilizada na maioria dos casos. A mudança dos dados para essaestrutura é utilizada para verificar a frequência de determinadas palavras em uma entrada do classifica-dor. Isso torna mais fácil a criação de vetores padrões para cada tipo de ocorrências, facilitando assim, otreinamento da máquina.

Os métodos de classificação utilizados, mostrados na terceira coluna, foram os escolhidos por seremos mais eficientes quando se trata de classificação de textos. Entretanto, outros classificadores foramestudados e podem ser utilizados para aplicações no projeto, desta forma atendendo a demanda de outrosWork Packages caso haja a necessidade de utilização de outros tipos de dados além da forma de textos.Como pode ser visto na tabela, vários fatores colaboram para o melhor desempenho dos algoritmos.

Page 9: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

9

A utilização das técnicas de processamento de linguagem natural ajudam bastante os classificadores.Os classificadores aqui usados são todos métodos de treinamento supervisionados [1], ou seja, utilizamdados de treinamento que contém os valores esperados de saída do classificador, e os dados de entrada.Existem vários modos de se trabalhar com esse sistema de aprendizagem. Os mais utilizados no nossocaso são os baseados em métodos probabilístico [1], como é o caso do classificador de Naive Bayes,e os que usam árvores de decisão, como o J48[3]. Além disso, como em qualquer outro sistema deaprendizagem de máquina é de extrema importância que os dados tenham uma certa qualidade. Sem odevido tratamento, a classificação tende a ser prejudicada. Os dados de ocorrências e de redes sociaisutilizados para o estudo e criação de uma aplicação podem ser considerados de baixa qualidade paraum análise de linguagem natural. Isto se deve à existência de erros ortográficos e expressões específicasda área de segurança policial. Desta forma, podemos perceber que a utilização de métodos para reduzira influência desses erros e expressões aumentam a qualidade do classificador. No nosso estudo, foramutilizados a Stemmertização e remoção de Stop Words, já explicados nos relatórios anteriores.

Baseado ainda na análise da Tabela 1, observamos que há uma grande variação na precisão do classifi-cador de acordo com sua configuração e objetivo. O melhor classificador obtido possui uma precisão de98%. Isso se deve graças a existência de apenas duas saídas possíveis na sua classificação. Além disso,um treinamento de qualidade e utilização de técnicas de processamento de linguagem natural colabo-raram em melhorar os dados de treinamentos, tirando a maior quantidade de ruído possível. Por outrolado, também tivemos classificadores de baixa qualidade. Podemos ver que o uso de 140 saídas possíveis,como é o caso da linha 5 da tabela, reduz a precisão para 2%. Salienta-se também que neste caso nãoforam utilizadas técnicas de processamento de linguagem natural.

Desta forma, concluímos que nossos estudos foram satisfatórios para termos uma gama de métodospara a criação de classificadores de qualidade para inúmeros tipos de dados e situações. Os métodoscriados aqui tem natureza genérica e podem ser aplicados em diversas situações. A classificação decrimes foi uma aplicação útil para o aperfeiçoamento e aprofundamento da dos métodos já usados.

3.1.2 Classificação em Tempo Real

Além do estudo e aperfeiçoamento dos classificadores e seus desempenhos, outro ponto que obtivemosgrande avanço no nosso trabalho foi a capacidade de fazer a classificação das ocorrências em tempo real.Um código Java foi devidamente escrito para que possamos viabilizar esse trabalho, e está demonstradono código abaixo. Porém, para que esse algorítimo tenha um desempenho aceitável é necessário umaboa capacidade de processamento da máquina responsável por rodar esse código, ou que o model queo mesmo utiliza seja leve, ou seja, que a menor quantidade de dados possível tenha sido utilizado notreinamento. Um model oriundo de um conjunto de treinamento de 22438 instâncias leva 0.8 segundospara classificar o dado de entrada vindo em tempo real em computador comum.

Essa aplicação está disponível para utilização por outros WP’s, desde que haja pequenas mudanças emalgumas configurações de acordo com os dados e o problema apresentado.

Page 10: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

10

1 package ufrn.smart.main;

2 import weka.classifiers.Classifier;

3 import weka.core.Instance;

4 import weka.core.Instances;

5 import weka.core.converters.ConverterUtils.DataSource;

6

7 public class MyFilteredClassifier {

8

9 public static void main (String[] args) throws Exception{

10

11 //Carrega o modelo do Classificador.

12 //Coloque o caminho para o model passado

13 String rootPath="model";

14 Classifier cls =

15 (Classifier) weka.core.SerializationHelper.read(rootPath);

16 System.out.println("Model Carregado com Sucesso");

17 //carrega o arquivo à ser classificado, no caso o tweet!

18 DataSource source1 = new DataSource(rootPath+"teste.arff");

19 Instances testDataset = source1.getDataSet();

20 testDataset.setClassIndex(testDataset.numAttributes()-1);

21 System.out.println("Carregado com Sucesso");

22

23 //aqui usa um for pra o caso que seja

24 //mais de um tweet a ser classificado

25 for(int i=0;i<testDataset.numInstances();i++){

26

27 double actualClass =

28 testDataset.instance(i).classValue();

29

30 String actual =

31 testDataset.classAttribute().value((int) actualClass);

32

33 Instance newInst = testDataset.instance(i);

34

35 double predict = cls.classifyInstance(newInst);

36 //essa Strinh é quem diz a predição!

37 String predString =

38 testDataset.classAttribute().value((int) predict);

39

40 System.out.println(predString);

41 }

42 }

43 }

Page 11: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

11

O grande objetivo da criação desse código era receber dados de entradas e classifica-los de acordocom treinamento feito. O Objetivo do treinamento é criar um modelo para que possamos fazer essaclassificação em tempo real. Antes, tínhamos a necessidade de abrir o Software do Weka [10] e colocaros dados de entrada através dele. Agora, utilizando a biblioteca que originou esse mesmo software, somoscapazes de fazer esse processamento em tempo real. Porém, para o funcionamento desse código é precisoalguns requisitos:

• Base da dados para treinamento;

• Treinamento de qualidade;

• Gerar um Model;

• Entrada de dados em tempo real;

A estrutura de construção desse classificador em tempo real pode ser vista no diagrama da Figura 1.Todas as etapas que tratam da criação do modelo baseado em treinamento dos dados existentes são total-mente manuais. Por outro lado, a classificação utilizando o código de tempo real é totalmente automática.

Desta forma, podemos concluir que a classificação em tempo real pode ser utilizada em várias aplica-ções, desde que siga a estrutura aqui descrita. Porém, deve-se salientar que, dependendo da quantidadede dados de treinamento utilizados na criação do model, uma aplicação em tempo real que receba muitosdados por segundo, pode ser bastante prejudicada.

Figura 1: Estrutura de Tempo Real

Page 12: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

12

3.2 Técnicas de visualização e Exploração do FIWARE

3.2.1 Exploração do FIWARE

O objetivo inicial testa etapa seria dar continuidade à integração do Cosmos GE (Big Data Analy-sis) da plataforma FIWARE. Esta plataforma tem como objetivo geral a análise e processamento degrandes volumes de dados computacionais, visando obter uma melhor compreensão dos mesmos. In-felizmente não foi possível dar continuidade (neste trimestre) ao que havia sido planejado pois nãoforam disponibilizados recursos físicos (máquinas virtuais ou servidores físicos) para a instalação doCluster Hadoop que compõem a infraestrutura do Cosmos. É possível verificar a necessidade destainfra-estrutura através do link: http://hadoop.apache.org/docs/r3.0.0-alpha1/hadoop-project-dist/hadoop-common/ClusterSetup.html.

Dessa forma esta tarefa será novamente uma meta para no trimestre seguinte. É importante lembrarque a mesma só poderá ser realizada após concluída a instalação de todas as ferramentas do ecossistemaCosmos. Com esta integração feita, será dado início ao desenvolvimento do exemplo da contagem eordenamento de palavras.

Neste exemplo, os prováveis passos utilizados serão os seguintes:

• Download de algum arquivo .txt;

• Upload do mesmo no sistema de armazenamento de arquivos distribuído HDFS Hadoop;

• Execução do primeiro trabalho MapReduce com o objetivo de contar a ocorrência de cada palavrado texto;

• Execução do segundo trabalho MapReduce para ordenar, de forma decrescente, a lista de palavraspor quantidade de ocorrências das mesmas no texto.

3.2.2 Aplicação de Lavagem de Dinheiro

Durante os três meses passados desde o último relatório, a aplicação de lavagem de dinheiro evoluiubastante em relação à ideia projetada. O primeiro passo tomado, descrito no relatório passado, foi qualferramenta para gerar as relações seria utilizada. Após um período de estudos e testes, o CytoscapeJS [2] foi escolhido por ser capaz de fazer tais análises em Javascript, assim podendo atingir o grandediferencial desse aplicação, que se resume em estar disponível para vários policiais em uma plataformaWEB. Os passos tomados após a primeira etapa foram basicamente :

• Adição dos dados reais à aplicação;

• Estruturação do código de forma robusta;

• Reformulação do Designer da Aplicação;

• Adição de pesquisas simultâneas;

A estrutura de execução do SSC pode ser vista e descrita na figura abaixo. Podemos ver que atualmentea aplicação se baseia na ideia de localizar o CPF buscado pela polícia e encontra-lo na nossa base dedados, que como visto no diagrama, possui atualmente já implantada a da CAERN e Óbitos. Como afonte de dados dos Boletins de Ocorrências foi recebida recentemente, a mesma ainda está em fase deimplantação na aplicação. Cada uma dessas bases possui diferentes tipos de retornos. A base CAERN é

Page 13: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

13

responsável por buscar terrenos e casas que pertencem ao indivíduo, além de seu número de telefone e,em algum casos, e-mail. Já a base conhecida como Óbitos tem por função nos informar se o indivíduoestá presente na lista de óbitos do estado, e graças a essa base podemos saber quem é a mãe desseindivíduo. A base de boletins de ocorrência ainda está em fase de análise.

Figura 2: Estrutura do SSC

Algumas funções da aplicação estão sendo desenvolvidas no atual período. Dentre elas estão a capa-cidade de o próprio usuário alimentar a base de dados do SSC, adicionando assim novas informaçõespara serem analisadas de um inivíduo, e a capacidade de salvar as relações encontradas pela ferramenta.Essas funções ainda não e estão completamente prontas, porém estão bem avançadas. Por outro lado,existem funções que estão na lista prioridade porém ainda não foram iniciadas. Primeiramente, devemoscriar um sistema mais robusto de segurança na nossa aplicação, devido a relevância dos dados presentesnela. Além disso, é nescessário armazenamento de logs do SSC. É de extrema importância o controle doque está sendo pesquisado e feita com essa aplicação.

Page 14: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

14

Figura 3: Tela de Login do SSC

Figura 4: Resultado de Pesquisa

Algumas exigências pedidas pela polícia civil já foram devidamente adicionadas na aplicação, comoé o caso da pesquisa múltipla de usuários. Essa adição é de ajuda para o policial analisar semelhançasentre indivíduos pesquisados. Como o objetivo de deixar essa pesquisa mais intuitiva, para a mesma sejafeita, basta que no campo CPF sejam colocados dois ou mais CPFs separados por um caractere especial,o qual o escolhido foi ";". Um exemplo dessa utilização pode ser visto na figura 3 4.

Page 15: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

15

O processo de reformulação de design do site se iniciou recentemente, e tem sido foco de algunsdebates. Na seção seguinte são discutidos as atualizações a serem feitas nesse designer.

3.2.2.1 Design VisualNesta etapa, iniciamos a construção de um design visual melhor trabalhado e padronizado da aplicação

web de Lavagem de Dinheiro (que poderá sofrer mudanças futuras). As tecnologias que foram utilizadaspara isso foram basicamente HTML, Javascript, CSS e Bootstrap, que é um framework front-end quepermite o desenvolvimento de projetos responsivos, ou seja, o layout da aplicação foi pensada para servisualizada tanto em notebooks, computadores de mesa ou dispositivos móveis.

A seguir mostramos as visualizações das telas desenvolvidas para desktop:

Figura 5: Rodapé

Figura 6: Tela Login

Page 16: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

16

Figura 7: Tela Pesquisar

A seguir mostramos as visualizações das telas desenvolvidas em smartphones:

Figura 8: Menu nos Smartphones Figura 9: Tela Principal nos Smartphones

Page 17: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

17

Figura 10: Menu nos Smartphones Figura 11: Tela Principal nos Smartphones

O topo (header) e o rodapé (footer) foram escritos em arquivos html separados e inclusos em cadapágina através da fução load jQuery (um framework JavaScript), para evitar repetição de código, assimcomo facilitar sua leitura e manutenção:

1 <script>

2 $(function() {

3 $("#header").load("header.html");

4 $("#footer").load("footer.html");

5 });

6 </script>

7

8 <header id="header"> </header>

9

10 <footer id="footer"> </footer>

No campo de pesquisa através do CPF, foi utilizado um javaScript para a validação do mesmo, con-forme visto no anexo I.

No próximo trimestre pretende-se dar continuidade à modelagem do designer da aplicação, assimcomo realizar algumas melhorias pontuais.

3.3 Processamento de sinais e Análise de Séries Temporais

Nesta aplicação, o objetivo é realizar uma predição quantitativa univariada em relação ao número deocorrências policiais distribuídas pela cidade. Neste trimestre os estudos tiveram um foco em análises

Page 18: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

18

de séries temporais cuja evolução poderia ser descritas em modelos lineares. A série em estudo contema evolução da criminalidade representada pelos dados de ocorrências policiais de 2006 até o início de2016. Desenvolveu-se, então, um estudo para determinar os modelos que melhor se ajustaram a essesdados. O objetivo foi utilizar os métodos estatísticos consolidados de séries temporais para realizar umapredição com melhor qualidade possível. As aplicações e análises das séries foram feitas no software R,e serão descritas durante o relatório.

As séries temporais utilizadas foram obtidas agrupando-se espacialmente as ocorrências policiais emregiões geográficas denominadas AISPs. Ao todo foram 12 AISPs que deram origem a 12 séries tempo-rais de ocorrências policiais separadas em grupos de acordo com o tipo de ocorrência.

Além de determinar quais modelos ajustaram a série temporal para as AISPs, houve também umesforço inicial em pré-processar os dados no sentido de inserir maior semântica categórica aos dados.A própria inserção da informação de qual AISPs uma dada ocorrência estava inserida foi um dessesesforços. Também foi necessário agrupar os tipos de ocorrência em um número baixo de grupos. Nessepasso ainda há esforços a serem feitos para melhorar a qualidade da classificação das ocorrências, no quese refere ao agrupamento, mas inicialmente já foi útil para direcionar todas as análises que poderiam sernecessitadas.

Após essa etapa de pré-processamento, a predição poderia começar a se delimitar em âmbitos gerais,e ao longo do relatório um embasamento teórico sobre a análise de séries temporais é feita, de modo queos modelos de análise disponíveis possam ser bem consolidados também no aspecto prático. O modelode auto-regressão integrado de médias móveis (ARIMA), por exemplo, é discutido, já que foi utilizadoem todo o processo de predição descrito pelo trabalho. Ainda, os testes associados a classificação dasséries temporais são feitos e discutidos, de modo que servirão de parâmetro para validar a utilização domodelo escolhido.

A seção 3.3.1 tratará em termos teóricos da análise de séries temporais, para que seja desenvolvido oreferencial de entendimento da aplicação dessa análise. Na seção seguinte, 3.3.2, é feita a descrição doprocesso de predição realizada nesse trimestre.

3.3.1 Análise de Séries Temporais

Segundo [12], uma série temporal pode ser definida como qualquer conjunto de observações ordenadasno tempo, com uma amostragem constante. Simplificadamente, ela pode ser um vetor com seus compo-nentes no tempo, que descrevem a evolução de um parâmetro ou mais de acordo com o tempo associado.Sendo assim, o interesse no estudo de séries temporais consiste basicamente em descrever o comporta-mento dessa variável ao longo do tempo, fazer predições a respeito de tempos futuros ou até em descrevercomo elas foram geradas.

Para as análises em séries temporais, um conceito fundamental é o de estacionariedade da série. Esseconceito representa, como menciona [12], a característica de desenvolver-se no tempo aleatoriamenteem torno de momentos (média, variância ETC) constantes. A estacionariedade no sentido fraco, que éa mais discutida nesse tipo de problemas, consiste somente em verificar se esses momentos se mantémconstantes ao longo da série. Isso bastará para se utilizar de modelos ditos de auto-regressão (AR) oumédias móveis (MA), os quais serão melhor discutidos a frente.

Para verificar estacionariedade em uma série temporal, alguns testes de hipótese são feitos e há muitaliteratura a respeito deles. Dentre eles, o KPSS [9] foi o escolhido neste trabalho como principal. Parauma dada série temporal, o KPSS testa a hipótese nula de a série ser estacionária ao nível de significânciadesejado, se o p-valor calculado for menor que esse nível de significância, rejeita-se a hipótese nula.

Page 19: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

19

No momento em que rejeita-se a hipótese nula no teste KPSS, deve-se, então partir para a abordagemde tratar com séries não-estacionárias, isto é, deve-se descrevê-la através do modelo ARIMA, que possuios parâmetros combinados p, q, d, sendo eles o coeficiente de auto-regressão (AR), o coeficiente demédia móvel (MA) e a diferenciação aplicada. Essa diferenciação é nada mais do que o processo paratrazer a série para um modelo estacionário, consiste em diferenciar a série com a série em um instante afrente. Em alguns casos, é necessário diferenciar a série mais de uma vez para obter estacionariedade.

Um dos primeiros passos antes da identificação da série é retirar a sazonalidade e as tendências pre-sentes em caso de não estacionariedade. Em geral, as sazonalidades e as tendências podem ter influênciamuito forte na série temporal. Pode-se identificá-las no modelo aditivo

Zt = Tt + St + at (1)

ou no modelo multiplicativo.Zt = Tt ∗ St ∗ at (2)

Em que “T” é a tendência, “S” a sazonalidade e “a” o ruído branco.Com o objetivo de remover essas influências na série e utilizar os métodos estacionários disponíveis,

trata-se individualmente da sazonalidade e da tendência. Para sazonalidade, uma abordagem determinís-tica pode ser fazer uma regressão, retirando os ditos "dummies"(componentes periódicos associados àsazonalidade constante). Com esse método utiliza o teste F em que se testa, para hipótese nula, a presençade sazonalidade determinística e em caso positivo deve-se fazer uma filtragem na série pelos coeficientessazonais correspondentes e por fim, adicionar à filtrada a média da regressão feita, normalizando-a, paraobter a série dessazonalizada. Já para as tendências, geralmente aplica-se diferenciações até se observarestacionariedade na série, como dito anteriormente. No próprio KPSS há p-valor para as ditas “trends”,com hipótese nula de que não há tendências.

Com isso em mente, podemos discutir sobre a metodologia Box-Jenkins [5] para trabalhar com predi-ção em modelos ARIMA que consiste basicamente em:

1. Identificação

2. Estimação

3. Diagnóstico

Ajustar os modelos, então, consiste em encontrar os parâmetros do modelo, isto é, os coeficientes p, de q com os quais a identificação é realizada. Assim, pode-se, através dos métodos de estimação calcularvalores dos parâmetros da série, isto é, os multiplicadores da regressão e das médias móveis. Por fim,deve-se realizar um diagnóstico utilizando algum critério de erro mediante uma predição da série numtempo futuro. Esse processo iterativo de identificação, estimação e diagnóstico deve ser repetido até queos erros de predição sejam minimizados, a fim de aumentar o poder da predição realizada.

Para identificação, os métodos incluem a análise das funções de autocorrelação e autocorrelação par-cial (do inglês ACF e PACF respectivamente). Entretanto, o primeiro passo da identificação é tomar asdiferenças e analisar a estacionariedade da série. Geralmente, séries não-estacionárias quanto ao nível to-mam uma diferença apenas e não-estacionárias quanto à inclinação, duas diferenças bastam. Feito isso,a análise da ACF pode caracterizar um processo auto-regressivo de p decaindo por exponenciais ou se-nóides, pode caracterizar um processo de médias móveis de q com um corte após o lag q. A análise daPACF irá caracterizar um processo auto-regressivo de p com um corte após o lag p e irá caracterizar as q

Page 20: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

20

médias móveis decaindo por exponenciais ou senóides. Para o ARMA correspondente, a ACF irá decaircom exponenciais/senóides após o lag q - p e a PACF irá se comportar como nas q médias móveis.

Na estimação, os métodos de momento e máxima verossimilhança são bastante utilizados para en-contrar os coeficientes da regressão realizada por p, d e q. Por fim, o diagnóstico é realizado seguindoum roteiro básico de três questões. Saber se os resíduos dessa regressão são não-correlacionados é aprimeira, que pode ser respondida com um teste Ljung-Box, com hipótese nula que são independentes.A segunda questão é saber se esses resíduos distribuem-se normalmente, e pode ser respondida com umteste Shapiro-Wilk, de hipótese nula que a distribuição é normal. Finalmente, deve-se saber se ainda énecessário incluir novos regressores ou excluir existentes.

Feito isso, iterativamente, deve-se então realizar as predições para um tempo h, sabendo que quantomaior h, menos confiável será a predição. E no próprio processo de diagnóstico, a verificação do errodeve ser feita, através do cálculo de Média Percentual Absoluta do Erro (do inglês MAPE), definida pelaequação 3.

MAPE =1

n

n∑w=1

| Xw − X̂ |Xw

(3)

ou do Erro Quadrático Médio (MSE), ou até do Erro Médio Absoluto (MAE).

3.3.2 Predição univariada das ocorrências policiais de Natal

Os dados utilizados na predição constituem-se de ocorrências policiais na região metropolitana da cidadedo Natal. São dados de 250 tipos de ocorrências que serão alocados em 23 agrupamentos para maiorsemântica na predição. Além disso, após um pre-processamento, foi possível adicionar a informação deem que área da cidade a ocorrência aconteceu. Essas áreas da cidade são chamadas de AISP, são regiõesestratégicas definidas pela própria polícia. Sendo assim, o estudo será feito individualmente em umaAISP específica com um grupo, e depois será expandido para todas as AISPs com dois grupos. A figura12 mostra a divisão da cidade em dezessete AISPs.

Figura 12: Cidade do Natal subdividida em AISPs

Page 21: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

21

Na primeira parte do trabalho, preocupou-se em classificar as ocorrências em um número menor degrupos. Feito 23 grupos, resolveu-se utilizar somente os 2 mais ocorrentes na análise que são os gruposde violência e desordem. Esses grupos englobam tipos de ocorrência representados na figura 13. Nospróximos trabalhos de predição, almeja-se que esses agrupamentos sejam feitos através de reuniões comestatísticos da SESED, que possuem classificações próprias, mas que por falhas encontradas no cruza-mento entre o nome da ocorrência na base de dados com o nome na classificação de crimes da polícia,não puderam ser utilizadas neste trabalho.

Figura 13: Grupos de ocorrências utilizados

3.3.2.1 Uma AISP e um grupoPara começar com a predição, a estratégia foi fazer experimentos com um número menor de parâme-

tros para depois chegar ao contexto global. Para tanto, fez-se um modelo para a AISP 12 somente com osdados das ocorrências do grupo “desordem”. Algumas estatísticas descritivas são representadas abaixopara obter-se uma informação prévia sobre o comportamento dos dados. A figura ?? à esquerda mostraum histograma da distribuição mensal das ocorrências, enquanto que à direita representa o mesmo emgranularidade semanal. Essa distribuição é feita com os dados completos, de 2006 a 2016. Pode-se ob-servar uma distribuição similar a distribuição uniforme para ambas, mas com um leve crescimento nosperíodos finais do ano.

Figura 14: Histogramas para granularidade em horas (à esquerda) e dia da semana (à direita)

Page 22: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

22

Continuando em granularidades menores, a figura 15 à esquerda representa o histograma para os horá-rios do dia, enquanto que à direita representa a distribuição para o dia da semana. Pode-se observar quemajoritariamente as ocorrências têm maior frequência em períodos noturnos e em finais de semana, istoé, já pode-se observar uma tendência na distribuição dos dados.

Figura 15: Histogramas para granularidade em mês (à esquerda) e semana do ano (à direita)

Construindo a série temporal com granularidade semanal correspondente à “desordem” na AISP 12,podemos observar o plot da figura 16. Essa granularidade foi escolhida pelo fato de diariamente não seter tantas ocorrências (podendo trazer zeros) e mensalmente não ter a resolução desejada para uma açãoplanejada da polícia. No plot, pode-se observar que no período de Setembro/12 a Abril/13 temos umajanela de tempo em que não foram registradas ocorrências na base de dados, problemas esses na fontedos dados os quais podem atrapalhar a predição como um todo. A primeira alternativa a esse problemafoi considerar somente o período à frente da janela (107 semanas), fato esse que fez a predição perderem termos de precisão.

Figura 16: Plot da série temporal da AISP 12 para desordem

Page 23: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

23

Para ajustarmos um modelo de séries temporais como descrito na seção anterior, separou-se os dadosdas 107 semanas posteriores em um conjunto de ajuste de modelo, correspondente a 70 semanas paraaprendizado do modelo e os 37 restantes para amostras de teste e validação da predição.Nos processosde identificação e estimação da série, só será usado as amostras de aprendizado. Na figura 17 temos asfunções de autocorrelação e autocorrelação parcial da série (ACF e PACF).

Figura 17: ACF e PACF da série temporal

Nesse momento, é ideal verificar a estacionariedade da série, e o teste utilizado será o teste KPSS (hi-pótese nula: processo é estacionário). O teste retornou p-valor = [0.02466,0.01], em que o primeiro valorcorresponde a estacionariedade, quanto menor menos estacionário, e o segundo se refere à tendênciapresente na série, quanto maior mais tendências. Para um nível de significância de 5%, podemos rejeitara hipótese de ser estacionário. Sendo assim, devemos tomar d diferenças da série. Após uma diferença,observa-se ACF e PACF da série diferenciada na figura 18.

Figura 18: ACF e PACF da série temporal diferenciada

Dessa vez, fazendo o teste KPSS, obteve-se valores próximos a 0.1 para ambos os parâmetros, e dadaa significância, pode-se aceitar a hipótese nula de estacionariedade. Olhando para ACF, percebe-se queela decai como uma senóide amortecida, como num processo auto-regressivo, que pode ser identificado

Page 24: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

24

que depois do lag 3, a PACF tende a zero. Sendo assim, pode-se ajustar um ARIMA(3,1,0) para esseprocesso.

Após a identificação da série, estimou-se os parâmetros do modelo regressivo como:

, em que B representa o operador lag e I a matriz identidade.A fim de obter um diagnóstico, é necessário fazer testes nos resíduos. O p-valor para o teste Ljung-

Box foi de 0.90460 para o 5o delay, 0.70086 para o 10o e 0.83530 para o 20o. Isso significa que osresíduos são não-correlacionados, como diz a hipótese nula do teste. Uma outra parte do diagnósticoconsiste em testar se a distribuição dos resíduos são normais. O teste Shapiro-Wilk tem a hipótese nulade distribuição normal, e o p-valor calculado foi de 0.429, confirmando que os resíduos tem distribuiçãonormal efetivamente.

Finalizado o processo indicado pela metodologia Box-Jenkins, a predição pode ser feita com o modeloajustado. Na figura 19, tem-se um plot da série temporal observada e predita para as 70 semanas deaprendizado do modelo. Pode-se observar que os valores preditos estão próximos dos observados, masparecem estar um pouco atrasados.

Figura 19: Plot da série observada (em preto) e predita (em vermelho)

Na predição em si, isto é, na estimação dos valores das 37 semanas seguintes, pode se observar amesma conclusão. A figura 20 representa as séries temporais observada e predita.

Page 25: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

25

Figura 20: Plot da série para amostra de validação, em preto a observada e em vermelho a predita

Para lidar com esse fato, utilizou-se uma metodologia de predição de picos, de modo que atuará emuma predição binária de ter ou não muitas ocorrências. Para tanto, definiu-se uma constante de corte queirá separar a região de pico. Uma abordagem consiste em estabelecer um quantil de separação, de porexemplo 20% dos maiores valores serão considerados picos, como na figura 21. É possível, ainda, definirum valor de corte variável, dependente de um valor de janela da série.

Figura 21: Plot da predição por detecção de picos

Para analisar a predição feita, algumas métricas de diagnóstico são utilizadas. Uma delas é o MAPE,já definido anterior. Além disso, foi útil uma análise em tabela de contingência, em que são definidastaxas de falso-positivo e verdadeiro-negativo, para se construir o parâmetro PSS de análise de estresseda predição, a fim de saber se a predição aleatoriamente comparado com a frequência das ocorrências.Assim, seja a tabela de contingência:

Page 26: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

26

Define-se o sucesso global como sendo:

a + d

a + b + c + d(4)

Nota-se que "a+c"e "b+d"são os totais de positivos e negativos, respectivamente. Se definirmos um Hcomo sendo a razão entre "a"e o total de positivos, bem como F como a razão entre "b"e o total de nega-tivos, podemos chegar no valor PSS, que simboliza o quanto o modelo está produzindo de informaçõescorretas (equação 5).

PSS = H − F (5)

A fim de avaliar uma gama de modelos testados para a série, foi construído uma tabela que comparatodos os modelos auto-regressivos AR que foi testado para o conjunto de dados, para, assim, escolhero que possui melhor diagnóstico. Foi testado, inclusive, com os dados parciais (107 semanas) e com osdados totais, para verificar o melhor ajuste.

Tabela 2: Diagnóstico dos modelos auto-regressivos ajustados

Modelo Tamanho PSS MAPE Shapiro-Wilk Ljung-Box KPSS

arima(1,0,0) parcial 0.308 0.3373 0.085 0.045 0.025arima(3,1,0) parcial 0.328 0.3420 0.181 0.659 >0.1arima(5,2,0) parcial 0.439 0.4029 0.076 0.044 >0.1arima(6,0,0) total 0.203 0.2590 0.107 0.550 0.01arima(5,1,0) total 0.233 0.2480 0.571 0.373 >0.1arima(9,2,0) total 0.458 0.2735 0.358 0.035 >0.1

Na tabela 2, tem-se para cada tamanho de dados três modelos ajustados. A coluna PSS correspondeao score referido anteriormente para o modelo e a coluna MAPE faz referência ao erro absoluto médiopercentual das amostras de validação. A coluna Shapiro-Wilk corresponde ao p-valor do teste de normali-dade dos resíduos, a coluna Ljung-Box corresponde ao p-valor do teste dos resíduos não-correlacionadose o KPSS faz referência ao teste de estacionariedade e tendência para as amostras de aprendizado.

Da tabela 2, pode-se retirar o diagnóstico de qual modelo melhor pode representar a predição. Paraos dados de PSS, podemos observar que todos os valores são maiores do que zero, e isto quer dizer queos modelos não estão predizendo aleatoriamente a frequência das ocorrências. Entretanto, ao percebero KPSS, percebemos que o primeiro e o quarto modelo são rejeitados ao nível de significância de 5%.No teste Ljung-Box, o p-valor está indicando que pode-se rejeitar a hipótese de ruído branco para oterceiro e para o sexto modelo. Então, se for considerado apenas os modelos restantes, tem-se o modeloarima(3,1,0) para o de comprimento parcial e arima(5,1,0) para o de comprimento total.

Escolhido o modelo, pode-se perceber que o de comprimento total possui menor MAPE, o que garanteque predirá valores mais próximos dos observados. Entretanto, quando se trata de predição de picos, omodelo de comprimento parcial se ajusta bem, como pode-se perceber no score PSS calculado. A decisãopor um modelo ou outro convém à escolha da aplicação, por isso, manter ambos no diagnóstico final éimportante.

Page 27: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

27

3.3.2.2 Todas as AISPs e dois gruposCom o intuito de construir um modelo para cada AISP, foi utilizado a mesma metodologia da seção

anterior, de modo que nesta seção os diagnósticos de todos os modelos serão discutidos. Neste caso,foram necessário ajustar modelos de médias móveis também às séries. Há de se considerar, ainda, queos dados que serão ajustados correspodem ao dois tipos de ocorrências classificados por "violência"ou"desordem"juntos e que isso pode favorecer uma análise direcionada para que haja uma intervençãopolicial. Dessa forma, os modelos implicarão na situação prevista da cidade para ambos as ocorrencias.

A análise, então, será feita condesiderando dois tipos de ajuste. Um deles será a seleção por baixosMAPE, e outro por altos PSS. A dificuldade, então, passa a ser fazer uma seleção dos modelos com baseno diagnóstico pelos próprios MAPE e PSS, mas também com os tese Shapiro-Wilk, Ljung-Box e KPSS.Essa dificuldade, então, trará muitas rejeições de modelos devido ao grande número de critérios a seremobservados.

Assim, primeiro é feita a seleção por modelos com menores MAPE, a fim de ajustar ARIMA paracada AISP.

Tabela 3: Ajuste de modelos em seleção por MAPE

AISP Modelo Tamanho PSS MAPE Shapiro-Wilk Ljung-Box KPSS

1 ARIMA(4,1,0) parcial 0.199 0.4530 0.233 0.184 >0.12 ARIMA(1,2,2) parcial -0.028 0.2940 0.740 0.968 >0.13 ARIMA(0,1,1) parcial 0.394 0.5251 0.112 0.661 >0.14 ARIMA(0,0,0) parcial 0.000 0.3280 0.001 0.729 >0.15 ARIMA(1,0,0) parcial 0.089 0.2719 0.641 0.959 >0.16 ARIMA(6,2,0) parcial 0.078 0.3973 0.711 0.299 >0.17 ARIMA(1,1,3) parcial 0.052 0.2969 0.072 0.779 >0.18 ARIMA(1,0,0) parcial 0.015 0.2812 0.736 0.726 >0.19 ARIMA(0,1,1) parcial 0.279 0.2830 0.056 0.920 >0.110 ARIMA(0,0,1) parcial 0.279 0.3621 0.372 0.720 >0.111 ARIMA(1,1,1) parcial 0.218 0.2805 0.000 0.522 >0.112 ARIMA(1,0,0) parcial 0.253 0.2291 0.326 0.382 0.08513 ARIMA(9,2,0) parcial 0.245 0.4673 0.083 0.404 >0.114 ARIMA(3,1,0) parcial 0.178 0.2963 0.013 0.479 >0.115 ARIMA(3,1,0) parcial 0.174 0.3489 0.734 0.354 >0.116 ARIMA(0,1,1) parcial 0.328 0.4932 0.000 0.062 >0.117 ARIMA(6,2,0) parcial 0.467 0.5508 0.025 0.345 >0.1

Na tabela 3, pode-se observar os modelos pela seleção por MAPE, em que muitos modelos são re-jeitados (em vermelho) por terem baixos PSS. Dos modelos representados, então, já podemos ajustar osdas AISPs de número 1, 3, 9, 10, 12, 13, 14, 15 e 17 de acordo com o da seleção por MAPE, já que nãoviolam nenhum outro teste. Agora, mostra-se uma seleção por PSS na TABELA. Essa outra seleção levaem conta os maiores valores de PSS encontrados para cada série.

Desta vez, serão mostrados os modelos pela seleção por maiores PSS, para que se possa buscar me-lhores modelos, ou ajustar outros para os que estão faltando da seleção anterior.

Page 28: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

28

Tabela 4: Ajuste de modelos em seleção por PSS

AISP Modelo Tamanho PSS MAPE Shapiro-Wilk Ljung-Box KPSS

1 ARIMA(6,1,0) total 0.411 0.3697 0.538 0.985 >0.12 ARIMA(0,1,1) parcial 0.252 0.1999 0.629 0.564 >0.13 ARIMA(0,1,1) parcial 0.394 0.5715 0.112 0.661 >0.14 ARIMA(0,1,1) parcial 0.066 0.2794 0.019 0.776 >0.15 ARIMA(0,0,1) parcial 0.128 0.2380 0.623 0.998 >0.16 ARIMA(6,2,0) parcial 0.078 0.4013 0.711 0.299 >0.17 ARIMA(2,2,3) total 0.106 0.2286 0.366 0.630 >0.18 ARIMA(6,2,0) parcial 0.214 0.3367 0.274 0.222 >0.19 ARIMA(0,2,2) parcial 0.354 0.3156 0.110 0.885 >0.110 ARIMA(1,1,1) parcial 0.373 0.3338 0.492 0.282 >0.111 ARIMA(6,1,0) total 0.316 0.2977 0.000 0.999 >0.112 ARIMA(1,2,2) parcial 0.409 0.2930 0.204 0.960 >0.113 ARIMA(9,2,0) parcial 0.245 0.4202 0.083 0.404 >0.114 ARIMA(1,2,2) total 0.344 0.2539 0.000 0.629 >0.115 ARIMA(1,0,0) parcial 0.232 0.2088 0.560 0.480 >0.116 ARIMA(9,2,0) parcial 0.456 0.6334 0.000 0.476 >0.117 ARIMA(6,2,0) parcial 0.467 0.4359 0.025 0.345 >0.1

Analisando a tabela 4, pode-se verificar algumas AISPs que tinham modelos que foram reprovadosanteriormente e agora pela seleção por PSS pôde-se obter um modelo adequado. É o caso das AISPs5, 6, 7 e 8. Entretanto, algumas AISPs permanecem sem modelos ajustados, principalmente devido àrejeição no teste de normalidade dos resíduos (teste Shapiro-Wilk). Um outro empecilho encontradopara determinar o modelo foi o próprio PSS, como vimos na tabela 3.

Para os casos em que os modelos selecionados por PSS ou por MAPE foram aprovados, é recomendadoque se escolha o modelo baseado no método de predição desejado. Se for através de picos, é recomendadoa escolha por PSS, caso contrário a escolha deve ser por MAPE.

3.3.3 Conclusões

Após todo o processo para modelagem do processo ARIMA correspondente às séries temporais dasocorrências policiais da cidade Natal, a predição passa a ser o processo de estimar um valor futuro comos parâmetros da série obtidos. Vale ressaltar que quanto maior o valor à frente que se quer predizer,maior é o erro associado e, portanto, pior é a predição feita. Sendo assim, o trabalho realizado nessetrimestre em relação à análise de séries temporais consistiu no estudo de como identificar corretamentetodos esses modelos e metodologias descritas, e todo o código associado à análise de séries temporais,escritos na linguagem R, estão nos repositórios do WP6 e não foi anexado a este documento devido a suaextensão.

Os resultados que foram obtidos, demonstrados na seção anterior, mostram que não é tão simplesobter o ARIMA que se ajuste perfeitamente à nossa série temporal. Entretanto, há outras saídas parase encontrar melhores modelos no caso da predição realizada as quais não foram ainda testadas. Umadelas é fazer o agrupamento de classes de ocorrências de acordo com a classificação da polícia, e testarnovamente a agregação desses grupos. Uma outra abordagem pode ser a de se ponderar certos tipos

Page 29: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

29

de ocorrência, atribuindo-lhes maior peso na frequência, afim de obter um modelo com mais caráterde controle de risco da AISP estudada, esse estudo poderia trazer resultados diferentes sobre as sériestemporais. Por fim, uma outra alternativa seria utilizar modelos auto-regressivos não-lineares disponíveisna literatura de análise de séries temporais.

No mais, os planos para o próximo trimestre são de fazer novas predições sobre os mesmos dadosatravés de outras técnicas, como as alternativas referidas no parágrafo anterior ou até técnicas de redesneurais, que são bastante utilizadas nessa área de predição. Utilizar de técnicas mais recentes de prediçãoserá alvo dos próximos estudos, de modo a produzir melhores diagnósticos do modelo de predição diantedo observado, para, efetivamente, entregar um sistema de predição eficaz à cidade do Natal.

3.4 Processamento de imagens

Neste trimestre foi desenvolvido e implementado uma pequena aplicação que utiliza-se das técnicas deprocessamento de imagens desenvolvidas nos trimestres anteriores. A aplicação consistem um sistemaque tem como objetivo ajudar estudantes e profissionais da área de controle e automação. A aplicação éum sistema de visão computacional que identifica e reconhece um diagrama contendo um grafo conec-tado. Este reconhecimento é utilizado para ajudar no cálculo de ganhos do grafo e encontrar funções detransferência utilizando a formula de Mason.

É muito comum representar grandes sistemas dinâmicos como um conjunto de interconexões de pe-quenos subsistemas. Tal conjunto é representado como um grafo direcionado. Grafos direcionados sãoestruturas de dados que tem nós e arestas. Na representação de um sistema dinâmico, cada nó é umaconexão (ou uma bifurcação) e cada aresta é um pequeno subsistema que tem uma função de transferên-cia simples e local. Tais grafos são chamados de diagrama de Mason e é comum referir-se a cada arestacomo tendo um ganho (representado por uma função de transferência).

Neste cenário, o objetivo é encontrar o “grafo do ganho” a partir de um nó inicial particular para umoutro nó final. Este ganho irá ser uma função de transferência final equivalente de um grande sistema,que tem como entrada o nó inicial e como saída o nó final. A Figura 23 mostra um exemplo de grafo esua função de transferência final.

Figura 22: Exemplo de um Diagrama de Mason, na qual a sua função de transferência final é: G(s) =

G1(s)G2(s)G3(s) + G4(s)G3(s) + G1(s)G5(s)

Na figura, cada nó tem uma seta para estabelecer a direção do fluxo do sinal (uma vez que estamoslidando com sistemas dinâmicos). Esta situação permite a presença de loops no diagrama e que devemser levados em conta.

Para calcular o ganho final ou função de transferência a partir do nó inicial para o nó final, deve-seusar a formula de Mason mostrada na equação 6.

Page 30: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

30

G =1

N∑i=1

∆iPi (6)

Nesta equação, ∆ é o determinante do diagrama dado por:

∆ = 1−∑i

Li +∑i

∑j

LiLj −∑i

∑j

∑k

LiLjLk... (7)

Onde os termos L′is são os ganhos do loop e a soma é feita somente com os loops que não tem nenhumaaresta em comum. P ′is são os ganhos dos caminhos diretos. Um caminho direto é qualquer caminho quevá a partir do nó inicial para o nó final sem loop. Por exemplo, na Figura 23, nós temos três caminhosdiretos (dado pelos termos na soma). Os termos ∆′is são calculados como o determinante, mas extraindotodos os loops que tem qualquer aresta em comum com o respectivo Pi.

3.4.1 Implementação e Resultados

Nesta seção estamos descrevendo o processo de implementação do sistema proposto. Vamos iniciar des-crevendo o algoritmo e os passos necessários, a partir da aquisição da imagem para o cálculo da funçãode transferência.

Uma vez que todo o processo envolve muitos passos, nós vamos enumerar (em ordem do uso) cadaum dos passos e então descrever separadamente um por um. O algoritmo consiste nos seguintes passos:

1. Diminuir a dimensão da imagem para 480x640

2. Segmentar a imagem

3. Determinar a posição espacial dos nós relevantes

4. Classificar os nós entidades como setas (TFs) ou nós do grafo (soma ou bifurcação)

5. Montar as classificações (identificar as arestas do grafo)

6. Detectar a direção das arestas

7. Encontrar os caminhos diretos

8. Encontrar os loops

9. Calcular a Formula de Mason

10. (Opcional) perguntar para as Funções de transferência individuais e computar a TF final

Para ilustrar o uso do sistema, vamos mostrar em detalhes a execução de um exemplo particular,exibido na Figura 23, e então mostrar uma série de resultados finais com diferentes imagens.

Page 31: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

31

Figura 23: Foto tirada de uma câmera de celular, com resolução 1600 x 1200 pixels

3.4.2 Processamento de Imagens

A técnica do processamento de imagem usada neste sistema consiste somente na segmentação do de-senho do diagrama a partir do fundo, isto consiste em gerar uma imagem binaria descrevendo o objetoprincipal.

Embora existam muitas técnicas na literatura que executa a segmentação, muitas delas envolvem o usode alguma informação anterior tal como um threshold ou ponto inicial. Neste trabalho, foi desenvolvidoum método particular que usa o threshold e leva a uma segmentação mais automatizada.

Normalmente, a técnica de threshold simples requer que o usuário entre com um valor limite de ilu-minação que é comparado com cada pixel e decide se esse pixel é objeto ou fundo (por exemplo, pixelscom valores maiores que o threshold pode ser considerado objetos). Esta abordagem faz o resultado dasegmentação muito dependente da escolha do valor do threshold, levando a más resultados para o sistemafinal se fizer a escolha errada do threshold. Existem muitos algoritmos para automatizar a escolha destethreshold. Neste artigo foi desenvolvido um algoritmo simples a fim de adequá-lo ao caso especifico desegmentação de imagens do diagrama de Mason.

Este processo de segmentação pode ser descrito com o seguinte algoritmo:

Page 32: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

32

Figura 24: Algoritmo de segmentação

O resultado para este passo pode ser visualizado na Figura 25.

Figura 25: Imagem após a etapa de segmentação

3.4.3 Determinar a posição espacial dos nós relevantes

Para extrair as informações dos nós do diagrama, é necessário que primeiro localizemos o que chamamosde nós relevantes. Esses são pontos na imagem que podem ser ou um nó (bifurcação, soma, início ou nófinal) do grafo ou uma TF.

Isto é feito pelo seguinte algoritmo (vale a pena reforçar que, neste ponto do processo, o sistema temsomente um objeto, completamente conectado, que representa a imagem binarizada do diagrama):

1. Avaliar o esqueleto binário do objeto

2. Encontrar pixels candidatos

Page 33: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

33

3. Quantizar os pixels em nós relevantes

Primeiramente mantem a remoção dos pixels da fronteira do objeto até um pouco antes do ponto quequebra a conexão dos pixels. O resultado é um objeto que tem a mesma estrutura de conexão do diagramaoriginal, mas é somente um pixel de largura.

Agora é possível encontrar o que pode representar um nó relevante. Isso irá ser os pixels que terá maisde dois vizinhos, pois pela característica do esqueleto, pixels que tem três ou mais vizinhos, significa quesão três ou mais caminhos de conectar outros pixels no grafo.

O resultado obtido nesta etapa é exibido na Figura 26.

Figura 26: Zoom na imagem usada para encontrar os nós relevantes. Os círculos brancos são os candida-tos e os círculos pretos o resultado da quantização. As linhas finas vermelhas é o esqueleto daimagem segmentada, e a área verde é a imagem segmentada.

Este procedimento irá somente funcionar se o objeto é bom o suficiente para não ter também muitospontos de bordas falsas.

3.4.4 Classificação dos nós relevantes

Agora que os nós relevantes foram encontrados, é necessário classificar estes nós em 4 tipos: Nó inicial,nó final, TF ou bifurcação.

O Sistema impõe algumas restrições no desenho do diagrama no papel. Uma das restrições é que o nóinicial será o nó desenhado mais à esquerda e o nó final será o mais à direita.

Outra restrição imposta no desenho do diagrama é que os nós da TF devem ser identificados por umapequena seta (indicando também a direção da aresta). A seta garante que o nó TF terá uma bifurcaçãono esqueleto da imagem, mas os dois ramos não irão continuar conectados com qualquer outro nó. Porcausa disso, o nó TF será o nó que (dentro do threshold da distância) terá somente dois pixels de escapeque se origina a partir do centro do nó.

Pode-se observar isto na Figura 27.

Page 34: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

34

Figura 27: Resultado da classificação dos nós relevantes. O círculo amarelo indica o nó inicial. Os cír-culos verdes representam os nós TF e os brancos uma bifurcação. O círculo pontilhado pretoindica uma distância threshold estimada

3.4.5 Conectar os nós e detectar das direções das arestas

O próximo passo é pegar cada ponto de conexão e encontrar quais nós são conectados a eles. Para realizaresta tarefa, o sistema inicia o preenchimento do esqueleto da imagem para cada ponto de conexão (docentro para fora) até atingir outro ponto de conexão. Uma vez que a outra conexão é atingida, o nó quepossui esse ponto de conexão é conectado ao nó que pertence ao ponto de conexão que iniciou a busca.

Depois da montagem do grafo que representa o diagrama, é necessário detectar a direção das setas dografo (representando o nó TF do diagrama).

Para executar está tarefa, o sistema pegará para cada seta seus finais (pontos que só tem um vizinho).Após encontra-los, é calculado o ponto médio entre estes pixels e testa-se a distância com cada ponto deconexão. Entretanto, o mais perto é o ponto de origem inicial

A Figura 28 ilustra este resultado.

Figura 28: Conexões detectadas entre os nós. As linhas azuis representam as linhas detectadas. Cadanó da TF é representado por um círculo verde e está rodeado por dois círculos preenchidos(branco e vermelho). A direção é dada a partir círculo branco para o vermelho do círculo.

3.4.6 Encontrar loops e caminhos diretos

Até este ponto o sistema já conhece onde estão os nós, quem são seus vizinhos e a direção de cada aresta.Para encontrar os loops, o sistema faz um preenchimento no esqueleto do diagrama a partir do centro

Page 35: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

35

de cada nó, até retornar para o nó inicial. Durante este processo, é removido os loops de caminhos falsos,ou seja, aqueles loops em que o nó inicial não é o que iniciou o processo.

Para encontrar os caminhos diretos, o sistema irá fazer um preenchimento no esqueleto do grafo apartir do nó inicial passando por todos as arestas, até que o nó final seja encontrado. Sendo assim, paracada nó, adiciona-se os seus vizinhos, podendo criar novos percursos diretos, mas caso algum delesvoltem para um nó que já foi inserido, este caminho será excluído, pois é um loop.

O resultado para este passo pode ser visualizado na Figura 29.

Figura 29: Caminhos diretos e loops encontrados no grafo. As três imagens superiores representam oscaminhos diretos, e as três imagens inferiores representam os loops.

3.4.7 Função de transferência

Finalmente o último passo é o calculo da função de transferência a partir do nó inicial para o nó final. Nosistema, o computador pede ao usuário para introduzir cada TF para os nós TF. Para o proposito desteexemplo, todas as TF’s são dadas a seguir:

g13(s) = 1

g10(s) = 1s

g8(s) = 1s

g5(s) = 1s

g4(s) = 2

g1(s) = 1

g2(s) = 7

g14(s) = −9

g15(s) = −26

g16(s) = −24

(8)

O resultado obtido foi:

G(s) =s2 + 7s + 2

s3 + 9s2 + 26s + 24(9)

Page 36: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

36

3.5 Redução de dimensionalidade - Abordagem baseada em Information Theoretic Lear-ning

Durante o terceiro trimestre na linha de trabalho que trata de Redução de Dimensionalidade dos dadosforam desenvolvidos os três algoritmos de redução de dimensionalidade que foram descritos no relatórioreferente ao segundo trimestre do projeto: Principal Component Analysis (PCA), Stochatic NeighborEmbedding (SNE) e o t-distributed Stochatic Neighbor Embedding (t-SNE) [17].

A PCA foi implementada por ser um dos métodos mais conhecidos e utilizados em aplicações deredução de dimensionalidade. Ela é simples de implementar, computacionalmente eficiente e garante adescoberta de uma estrutura de dados próxima do subespaço linear do espaço de entrada de alta dimensão.A PCA tem como problema principal o fato de trabalhar apenas com classes linearmente separáveis.

Tanto o SNE como o t-SNE tratam problemas não lineares e trabalham convertendo distâncias entreos pontos na alta dimensão em probabilidades condicionais que representam semelhança. São duas asprincipais diferenças entre os dois algoritmos, a primeira diz respeito à função de custo utilizada, já quea função de custo do SNE é difícil de otimizar, problema que o t-SNE tenta resolver usando uma versãosimétrica da função do SNE e também utilizando uma distribuição de dados diferente, já que a SNEutiliza a Gaussiana e a t-SNE utiliza a Student-t para calcular a similaridade entre os pontos no espaçode baixa dimensão.

A utilização do uso de uma distribuição diferente permite ao algoritmo t-SNE minimizar o problemada aglomeração de dados que ocorre no algoritmo SNE, visto que além de uma força de atração, jáexistente no SNE, também existe uma força de repulsão entre os pontos.

A geração de dados para os três algoritmos ocorreu de maneira similar, onde foram desenvolvidasalgumas funções para a geração de conjuntos de dados: Swiss Roll, Helix, Twinpeaks e Intersect foramos dados gerados, como mostra a figura 30:

Figura 30: Formato dos Conjuntos de Dados Gerados

Para efeito da visualização dos resultados nesse documento serão colocados os gráficos com o conjuntode dados Swiss Roll com mil pontos gerados.

Page 37: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

37

3.5.1 O Algoritmo PCA

O processo para o funcionamento do PCA passa pelo cálculo da matriz de covariância dos dados, apósesse cálculo faz-se necessário o cálculo dos autovalores e autovetores da matriz de covariancia, e aclassificação desses autovalores e autovetores em ordem, crescente ou decrescente.

Com a ordenação dos autovalores e autovetores, o próximo passo é selecionar quantas dimensões osdados finais terão, selecionando assim os novos componentes principais de acordo com a variância nosseus dados. Finalmente, os dados são mapeados para a nova dimensão selecionada.

A figura 31 mostra os dados gerados originalmente, os mesmos dados apenas deslocados da sua média,o resultado do algoritmo PCA reduzindo para duas dimensões e selecionando os dois maiores Componen-tes Principais, reduzindo para duas dimensões e selecionando os dois menores componentes principais,reduzindo à uma dimensão e selecionando o maior Componente, reduzindo à uma dimensão e selecio-nando o menor dos componentes e por fim mantendo as 3 dimensões de dados e apenas rotacionando osdados.

Figura 31: Resultados apresentados pelo algoritmo PCA

3.5.2 O Algoritmo SNE

A princípio o algoritmo do SNE calcula o kernel gaussiano e a entropia para os dados na sua dimensãooriginal (P), para isso se calcula a distância euclidiana entre os pontos e ajusta o valor da perplexidadede acordo com a tolerância especificada.

O processo seguinte se refere ao cálculo do Kernel gaussiano na baixa dimensão (Q), ou na dimensãopara que se deseja reduzir os dados, esse processo se dá ponto a ponto.

Após o cálculo de cada um dos pontos tem-se P e Q e a partir daí se calcula a função de custo entreeles e o gradiente, reduzindo a instabilidade ao passar do tempo, quando isso for necessário.

A figura 32 monstra os dados gerados inicialmente, o resultado do algoritmo SNE reduzindo a duasdimensões, reduzindo a uma dimensão e mantendo as três dimensões.

3.5.3 O Algoritmo t-SNE

O algoritmo t-SNE inicia-se com um pré-processamento dos dados utilizando o Algoritmo PCA e a partirdaí se utiliza um processo semelhante ao do SNE.

O passo seguinte calcula as matrizes de distância entre os pontos e calcula as probabilidades conjuntas,o kernel e a entropia para a dimensão original dos dados, calculando assim o valor de P.

Page 38: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

38

Figura 32: Resultados apresentados pelo algoritmo SNE

O algoritmo t-SNE calcula a probabilidade conjunta de pontos i,j vizinhos (Q), nesse ponto apareceuma das principais diferenças entre o SNE e o t-SNE, já que aqui o t-SNE utiliza-se da distribuiçãot-Student para o cálculo das probabilidades, enquanto que o SNE se utiliza da gaussiana.

Após o cálculo de cada um dos pontos tem-se P e Q e a partir daí se calcula a função de custo entreeles e o gradiente, reduzindo a instabilidade ao passar do tempo, quando isso for necessário.

A figura 33 apresenta os dados originais gerados e os resultados do algoritmo t-SNE reduzindo a duasdimensões, reduzindo a uma dimensão e também mantendo as três dimensões de dados.

Figura 33: Resultados apresentados pelo algoritmo t-SNE

Para o quarto trimestre está prevista o início do desenvolvimento de um novo algoritmo para a reduçãoda dimensionalidade utilizando técnicas de Information Theoretic Learning (ITL), bem como a utilizaçãode dados reais, advindos do projeto SmartMetrpolis nos algoritmos já desenvolvidos.

3.6 Redução de Dimensionalidade - Abordagens de Seleção de Atributos para problemasde classificação em Big Data

A quantidade de dados no mundo tem crescido exponencialmente devido ao número elevado de aplica-ções dos mais variados contextos. Esses dados precisam ser analisados com intuito de extrair informaçõesvaliosas que se encontram emaranhadas no grande volume dados. Aprendizado de máquina é uma fer-ramenta extremamente útil em tarefas como essa, no entanto a alta complexidade dos dados leva ao usode técnicas para reduzir tal complexidade. Redução de dimensionalidade é um dos métodos mais uti-

Page 39: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

39

lizados para alcançar esse objetivo. Diversos algoritmos de seleção de atributos foram propostos pelacomunidade cientifica com objetivo de reduzir a dimensionalidade de dados, cada um possui vantagense desvantagens de acordo com o tipo e o contexto dos dados. A variedade de algoritmos leva a testar vá-rios métodos e escolher a melhor solução. Nesse sentido, foram desenvolvidas diferentes abordagens decombinações de algoritmos de seleção de atributos baseados em conceitos de teoria da informação, comobjetivo de criar uma solução única e mais estável. Propomos duas abordagens de combinação (Fusãode dados e Fusão de Decisão). Para efeito de validação, utilizamos bases de dados reais e sintéticas decontextos de aplicação diferentes. Resultados mostraram que uma das abordagens propostas se mostroumais robusta alcançando melhores resultados para maioria das bases de dados.

Nos semestres anteriores essas abordagens de fusão foram modeladas, implementadas e testadas. Du-rante o semestre atual os resultados obtidos foram analisados de forma a obter conclusões acerca dopotencial das abordagens desenvolvidas.

As atividades realizadas durante o trimestre contaram com:

• Realização de experimentos utilizando bases de dados reais e sintéticas de alta dimensionalidadepara validação do estudo empírico comparativo entre as abordagens propostas e os principais mé-todos da literatura;

• Análise e discussão dos resultados obtidos através dos experimentos;

• Desenvolvimento inicial de uma nova abordagem de seleção de atributos para Big Data, baseadaem seleção dinâmica de atributos utilizando algoritmos supervisionados e não-supervisionados;

• Produção de artigos cientfícos.

3.6.0.1 Abordagens de combinação propostasFusão de Dados: Um modo de combinar atributos obtidos por algoritmos de seleção de atributos

é através do uso de um esquema de votação para escolher os atributos mais relevantes, baseados nasaída de cada algoritmo de seleção de atributos. Em outras palavras, essa abordagem provê a fusão dosatributos selecionados por diferentes técnicas de seleção de atributos e usa uma estratégia de votação paraselecionar os atributos mais importantes. O esquema de votação é baseado na relevância que os atributosaparecem nas saídas de cada algoritmo. Uma visão geral da abordagem de fusão de dados pode ser vistana figura 34.

Fusão de Decisão: A ideia é usar uma estrutura de comitê de classificadores como uma abordagem defusão, onde a decisão de cada algoritmo de classificação é combinada por um método de combinação docomitê (Fusão de Decisão). O conceito de comitê de classificadores surgiu nas últimas décadas como umaestratégia para combinar classificadores, visando prover uma solução que é potencialmente mais eficienteque soluções individuais [14]. Nesse contexto, a ideia dessa abordagem consiste em combinar algoritmosde seleção de atributos usando um comitê de classificadores homogêneo. Logo, nós não combinanos assaídas geradas por cada algoritmo de seleção, mas a decisão provida pelos algoritmos de classificaçãotreinados com os conjuntos de dados reduzidos pelos algoritmos de seleção de atributos. Uma visão geralda abordagem de comitê (Fusão de Decisão) pode ser vista na figura 35.

Para um detalhamento maior acerca das abordagens, como formalismos e definições, ver o artigo [8].

3.6.0.2 Algoritmos de Redução de Dimensionalidade e Classificação

Page 40: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

40

Figura 34: Fusão dos Dados

Figura 35: Fusão dos Dados

Para compor as abordagens de combinação foram utilizadas os algoritmos utilizados em [13] e [6].Selecionamos cinco algoritmos de redução baseados em Informação Mútua, incluindo o algoritmo do

Page 41: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

41

autor, Spectral relaxation global Conditional Mutual Information (SPEC_CMI). Algoritmos baseadosem informação mútua tem alto potencial de realizar seleção de atributos quando comparados com mé-todos tradicionais, isso se deve ao fato de que informação mútua, assim como outros descritores deTeoria da Informação, utilizam a informação dos próprios dados para quantificar e selecionar os "melho-res"atributos. Algoritmos utilizados:

• Quadratic programming feature selection (QPFS) [16];

• Spectral Relaxation Global Conditional Mutual Information (SPEC_CMI) [13];

• Maximum Relevance Minimum Total Redundancy (MRMTR) [15];

• Conditional Mutual Information Maximization (CMIM) [7];

• Mutual Information Feature Selection (MIFS) [4];

As implementações dos algoritmos de seleção de atributos baseados em informação mútua são pú-blicas e estão disponíveis em toolboxes do Matlab1 2. O detalhamento acerca dos algoritmos utilizadosestão detalhados nos trabalhos citados acima.

Para validar a performance das abordagens propostas, utilizamos três algoritmos de classificação, quesão: Árvore de Decisão, Naive Bayes e k-NN (Nearest Neighbor). Estes algoritmos foram escolhidos porserem amplamente utilizados pela comunidade de aprendizado de máquina e cada um possui uma formadistinta de obter as soluções. Com esse objetivo, tentamos cobrir uma grande diversidade de heurísticasde classificação para evitar viés tendenciosos para alguma das abordagens.

Como ferramentas, utilizamos os softwares: Matlab[11] e Weka [10], com todos os parâmetros defini-dos como padrão. Estamos cientes que a configuração dos parâmetros leva a melhores resultados, mas otamanho do experimento realizado foi muito grande. Nossos experimentos iniciais visaram obter análi-ses iniciais em relação a ambas as abordagens de combinação, então parâmetros definidos como padrãoforam suficientes.

Para obter resultados mais robustos, utilizamos o 10-fold cross validation para ambas as abordagensde fusão de dados e de decisão. Adicionalmente, todos os algoritmos foram executados 10 vezes, logoobtemos os resultados referentes as médias da acurácia e seus respectivos desvios-padrões. Comparamosos resultados obtidos com o desempenho original das bases e com o extrator de características PCA.

3.6.0.3 Conjuntos de Dados

As bases de dados foram selecionadas visando cobrir diferentes números de amostras e características.As principais características de cada base de dados é apresentada na tabela 5, onde n é o número deamostras, C o número de classes e d é o número de características (dimensionalidade).

3.6.0.4 Resultados

Nesta seção serão apresentadas os resultados das análises empíricas realizadas com as cinco aborda-gens: as duas abordagens de combinação propostas, PCA e o conjunto original de dados (sem seleção

1disponível em http://www.mathworks.com/matlabcentral/fileexchange/

47129-information-theoretic-feature-selection2disponível em http://www.mathworks.com/matlabcentral/fileexchange/

26981-feature-selection-based-on-interaction-information

Page 42: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

42

Dataset n C Dist.of Classes d

LSVT 126 2 42,84 310Lung Cancer 181 2 31,150 12533Breast Cancer Diagnostic 569 2 212,357 30Connectionist Bench 208 2 97,111 60Ionosphere 351 2 126,225 32St Jude Leukemia 248 6 15,27,64,20,40,79 985Gaussian 60 3 20,20,20 600Simulated 60 5 8,12,10,15,5,10 600Friedman 1000 2 436,564 100Colon Cancer 62 2 22,40 2000

Tabela 5: Descrição das Bases de Dados.

de atributos). Adicionalmente, utilizamos três algoritmos de classificação e as subseções seguintes des-creverão os resultados obtidos por esses algoritmos. As tabelas seguintes estão organizadas como: AC(Algoritmo de Classificação), MRD (Método de Redução de Dimensionalidade, MR (Métrica do Resul-tado). As tabelas abaixo apresentam a acurácia e o desvio padrão dos classificadores utilizando as quatroabordagens de redução, bem como o conjunto de dados originais, para as dez bases de dados. Para cadabase de dados (cada linha na tabela), os números em negrito representam a abordagem que obteve a me-lhor performance (maior acurácia). Adicionalmente, nós aplicamos testes estatísticos e (*) representa oscasos onde houve diferença estatística na performance, em relação a abordagem a abordagem com maiorperformance.

AC Árvore de DecisãoMRD Fusão de decisão Fusão de Dados PCA OriginalMR Mean±Std Mean±Std Mean±Std Mean±Std

LSVT 83.75±2.11 85.94±8.94 75.05±9.67(∗) 74.49±13.06(∗)LungC 98.24±0.51 94.81±4.06(∗) 92.22±5.36(∗) 93.99±5.00(∗)BreastC 94.65±0.53 93.36±3.11 94.31±2.91 93.27±3.55ConnB 76.39±1.83 72.56±9.47(∗) 74.27±10.45 73.61±9.34

Iono 91.85±0.66 90.11±4.64 85.84±5.05(∗) 91.06±4.16Jude 84.63±1.08(∗) 83.07±7.08(∗) 93.87±4.44 89.31±5.67

Gauss 73.18±3.54(∗) 75.50±16.99(∗) 98.00±6.39 52.33±19.39(∗)Simul 68.00±3.01(∗) 68.50±15.51(∗) 86.83±13.46 74.83±15.26(∗)Fried 88.18±0.70 89.42±2.95 68.71±4.63(∗) 86.24±3.54

ColonC 86.74±2.43 83.79±12.92 61.92±9.97(∗) 81.95±13.86

Tabela 6: Resultados utilizando Árvore de Decisão.

3.6.0.5 Discussão

Como pode ser observado na tabela 6, uma das abordagens propostas obteve a melhor performancepara quase todos os conjuntos de dados. A única exceção foram as bases Jude, Gaussian e Simulated. Afusão de decisão obteve o melhor resultado em cinco bases de dados a fusão dos dados em três. Os testesestatísticos mostraram que a abordagem de fusão de decisão obteve estatisticamente melhores resultadosque o PCA em três bases de dados e em relação ao conjunto de dados original em 1. No mesmo sentido,os testes estatísticos mostraram que a abordagem de fusão de dados obteve melhor performance que oPCA em relação a dois conjuntos de dados e em uma base de dados em relação ao conjunto de dadosoriginal.

Page 43: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

43

AC Naive BayesMRD Fusão de Decisão Fusão de Dados PCA OriginalMR Mean±Std Mean±Std Mean±Std Mean±Std

LSVT 72.79±0.79 69.64±11.64 54.88±12.04(∗) 54.40±12.59(∗)LungC 99.46±0.08 98.29±3.30 91.06±5.57(∗) 97.95±3.21(∗)Breastc 96.01±0.13 94.24±3.30(∗) 91.60±3.63(∗) 93.30±3.30(∗)ConnB 76.63±0.73 68.54±10.32(∗) 76.18±9.04 67.71±8.66(∗)

Iono 86.74±0.20 89.29±4.64 83.39±6.09(∗) 81.54±6.10(∗)Jude 88.59±0.44(∗) 85.00±6.26(∗) 95.12±3.77 98.22±2.39

Gauss 80.10±2.92(∗) 67.67±18.32(∗) 100.00±0.00 79.66±17.82(∗)Simul 73.00±1.69(∗) 67.50±15.24(∗) 87.16±9.43(∗) 91.66±8.3Fried 63.12±0.31 63.05±4.14 59.59±3.80 64.83±4.52

ColonC 80.42±1.59 78.83±16.04 56.02±18.92(∗) 55.69±17.04(∗)

Tabela 7: Resultados utilizando Naive Bayes.

AC k-NNMDR Fusão de Decisão Fusão de Dados PCA OriginalMR Mean±Std Mean±Std Mean±Std Mean±Std

LSVT 84.80±9.20 75.75±1.61(∗) 73.10±12.21(∗) 75.88±12.49(∗)LungC 99.01±0.29 98.73±2.71 95.47±4.46(∗) 95.19±4.14(∗)BreastC 90.49±0.41(∗) 95.82±2.83 92.64±3.48(∗) 95.64±2.32ConnB 75.51±1.06(∗) 67.48±10.77(∗) 71.63±9.67(∗) 86.17±8.45

Iono 92.99±0.46 88.38±5.06(∗) 85.86±5.48(∗) 87.16±4.96(∗)Jude 86.72±0.80(∗) 80.47±6.66(∗) 92.43±4.31(∗) 98.67±2.07

Gauss 75.87±2.71(∗) 59.33±18.09(∗) 100.00±0.00 98.33±5.03Simul 79.60±1.64 52.17±16.86 87.16±10.56(∗) 100.00±0.00Fried 90.84±0.37 90.57±2.92 61.62±4.43(∗) 52.96±4.55(∗)

ColonC 84.27±1.20 79.62±14.02(∗) 62.73±17.71(∗) 76.83±17.21(∗)

Tabela 8: Resultados utilizando k-NN.

Sobre os resultados da tabela 7, as abordagens propostas obtiveram resultados melhores em metadedos conjuntos de dados analisados. A fusão de decisão alcançou os melhores resultados em quatro basesde dados e a fusão de dados em um conjunto e dados. O resultado dos testes estatísticos evidenciaram queo aumento da performance da fusão de decisão foi significante em quatro bases de dados, em comparaçãoao PCA, e em todos os 5 conjuntos de dados, em comparação ao dados originais. No mesmo sentido, oteste estatístico mostrou que a abordagem de fusão de dados obteve performance superior ao PCA e aoconjunto original de dados na base de dados Ionosphere.

Quando comparadas as performances de ambas as abordagens propostas com o Naive Bayes, em rela-ção aos resultados obtidos na sessão anterior, as abordagens propostas obtiveram a melhor performanceem menos bases de dados (7 para Árvore de Decisão e 5 para o Naive Bayes). Entretanto, essas melhoriasprovaram ser mais estatisticamente frequentes (7 para Árvore de Decisão e 11 para Naive Bayes). Emrelação a tabela 8, a abordagem de fusão de decisão obteve performance superior em metade das basesde dados, enquanto a fusão de dados obteve o melhor resultado em apenas uma base da dados. Os resul-tados dos testes estatísticos mostraram que a abordagem de fusão de decisão teve melhor performanceestatística que o PCA e que o conjunto original de dados em todas as cinco bases de dados. Entretanto,para a abordagem de fusão de dados, os testes estatísticos demonstraram que essa abordagem obteve per-formance superior apenas em relação ao PCA (conjunto de dados Breast Cancer) e performance similar

Page 44: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

44

que os conjuntos de dados originais. O resultados obtidos pelo algoritmo k-NN são bastante similaresaos resultados obtidos pelo algoritmo Naive Bayes.

Em resumo, baseado no análise empírica conduzida durante o projeto de pesquisa, podemos afirmarque a abordagem de fusão de decisão é o melhor método de seleção de atributos e, portanto, o melhorredutor de dimensionalidade, quando comparado a abordagem de fusão de dados e ao PCA, provendouma performance superior para maioria das bases de dados. Bem como, a abordagem de fusão de de-cisão pode melhorar a performance, quando comparado ao conjunto original de dados (sem seleção deatributos/sem redução na dimensionalidade), para maioria das bases de dados.

Para o quarto semestre, está sendo desenvolvida uma terceira abordagem de seleção de atributos nocontexto de Big Data, utilizando estratégias de seleção dinâmica de atributos. Essa abordagem conta coma utilização conjunta de métodos de aprendizado de máquina supervisionados e não-supervisionados emconjunto com descritores da Teoria da Informação. O principal objetivo é gerar um método que sejacapaz de classificar dinamicamente as instâncias utilizando os melhores atributos que a representam, ouseja, cada instância pode ser classificada utilizando diferentes conjuntos de atributos.

4 Considerações Finais

Neste trimestre tivemos quase todas as metas alcançadas. A exceção ainda é a integração com o Firewareque permanece sem andamento devido a falta de estrutura física para instalação do Hadoop.

Este trimestre foi marcado por implementações e obtenção de resultados. Em todos os temas foram ob-tidos resultados das implementações, embora utilizado dados externos ao projeto. O tema de mineraçãode texto obteve exito na implementação da classificação online. O tema de processamento de imagense redução de dimensionalidade tiveram êxito nas implementações gerando resultados quantitativos rele-vantes.

O tema de processamento de sinais teve um ponto importante que foi a participação do estudantede intercâmbio francês Remi Verdier. O aluno foi trazido via contato do prof. Nélio Cacho e orientadopelo prof. Allan Martins. O aluno desenvolveu muito bem todo o código de análise, chegando a proporsoluções relevantes para análise.

Como nos trimestres anteriores, vale a pena mencionar que, apesar do aumento na comunicação comoutros WP’s, o nosso grupo ainda depende, basicamente, de iniciativa própria para definir os temas edesenvolver muitas das pesquisas. É esperado que os demais grupos aumentem a interação com o WP6nas próximas etapas do projeto.

Referências

[1] Classification Methods. http://www.d.umn.edu/~padhy005/Chapter5.html. [On-line; accessed 19-Outubro-2016].

[2] Cytoscape Js. js.cytoscape.org/. [Online; accessed 19-Julho-2016].

[3] J48, Árvore de Decisões. http://data-mining.business-intelligence.uoc.

edu/home/j48-decision-tree. [Online; accessed 19-Outubro-2016].

[4] R. Battiti. Using mutual information for selecting features in supervised neural net learning. Trans.Neur. Netw., 5(4):537–550, July 1994.

Page 45: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

45

[5] G. Box, G. Jenkins, and G. Reinsel. Time Series Analysis: Forecasting and Control. Wiley 4thEdition, 2008.

[6] G. Brown. A new perspective for information theoretic feature selection. In D. V. Dyk and M. Wel-ling, editors, Proceedings of the Twelfth International Conference on Artificial Intelligence andStatistics (AISTATS-09), volume 5, pages 49–56. Journal of Machine Learning Research - Procee-dings Track, 2009.

[7] F. Fleuret. Fast binary feature selection with conditional mutual information. J. Mach. Learn. Res.,5:1531–1555, Dec. 2004.

[8] J. Jesus, D. Araújo, and A. Canuto. Fusion approaches of feature selection algorithms for classifi-cation problems. In BRACIS 2016 (), oct 2016.

[9] D. Kwiatkowski, P. Phillips, P. Schmidt, and Y. Shin. Testing the null hypothesis of stationarityagainst the alternative of a unit root. Journal of Econometrics, 54:159–178.

[10] I. W. Mark Hall and E. Frank. Data Mining:Practical Machine Learning Tools and Techniques.2002.

[11] MATLAB. version 7.10.0 (R2010a). The MathWorks Inc., Natick, Massachusetts, 2010.

[12] P. A. Morettin and C. Toloi. Análise de Séries Temporais. Editora Edgard Blucher, 2000.

[13] X. V. Nguyen, J. Chan, S. Romano, and J. Bailey. Effective global approaches for mutual informa-tion based feature selection. In Proceedings of the 20th ACM SIGKDD International Conferenceon Knowledge Discovery and Data Mining, KDD ’14, pages 512–521, New York, NY, USA, 2014.ACM.

[14] R. R. Parente, A. M. P. Canuto, and J. C. X. Jr. Characterization measures of ensemble systemsusing a meta-learning approach. In The 2013 International Joint Conference on Neural Networks,IJCNN 2013, Dallas, TX, USA, August 4-9, 2013, pages 1–8, 2013.

[15] H. Peng, F. Long, and C. Ding. Feature selection based on mutual information: Criteria ofmax-dependency, max-relevance, and min-redundancy. IEEE Trans. Pattern Anal. Mach. Intell.,27(8):1226–1238, Aug. 2005.

[16] I. Rodriguez-Lujan, R. Huerta, C. Elkan, and C. S. Cruz. Quadratic programming feature selection.J. Mach. Learn. Res., 11:1491–1516, Aug. 2010.

[17] L. van der Maaten and G. Hinton. Visualizing Data using t-SNE. Journal of Machine LearningResearch, 9:2579–2605, Nov. 2008.

Anexos

Anexo I

Page 46: Relatório de Atividades do Terceiro Trimestre do WP6 ...smartmetropolis.imd.ufrn.br/wp-content/uploads/2017/03/RT3-WP6... · ... (Engenharia de Computação) ... (Engenharia de Computação)

46

1 function ValidarCPF(Objcpf) {

2 var strCpf = Objcpf.value;

3 exp = /\.|\-/g

4 strCpf = strCpf.toString().replace(exp, "");

5 var soma;

6 var resto;

7 var sum = 0;

8 soma = 0;

9 if (strCpf == "00000000000") {

10 sum++;

11 }

12 for (i = 1; i <= 9; i++) {

13 soma = soma + parseInt(strCpf.substring(i - 1, i)) * (11 - i);

14 }

15 resto = soma % 11;

16 if (resto == 10 || resto == 11 || resto < 2) {

17 resto = 0;

18 } else {

19 resto = 11 - resto;

20 }

21 if (resto != parseInt(strCpf.substring(9, 10))) {

22 sum++;

23 }

24 soma = 0;

25 for (i = 1; i <= 10; i++) {

26 soma = soma + parseInt(strCpf.substring(i - 1, i)) * (12 - i);

27 }

28 resto = soma % 11;

29 if (resto == 10 || resto == 11 || resto < 2) {

30 resto = 0;

31 } else {

32 resto = 11 - resto;

33 }

34 if (resto != parseInt(strCpf.substring(10, 11))) {

35 sum++;

36 }

37 if (sum != 0 && strCpf != "")

38 alert(’CPF Invalido!’);

39 }