• Nenhum resultado encontrado

Um método para interpretar outliers em trajetórias de objetos móveis

N/A
N/A
Protected

Academic year: 2021

Share "Um método para interpretar outliers em trajetórias de objetos móveis"

Copied!
79
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE SANTA CATARINA INFORM ´ATICA E ESTAT´ISTICA

Artur Ribeiro de Aquino

UM M ´ETODO PARA INTERPRETAR OUTLIERS EM TRAJET ´ORIAS DE OBJETOS M ´OVEIS

Florian´opolis 2014

(2)
(3)

Artur Ribeiro de Aquino

UM M ´ETODO PARA INTERPRETAR OUTLIERS EM TRAJET ´ORIAS DE OBJETOS M ´OVEIS

Disserta¸c˜ao submetida ao Programa de P´os-Gradua¸c˜ao em Ciˆencia da Com-puta¸c˜ao para a obten¸c˜ao do Grau de Mestre em Ciˆencia da Computa¸c˜ao. Orientadora: Prof. Dra. Vania Bo-gorny

Florian´opolis 2014

(4)
(5)

Artur Ribeiro de Aquino

UM M ´ETODO PARA INTERPRETAR OUTLIERS EM TRAJET ´ORIAS DE OBJETOS M ´OVEIS

Esta Disserta¸c˜ao foi julgada aprovada para a obten¸c˜ao do T´ıtulo de “Mestre em Ciˆencia da Computa¸c˜ao”, e aprovada em sua forma final pelo Programa de P´os-Gradua¸c˜ao em Ciˆencia da Computa¸c˜ao.

Florian´opolis, 27 de fevereiro 2014.

Prof. Dr. Ronaldo dos Santos Mello Coordenador

Prof. Dra. Vania Bogorny Orientadora Banca Examinadora:

Prof. Dra. Vania Bogorny Presidente

(6)
(7)

Prof. Dra. Patricia Della M´ea Plentz

(8)
(9)

Dedico este trabalho `a minha fam´ılia, que mais do que sempre esteve comigo, mas que ´e um pouquinho de mim.

(10)
(11)

AGRADECIMENTOS

Agrade¸co, primeiramente, `a minha fam´ılia. Meu pai, minha m˜ae e meu irm˜ao, que fizeram deste meu trabalho um pouco mais deles e um pouco menos trabalho. Sempre do meu lado partilhando um pouco de suas vidas em troca de um pouco da minha. Falando em fam´ılia n˜ao poderia deixar de fora todo o apoio, conselhos e suporte da meu tio ”leo”, minha tia ”betinha” e meu primo Felipe. Praticamente meus pai, m˜ae e irm˜ao de Floripa e isso dispensa mais coment´arios.

Aprendi muito com minha orientadora, Vania, seu colega e ma-rido, Luis e todos meus inicialmente colegas e depois amigos do labo-rat´orio do mestrado. Todos eles dividiram um pouquinho dessa ex-periˆencia comigo e buscamos ajudar uns aos outros, comemorando e trabalhando juntos. Tenho certeza que saio do mestrado com mais do que uma disserta¸c˜ao, muito obrigado.

Devo tamb´em agradecer `a algumas institui¸c˜oes que, ao longo de todo o processo, tamb´em deram a sua contribui¸c˜ao. A CAPES, o CNPQ e o REUNI por suportarem no desenvolvimento e divulga¸c˜ao. A UFSC e o PPGCC por cobrirem as despesas para apresenta¸c˜ao de um artigo. O segundo com uma secretaria sol´ıcita e gentil, muito bem representada por Katiana. O projeto Marie Curie e a Uni˜ao Europ´eia que por meio do projeto SEEK viabilizaram um intercˆambio para o KDDLab/CNR, em Pisa. Neste ´ultimo caso agradecimentos especiais `a Chiara Renso e `a Chiara Falchi por todo seu apoio, suporte e cuidados. Finalmente, agrade¸co `a todos os meus amigos que me apoiaram e incentivaram nos momentos dif´ıceis e que, por muitas vezes, pareciam acreditar em mim mais do que eu. N˜ao queria parecer injusto ao citar nenhum aqui, mas Lucas, Jozie e Daniel realmente deram um passo al´em e se posicionaram de uma maneira que pude ver preocupa¸c˜ao, entendimento e apoio sensacionais. Obrigado!

Por ´ultimo, agrade¸co `a minha av´o, que nunca perguntou como estava meu mestrado.

(12)
(13)

A person who won’t read has no advan-tage over one who can’t read.

(14)
(15)

RESUMO

Dispositivos capazes de registrar o rastro de um objeto m´ovel est˜ao cada vez mais populares. Esses registros s˜ao chamados de Trajet´orias de Objetos M´oveis. Devido ao grande volume desses dados surge a ne-cessidade de criar m´etodos e algoritmos para extrair alguma informa¸c˜ao ´

util desses dados. Existem v´arios trabalhos de minera¸c˜ao de dados em trajet´orias para detectar diferentes tipos de padr˜oes, por´em poucos focam na detec¸c˜ao de outliers entre trajet´orias. Os outliers entre tra-jet´orias s˜ao aqueles com um comportamento ou caracter´ıstica diferente da maioria. Se a maioria dos objetos est˜ao andando a 80km/h em um determinado trecho, os objetos a 120km/h s˜ao os outliers. Outliers de trajet´orias podem ser interessantes para descobrir comportamentos suspeitos em um grupo de pessoas, para encontrar rotas alternativas na an´alise de tr´afego e at´e saber quais s˜ao os melhores ou piores caminhos conectando duas regi˜oes de interesse. N˜ao se teve conhecimento de um outro trabalho na literatura que fizesse uma an´alise mais aprofundada, que interpretasse ou desse significado aos outliers. A semˆantica dos outliers pode prover mais informa¸c˜ao para tomadas de decis˜ao. Nesse trabalho ´e apresentado um algoritmo para agregar significado aos ou-tliers de trajet´orias de motoristas considerando trˆes poss´ıveis raz˜oes principais para um desvio: paradas fora do caminho padr˜ao, eventos ou trˆansito no caminho padr˜ao. Experimentos s˜ao mostrados com da-dos reais e o m´etodo encontra os diferentes tipos e classifica¸c˜oes de outliers corretamente.

Palavras-chave: Minera¸c˜ao de Dados. Trajet´orias de Objetos M´oveis. Outlier. Semˆantica. Caminho Padr˜ao. Parada. Evento. Trˆansito.

(16)
(17)

ABSTRACT

Devices for recording moving object traces are becoming very popu-lar. These traces are called Trajectories of Moving Objects. The huge volume of these data raises the need for developing methods and algo-rithms to extract useful information from these data. There are many works related to trajectory data mining that find different types of patterns, but only a few of them focused on outlier detection between trajectories. Outliers between trajectories are the ones that behave dif-ferent from the majority. If the majority of the objects are going on a speed of 80km/h in some part of a road, for example, the objects on 120km/h are the outliers. Trajectory outliers are interesting to discover suspicious behaviors in a group of people, to find alternative routes in traffic analysis and even to discover better and worse paths connecting two regions of interest. To the best of our knowledge, no works so far have made a deeper analysis to either understand or give a meaning to the outliers. Outliers with semantic information can provide more information for decision making. In this work we present an algorithm to add meaning to trajectory outliers of vehicles drivers considering three main possible reasons for a detour: stops outside the standard route, events, and traffic jams in the standard path. We show through experiments on real data that the method correctly finds the different types of outliers and classifies them correctly.

Keywords: Data Mining. Trajectory of Moving Objects. Outlier. Semantics. Standard Path. Stop. Event. Traffic.

(18)
(19)

LISTA DE FIGURAS

Figura 1 Exemplo de outliers. . . 27

Figura 2 Exemplo de candidato. Adaptado de (FONTES et al., 2013) . . . 30

Figura 3 Exemplo de vizinhan¸ca. (FONTES et al., 2013) . . . 31

Figura 4 Exemplo de comportamento avoidance de (ALVARES et al., 2011) . . . 34

Figura 5 Detec¸c˜ao de outliers por parti¸c˜ao. Adaptado de (LEE; HAN; LI, 2008). . . 35

Figura 6 Exemplo de outlier segments. . . 41

Figura 7 Exemplos de caminhos padr˜ao de R1 para R2. . . 43

Figura 8 Exemplo de standard segments. . . 44

Figura 9 Exemplo de um event avoiding outier. . . 45

Figura 10 Standard segment sincronizado destacado. . . 46

Figura 11 Representa¸c˜ao do conjunto de dados de Florian´opolis no Quantum GIS (Quantum GIS Development Team, 2013) com o Open Street Maps (WIKI, 2013). . . 54

Figura 12 Caminhos padr˜ao da UFSC `a residˆencia. . . 55

Figura 13 Desvios presentes nos dados da UFSC `a residˆencia. . . 56

Figura 14 Desvios encontrados da UFSC `a residˆencia. . . 57

Figura 15 Visualiza¸c˜ao de parte do conjunto de dados dos t´axis no Open Jump (Stefan Steiniger, Landon Blake, 2013). . . 58

Figura 16 Representa¸c˜ao dos candidatos do aeroporto at´e o centro da cidade. . . 59

Figura 17 Standards e outliers do aeroporto at´e o centro da cidade. 61 Figura 18 Event avoiding outlier. . . 62

Figura 19 (A) stop outlier (B) traffic avoiding outlier. . . 63

Figura 20 Standards e outliers do aeroporto at´e o centro da cidade. 64 Figura 21 Traffic avoiding outlier. . . 65

Figura 22 (A) minLength 5% (B) minLength 50%. . . 69

(20)
(21)

LISTA DE TABELAS

Tabela 1 Standards e outliers de acordo com maxDist e minSup. 67 Tabela 2 Standards e outliers de acordo com o minLength. . . 67 Tabela 3 Classifica¸c˜ao de acordo com o minTime. . . 68 Tabela 4 Classifica¸c˜ao de acordo com o timeTol. . . 70

(22)
(23)

LISTA DE ABREVIATURAS E SIGLAS

CB-SMoT Clustering Based Stops and Moves of Trajec-tory

CONSTAnT CONceptual model of Semantic TrAjecTories DBSCAN Density-Based Spatial Clustering of

Applica-tions With Noise

GPS Global Positioning System

KDDLab Knowledge Discovery and Data Mining Labo-ratory

(24)
(25)

SUM ´ARIO

1 INTRODUC¸ ˜AO . . . 25 1.1 DEFINIC¸ ˜AO DO PROBLEMA E JUSTIFICATIVA . . . 26 1.2 OBJETIVOS E METODOLOGIA . . . 27 1.3 ESCOPO E ESTRUTURA DA DISSERTAC¸ ˜AO . . . 28 2 CONCEITOS B ´ASICOS E ESTADO DA ARTE . . . 29 2.1 CONCEITOS B ´ASICOS . . . 29 2.2 O ESTADO DA ARTE . . . 32 3 DESCOBERTA E INTERPRETAC¸ ˜AO DOS

OUTLI-ERS . . . 39 3.1 DEFINIC¸ ˜OES PRELIMINARES . . . 39 3.1.1 Stop Outliers . . . 42 3.1.2 Event Avoiding Outliers . . . 43 3.1.3 Traffic Avoiding Outlier . . . 46 3.2 PROPOSTA DE UM ALGORITMO PARA

INTERPRE-TAR OS OUTLIERS . . . 47 4 EXPERIMENTOS . . . 53 4.1 CONJUNTO DE DADOS DE FLORIAN ´OPOLIS . . . 53 4.2 CONJUNTO DE DADOS DOS T ´AXIS DE S ˜AO FRANCISCO 57 4.3 AN ´ALISE DOS PAR ˆAMETROS . . . 66 4.4 COMPARAC¸ ˜AO DO M ´ETODO PROPOSTO COM

OU-TROS

TRABALHOS DA LITERATURA . . . 70 5 CONCLUS ˜AO . . . 73 REFER ˆENCIAS . . . 75

(26)
(27)

25

1 INTRODUC¸ ˜AO

Rastros de mobilidade podem ser gerados por dispositivos m´ o-veis, como aparelhos de GPS e telefones celulares. Os atuais avan¸cos em tecnologia m´ovel difundiram os dispositivos m´oveis, tornando rastros de mobilidade mais comuns na vida das pessoas. Por exemplo, para ir a algum lugar pela primeira vez ´e comum o uso do GPS. Al´em disso, ´

e ´util guardar registros de atividades como, por exemplo, corrida para o aperfei¸coamento do tempo, da distˆancia percorrida, do ritmo, den-tre outros. No monitoramento de mercadorias pode-se saber se houve algum desvio do trajeto especificado, se houve algum acidente ou at´e mesmo roubo ou extravio.

Rastros de mobilidade s˜ao um novo tipo de dado que tem um componente espacial e um temporal, e, por isso, s˜ao chamados de da-dos espa¸co-temporais. Com esse novo tipo de dado espa¸co-temporal pode-se armazenar a posi¸c˜ao de um objeto ao longo do tempo, ou seja, uma posi¸c˜ao em diferentes instantes. E atrav´´ es desse atributo temporal que ´e poss´ıvel saber a ordem de cada posi¸c˜ao no espa¸co. Rastros de mobilidade s˜ao mais conhecidos como trajet´orias de obje-tos m´oveis. Trajet´orias s˜ao coletadas como dados brutos, na forma hoid, tid, (xi, yi, ti), (x2, y2, t2), ..., (xn, yn, tn)i, onde oid ´e o identifica-dor do objeto, tid o idenditicaidentifica-dor da trajet´oria e as tuplas (xi, yi, ti) s˜ao os v´arios pontos da trajet´oria, com x e y sendo as coordenadas geogr´aficas e t o instante de tempo.

Dependendo da quantidade de pontos gerados por cada objeto m´ovel pode-se ter um volume muito grande de dados, tornando dif´ıcil analisar e extrair alguma informa¸c˜ao ´util desses dados. Como con-sequˆencia, h´a uma necessidade crescente de desenvolver novos m´etodos para interpretar trajet´orias e fornecer mais informa¸c˜ao para avaliar os dados adequadamente e tomar decis˜oes. Trajet´orias possuem v´arias caracter´ısticas al´em dos dados brutos coletados, ou seja, a posi¸c˜ao e o tempo. ´E poss´ıvel calcular a dire¸c˜ao do movimento, a velocidade do objeto, a acelera¸c˜ao, dentre outros. Al´em disso, pode-se analisar carac-ter´ısticas como a forma geom´etrica da trajet´oria, a distˆancia percorrida, a velocidade m´edia e a dura¸c˜ao do trajeto. Uma trajet´oria pode ser comparada a outra atrav´es de qualquer uma dessas caracter´ısticas e v´arias outras, como por exemplo, se o caminho utilizado ´e o mesmo ou quem saiu ou chegou primeiro a um determinado lugar.

V´arios trabalhos j´a foram desenvolvidos para an´alise de dados de trajet´orias e diferentes tipos de padr˜oes podem ser extra´ıdos de dados

(28)

26

de mobilidade. Por exemplo, Laube em (LAUBE; KREVELD; IMFELD, 2005) define os padr˜oes de lideran¸ca, convergˆencia, encontro e flock, explicados no segundo cap´ıtulo. Um outro exemplo ´e o m´etodo defi-nido em (GIANNOTTI et al., 2007) que identifica os lugares mais visitados pelos objetos m´oveis e o tempo de deslocamento entre os lugares. En-tretanto, poucas tentativas para descobrir o significado de um padr˜ao ou a raz˜ao de certos comportamentos de objetos m´oveis tˆem sido pro-postas. Por exemplo, em (SIQUEIRA; BOGORNY, 2011) ´e investigado o padr˜ao de persegui¸c˜ao, mas a raz˜ao do comportamento n˜ao ´e avaliada. Em (ALVARES et al., 2011) ´e proposto um algoritmo para descobrir des-vios de objetos est´aticos como cˆameras de seguran¸ca, mas o motivo do desvio n˜ao ´e analisado.

Um tipo de comportamento que vem sendo bastante explorado s˜ao os outliers em trajet´orias. Outliers s˜ao os acontecimentos fora do padr˜ao. Outliers em trajet´orias s˜ao objetos que tˆem um comporta-mento ou caracter´ıstica diferente da maioria dos objetos do conjunto.

1.1 DEFINIC¸ ˜AO DO PROBLEMA E JUSTIFICATIVA

Trabalhos existentes na ´area de dete¸c˜ao de outliers em trajet´orias como (LEE; HAN; LI, 2008), (YUAN et al., 2011), (CHEN; SHEN; ZHOU, 2011) simplesmente descobrem trajet´orias que se comportam de modo diferente da maioria das trajet´orias em um banco de dados, mas ne-nhuma an´alise ´e feita para descobrir quando os outliers acontecem ou quais as raz˜oes para um comportamento diferenciado. O trabalho que mais analisa trajet´orias outliers ´e o trabalho de Fontes (FONTES et al., 2013). Ele encontra os outliers entre as trajet´orias que se movem de uma regi˜ao para outra.

Outliers em trajet´orias podem ser interessantes para descobrir comportamentos suspeitos em um grupo de pessoas, para encontrar rotas alternativas na an´alise de tr´afego e at´e para saber quais s˜ao os melhores ou piores caminhos conectando duas regi˜oes de interesse. A interpreta¸c˜ao dos outliers pode prover mais informa¸c˜ao para a tomada de decis˜ao e ajudar a responder quest˜oes como: por que um motorista desviou do grupo principal?

• Ele precisou pegar algu´em em algum lugar pr´oximo? • Ele estava evitando uma blitz?

(29)

27

• ´E um motorista suspeito? • Seguiu um caminho mais r´apido?

Mais informa¸c˜ao sobre um outlier pode ser ´util para responder essas perguntas em diferentes aplica¸c˜oes, o que justifica este trabalho. No entanto, descobrir por que um objeto seguiu um caminho diferente da maioria ´e bem complexo, dado que normalmente apenas os dados brutos das trajet´orias est˜ao dispon´ıveis e nenhuma informa¸c˜ao adicional ´

e fornecida sobre o objeto m´ovel e suas inten¸c˜oes.

1.2 OBJETIVOS E METODOLOGIA

O objetivo principal deste trabalho ´e ap´os a dete¸c˜ao de outliers em trajet´orias e a descoberta das poss´ıveis raz˜oes que levam um objeto a fazer um movimento diferente da maioria. Em outras palavras, o objetivo ´e adicionar semˆantica aos outliers. Este trabalho prop˜oe uma extens˜ao do trabalho de Fontes (FONTES et al., 2013), que encontra outliers entre duas regi˜oes de interesse. A escolha pela extens˜ao do trabalho de Fontes (FONTES et al., 2013) ´e porque este j´a possui uma certa semˆantica. Ao inv´es de procurar outliers em toda base de dados, ele procura desvios entre regi˜oes de interesse e onde existe um caminho padr˜ao seguido por um n´umero m´ınimo de objetos.

A figura 1 ilustra um exemplo de trajet´orias que partem da regi˜ao R1 para a regi˜ao R2, sendo que a maioria das trajet´orias segue um mesmo caminho, chamado caminho padr˜ao, e dois objetos que desviam desse caminho s˜ao os outliers (c1 e c5).

Figura 1 – Exemplo de outliers.

(30)

28

passos:

• estudar os outliers em trabalhos existentes;

• definir formalmente os conceitos b´asicos necess´arios para a com-preens˜ao de um outlier;

• investigar as poss´ıveis raz˜oes que levam um objeto a fazer desvios, considerando diferentes aspectos que possam motivar um caminho ou trecho diferente;

• definir formalmente os conceitos necess´arios para interpretar os outliers;

• definir e implementar um algoritmo para analisar outliers; • realizar experimentos com o algoritmo implementado utilizando

diferentes bases de dados:

– dados gerados em Florian´opolis pelo grupo do trabalho; – dados reais de uma base de dados dispon´ıvel online; • analisar o algoritmo, os resultados e os parˆametros. Ser˜ao

anali-sadas figuras, posi¸c˜oes em determinados momentos e tabelas com diversos valores para os parˆametros, discutindo cada um deles.

1.3 ESCOPO E ESTRUTURA DA DISSERTAC¸ ˜AO

O escopo deste trabalho est´a limitado `a descoberta de outliers entre regi˜oes e a descoberta das poss´ıveis raz˜oes para o outlier, possi-bilitando o enriquecimento do mesmo com informa¸c˜oes semˆanticas.

O restante desta disserta¸c˜ao est´a organizada como segue. O cap´ıtulo 2 descreve os conceitos b´asicos e apresenta os trabalhos relaci-onados existentes. O cap´ıtulo 3 apresenta a contribui¸c˜ao deste trabalho, com as defini¸c˜oes formais e o algoritmo desenvolvido. O cap´ıtulo 4 traz os experimentos realizados para a valida¸c˜ao do algoritmo e uma dis-cuss˜ao sobre os resultados. Posteriormente o trabalho ´e conclu´ıdo e s˜ao citados os trabalhos futuros.

(31)

29

2 CONCEITOS B ´ASICOS E ESTADO DA ARTE

Um padr˜ao em dados de trajet´orias ´e uma caracter´ıstica que pode ser observada em v´arias trajet´orias ou um movimento que se re-pete v´arias vezes em uma trajet´oria ou grupo de trajet´orias. O outlier trata-se de um desvio ou movimento diferente desse comportamento mais comum entre as trajet´orias. Os objetos m´oveis considerados neste trabalho s˜ao ve´ıculos terrestres urbanos.

Para entender o trabalho proposto, este cap´ıtulo apresenta al-guns conceitos e defini¸c˜oes b´asicas da ´area de trajet´orias. Em seguida, trabalhos relacionados ao tema desta pesquisa s˜ao detalhados, estabe-lecendo a diferen¸ca entre as abordagens j´a existentes e a proposta neste trabalho.

2.1 CONCEITOS B ´ASICOS

Nesta se¸c˜ao s˜ao introduzidos conceitos sobre trajet´orias que v˜ao ajudar a entender a abordagem utilizada. A maioria desses conceitos s˜ao baseados em (FONTES et al., 2013), j´a que o trabalho aqui proposto estende o m´etodo proposto nesse trabalho. As defini¸c˜oes come¸cam com a mais b´asica de todas: o ponto.

Defini¸c˜ao 1 (Ponto). Um ponto p ´e uma tupla (x, y, t), onde x e y s˜ao coordenadas geogr´aficas e t ´e o instante no tempo em que as coordenadas foram coletadas.

Atrav´es da coleta de pontos, em sequˆencia, pelos dispositivos m´oveis, forma-se uma lista ordenada pelo tempo. `A essa lista d´a-se o nome de trajet´oria, como pode ser visto na defini¸c˜ao a seguir.

Defini¸c˜ao 2 (Trajet´oria). Uma trajet´oria T ´e uma lista htid, p1, p2, p3, ..., pni, onde pi = (xi, yi, ti), tid ´e o id da trajet´oria e t1 < t2 < t3 < . . . < tn.

A quantidade de trajet´orias e suas caracter´ısticas variam de acordo com diversos fatores relacionados ao dispositivo que coleta seus pontos. Ele pode ser configurado para gerar um ponto em diferentes in-tervalos de tempo (por exemplo, a cada segundo) ou distˆancia (a cada 5 metros). Al´em disso, os dispositivos n˜ao s˜ao totalmente precisos e podem perder sinal em t´uneis, por exemplo.

Como uma trajet´oria costuma ter v´arios pontos, e, no geral, o comportamento do objeto varia, padr˜oes em trajet´orias n˜ao ocorrem

(32)

30

em toda ela ou durante toda sua vida. Um estudante que vai para o col´egio de ˆonibus ´e um exemplo disso. Ele sai de casa, p´ara na parada de ˆ

onibus, espera, entra no ˆonibus, desce na parada mais pr´oxima da escola e continua at´e o col´egio andando. Nesse caso simples j´a houve varia¸c˜oes no meio de transporte, velocidade, lugar da trajet´oria (cal¸cada ou rua) e at´e paradas no movimento.

Assim sendo, os padr˜oes acontecem, muitas vezes, em partes da trajet´oria. Portanto, para uma maior corretude e precis˜ao, ´e feito o uso de subtrajet´orias, que ´e um conceito conhecido no campo de pesquisa de trajet´orias. Uma subtrajet´oria ´e uma parte de uma trajet´oria. Defini¸c˜ao 3 (Subtrajet´oria). Uma subtrajet´oria S de T ´e uma lista de pontos consecutivos hpk, pk+1, ..., pk+li, onde pi∈ T, k ≥ 1 e k + l ≤ n.

Este trabalho busca descobrir a raz˜ao que levou um objeto a fazer um desvio em rela¸c˜ao ao caminho que ´e seguido pela maioria. Os movimentos s˜ao considerados similares quando as trajet´orias v˜ao de uma determinada regi˜ao para outra. Subtrajet´orias que intersectam um par de regi˜oes s˜ao chamadas de candidatos (FONTES et al., 2013), como mostrado na figura 2.

Figura 2 – Exemplo de candidato. Adaptado de (FONTES et al., 2013) Um candidato ´e a menor subtrajet´oria que se move entre duas regi˜oes. Ele corresponde ao ´ultimo ponto da subtrajet´oria que inter-secta a primeira regi˜ao e o primeiro ponto que intersecta a regi˜ao final, como mostrado na figura 2.

Defini¸c˜ao 4 (Candidato). Sejam R1 e R2 duas regi˜oes tal que R1∩ R2 = ∅ e T uma trajet´oria. Um candidato de R1 para R2 ´e a subtra-jet´oria S = hpi, pi+1, ..., pmi de T , onde (S ∩ R1) = {pi} e (S ∩ R2) = {pm}.

Um candidato que vai da regi˜ao R1 para a regi˜ao R2 ´e dife-rente de um candidato que vai no sentido oposto. No exemplo da

(33)

fi-31

gura 2, o movimento ´e de R1para R2, ent˜ao o candidato tem os pontos come¸cando em pi e indo at´e pm.

Figura 3 – Exemplo de vizinhan¸ca. (FONTES et al., 2013) De acordo com (FONTES et al., 2013), outliers s˜ao descobertos entre os candidatos que se movem no mesmo sentido. A primeira ca-racter´ıstica que um candidato deve ter para ser um outlier ´e se mover, pelo menos em parte, desassociado dos outros candidatos. Dessa ma-neira, para cada ponto de um candidato a vizinhan¸ca ´e computada. Um candidato ´e vizinho de um ponto de outro candidato se ele est´a pr´oximo a este ponto. Caso um ponto tenha poucos candidatos na sua vizinhan¸ca, ent˜ao, naquele momento, o objeto m´ovel estava seguindo um caminho diferente da maioria dos candidatos. A distˆancia euclidi-ana ´e usada na an´alise da vizinhan¸ca e ´e chamada maxDist.

Defini¸c˜ao 5 (Vizinhan¸ca). Seja p um ponto. A vizinhan¸ca de p com rela¸c˜ao `a maxDist ´e N (p, maxDist) = {ci|ci ´e um candidato e ∃q ∈ ci, dist(p, q) ≤ maxDist}.

Aqui ´e considerada a vizinhan¸ca espacial, porque o interesse ´e em todos os candidatos que se movem juntos. A figura 3 mostra um exemplo de vizinhan¸ca. A vizinhan¸ca do ponto p s˜ao os candidatos c1 e c3, porque esses dois candidatos tˆem pelo menos um ponto dentro do raio de tamanho maxDist com centro em p. O ponto q n˜ao tem nenhum candidato em um raio de tamanho maxDist, ent˜ao sua vizinhan¸ca ´e o conjunto vazio. Pode-se concluir que no ponto p, c2estava se movendo com c1 e c3 (mesmo caminho), mas no ponto q, c2 estava se movendo distante de c1e c3 (caminhos diferentes).

Quando cada ponto de um candidato tem um n´umero de can-didatos na sua vizinhan¸ca que ´e maior ou igual `a um patamar para o suporte m´ınimo, chamado minSup, ent˜ao esse candidato ´e chamado de standard. Em outras palavras, o minSup ´e a quantidade m´ınima de vizinhos de cada ponto de um candidato para que ele seja um standard. Defini¸c˜ao 6 (Standard). Seja c = hp1, p2, ..., pni um candidato, c ´e um

(34)

32

candidato standard com repeito `a maxDist e minSup se e somente se ∀pi ∈ c, |N (pi, maxDist)| ≥ minSup, onde |X| ´e a cardinalidade de X.

A Figura 1 mostra um exemplo de candidatos que s˜ao standards. Os candidatos c2, c3 e c4est˜ao sempre se movendo juntos. Logo, nesse exemplo, existem trˆes candidatos standard considerando minSup=2.

Para Fontes, um outlier s´o pode existir entre um conjunto de candidatos se existir um conjunto de standards. Assim, Fontes define o outlier conforme segue. Um potencial outlier ´e um candidato que tem pelo menos um ponto com a cardinalidade da vizinhan¸ca menor que minSup.

Defini¸c˜ao 7 (Outlier - adaptado de (FONTES et al., 2013)). Seja C o conjunto de candidatos entre duas regi˜oes. Um potential outlier ´e um outlier se ∃c ∈ C|c ´e um standard.

2.2 O ESTADO DA ARTE

Na literatura existem v´arios trabalhos propondo a identifica¸c˜ao de diversos tipos de padr˜oes diferentes em trajet´orias ou com uma nova abordagem para descobrir um mesmo padr˜ao.

Um importante trabalho em padr˜oes de trajet´orias foi proposto em (LAUBE; KREVELD; IMFELD, 2005). Este trabalho compara os atri-butos de movimento das trajet´orias (tais quais velocidade e dire¸c˜ao) ao longo do espa¸co e do tempo. S˜ao definidos quatro tipos de padr˜oes que ficaram muito conhecidos: convergˆencia, encontro, flock e lideran¸ca. A convergˆencia trata de trajet´orias movendo para um mesmo local em uma mesma janela de tempo. O encontro ´e caracterizado por um grupo de trajet´orias que se fizeram presentes em uma mesma regi˜ao em um determinado intervalo de tempo. Nele as trajet´orias devem mesmo es-tar na mesma regi˜ao. O flock ocorre quando as trajet´orias se movem juntas (em um c´ırculo de determinado raio), na mesma dire¸c˜ao, durante um tempo especificado. A lideran¸ca deve ter um grupo de trajet´orias seguindo uma outra, a l´ıder.

A partir deste trabalho surgiram v´arios outros com conceitos se-melhantes, como o padr˜ao proposto por (SIQUEIRA; BOGORNY, 2011). Este ´e similar `a lideran¸ca, mas ´e um conceito de persegui¸c˜ao. Ele in-fere que quando uma trajet´oria t1 est´a pr´oxima no tempo e no espa¸co de uma outra trajet´oria t2, mais adiantada e por um certo per´ıodo de tempo, t1 est´a perseguindo t2. Conceitos semelhantes ao flock de (LAUBE; KREVELD; IMFELD, 2005) tamb´em estiveram presentes no

(35)

mo-33

ving flock de (WACHOWICZ et al., 2011), que encontra flocks associados ao movimento de pedestres, e no moving cluster (KALNIS; MAMOULIS; BAKIRAS, 2005). Enquanto no moving flock o grupo de trajet´orias que

se move junto ´e o mesmo durante todo o padr˜ao, no moving cluster isso n˜ao ´e necessariamente verdade. A ´unica restri¸c˜ao ´e que o grupo mantenha uma densidade m´ınima.

Esses dois ´ultimos trabalhos encontram trajet´orias que se movem juntas e poderiam ser consideradas como seguindo um caminho padr˜ao, uma vez que sempre tˆem sua vizinhan¸ca com um n´umero m´ınimo de elementos. No entanto, os objetos do flock ou do moving cluster devem estar sincronizados durante todo o movimento, enquanto no trabalho aqui proposto um caminho padr˜ao pode existir sem que o movimento dos objetos seja sincronizado.

Ainda sobre caminhos padr˜ao, tem-se o trabalho de (CHEN; SHEN; ZHOU, 2011). Ele prop˜oe um algoritmo para identificar as rotas mais populares em um conjunto de trajet´orias. Para isso, um grafo ´e cons-tru´ıdo. Os n´os s˜ao o primeiro e ´ultimo ponto de cada trajet´oria junta-mente com todas as interse¸c˜oes de caminhos. As arestas s˜ao os poss´ıveis caminhos de um n´o para outro de acordo com o movimento das tra-jet´orias. Para cada n´o ´e calculada a probabilidade dos caminhos a partir dele, chamada probabilidade de transferˆencia. Ela ´e calculada de acordo com o hist´orico de movimentos a partir do n´o e ´e utilizado o modelo de cadeias absorventes de markov. Dadas essas probabilidades, os caminhos padr˜ao s˜ao encontrados.

Outro trabalho para encontrar rotas populares ´e o de (LI et al., 2007). Essas rotas s˜ao descobertas com base na densidade do tr´afego nas ruas, considerando a ordem sequencial do fluxo dos objetos. J´a em (LEE et al., 2011) as trajet´orias s˜ao mapeadas paras as ruas e depois, de acordo com a frequˆencia de uso delas ´e que s˜ao descobertos os caminhos padr˜ao.

Todos esses trabalhos buscam padr˜oes em trajet´orias, mas n˜ao se preocupam com as trajet´orias fora do padr˜ao. Assim como o movi-mento padr˜ao, seguido pela maioria dos objetos, tamb´em podem haver movimentos com poucas ocorrˆencias, ou at´e mesmo ´unicos. Esse tipo de movimento menos comum ´e chamado de outlier.

Um m´etodo de dete¸c˜ao de outliers foi proposto em (KNORR; NG, 1998). Esse n˜ao ´e um trabalho especificamente de trajet´orias, mas foi desenvolvido para detec¸c˜ao de outliers em bancos de dados, podendo ser aplicado tamb´em para trajet´orias. Ele apresenta a no¸c˜ao de outlier baseado em uma fun¸c˜ao de distˆancia, onde os outliers s˜ao as tuplas distantes da maioria das outras do conjunto de dados. A performance

(36)

34

Figura 4 – Exemplo de comportamento avoidance de (ALVARES et al., 2011)

´e analisada de acordo com varia¸c˜oes na composi¸c˜ao dos dados, mas n˜ao h´a nenhuma an´alise posterior dos outliers.

O trabalho de (ALVARES et al., 2011) encontra trajet´orias que desviam de objetos alvo, chamados objetos est´aticos, como cˆameras de seguran¸ca. Como o comportamento esperado ´e cruzar a regi˜ao do objeto, as trajet´orias que desviam dessa regi˜ao s˜ao consideradas outli-ers, mais especificamente, avoidances, caracterizando um movimento suspeito.

Para encontrar o avoidance s˜ao constru´ıdos dois c´ırculos, um maior e um menor em volta de cada objeto alvo, como pode ser visto na figura 4. O c´ırculo menor representa a ´area de cobertura da cˆamera, e o maior representa a regi˜ao de interesse. Objetos que cruzam a regi˜ao menor n˜ao s˜ao considerados outliers, e aqueles que entram na regi˜ao de interesse, mas n˜ao entram na ´area menor s˜ao analisados. Como pode ser visto na figura 4, enquanto a trajet´oria t2n˜ao fez nenhum desvio, t1fez um pequeno desvio pr´oximo ao objeto e t3passou longe, n˜ao chegando nem a entrar na regi˜ao de interesse. Essas considera¸c˜oes s˜ao feitas para avaliar a confian¸ca do padr˜ao, dando mais certeza se foi um desvio intencional ou acidental. Embora haja uma an´alise do avoidance, ele ´e um tipo de outlier entre uma trajet´oria e um objeto est´atico, enquanto o trabalho aqui proposto ´e sobre outliers entre trajet´orias de objetos m´oveis.

Alguns trabalhos foram desenvolvidos especificamente para en-contrar outliers em trajet´orias. Os trabalhos de (LEE; HAN; LI, 2008), de (YUAN et al., 2011) e de (LIU; PI; JIANG, 2013) seguem uma mesma

(37)

35

abordagem. Os trˆes particionam as trajet´orias em subtrajet´orias para encontrar os outliers a partir da similaridade entre as subtrajet´orias. Os outliers s˜ao as trajet´orias que tˆem, pelo menos, uma fra¸c˜ao de um determinado comprimento, pouco similar `as outras. A fun¸c˜ao de simi-laridade sempre considera a posi¸c˜ao e a dire¸c˜ao, mas ´e diferente nos trˆes trabalhos. Na figura 5 s˜ao mostrados os passos usados para encontrar os outliers.

Figura 5 – Detec¸c˜ao de outliers por parti¸c˜ao. Adaptado de (LEE; HAN; LI, 2008).

Em (YUAN et al., 2011) a velocidade tamb´em ´e levada em consi-dera¸c˜ao. O trabalho de (LIU; PI; JIANG, 2013) tem uma abordagem de densidade muito parecida com a de (LEE; HAN; LI, 2008), mas que leva em considera¸c˜ao a quantidade de subtrajet´orias em um determinado raio. Em nenhum dos trabalhos o tempo ´e levado em considera¸c˜ao e nenhum aspecto semˆantico ou interpreta¸c˜ao dos resultados ´e realizada. Enquanto esses ´ultimos trˆes trabalhos procuram por trajet´orias com comportamento diferente de todas as outras (ou todas as outras mais pr´oximas) o trabalho de Fontes (FONTES et al., 2013) buscou, antes

de procurar pelos outliers, separar as trajet´orias que v˜ao de uma regi˜ao para outra. Os outliers encontrados s˜ao apenas nesse trecho entre as duas regi˜oes, com o intuito de procurar outliers entre trajet´orias com interesse ou movimento similar, e n˜ao aleatoriamente na base de dados. O segmento, ou a parte das trajet´orias que se move de uma regi˜ao para outra ´e chamada de candidato. O algoritmo verifica a vizinhan¸ca dos pontos de cada candidato. Ela deve satisfazer um n´umero m´ınimo de trajet´orias para que exista um caminho padr˜ao. Os pontos dos candidatos que n˜ao tˆem a vizinhan¸ca m´ınimo s˜ao considerados outliers. Para que toda a subtrajet´oria entre as regi˜oes seja considerada um

(38)

36

outlier basta que ela tenha um ponto outlier. Al´em disso, ´e realizada uma an´alise dos outliers, para saber, por exemplo, se o outlier foi mais r´apido do que as trajet´orias no caminho padr˜ao. Apesar de tamb´em analisar o tempo, este trabalho n˜ao busca descobrir a raz˜ao do desvio. Um outro m´etodo ´e proposto em (LI et al., 2009). Os trabalhos detalhados anteriormente consideravam, de uma maneira geral, uma trajet´oria como outlier quando ela tinha um caminho, distˆancia ou ˆ

angulo diferente da maioria, ou seja, caracter´ısticas espaciais. A prin-cipal diferen¸ca para estes outros trabalhos ´e que os outliers em (LI et al., 2009) s˜ao temporais, n˜ao geom´etricos ou espaciais. Para isso ele tem como pr´e-requisito a existˆencia de padr˜oes temporais, ou seja, ele uti-liza informa¸c˜ao temporal de todo o banco de dados para encontrar os outliers. A cada instante a similaridade entre um segmento da estrada, de acordo com os ve´ıculos que passam nela, e os outros segmentos ´e ve-rificada e armazenada em vetores de vizinhan¸ca temporal. Os outliers s˜ao calculados baseado na mudan¸ca desses vetores.

O trabalho proposto em (JANEJA; ATLURI; ADAM, 2004) divide o espa¸co em regi˜oes chamadas unidades atˆomicas geo-espaciais. Um exemplo desse tipo de unidade ´e uma cidade. A partir delas s˜ao gera-das vizinhan¸cas em seu entorno (micro vizinhan¸cas). De acordo com a semelhan¸ca entre essas unidades considerando rela¸c˜oes espaciais e semˆanticas, elas s˜ao seletivamente agrupadas em vizinhan¸cas maiores (macro vizinhan¸cas). Finalmente s˜ao feitas associa¸c˜oes entre as tra-jet´orias e todas as macro vizinhan¸cas. Qualquer associa¸c˜ao forte entre uma macro vizinhan¸ca e uma parte de uma trajet´oria que n˜ao est´a na macro vizinhan¸ca indica uma anomalia ou outlier.

Outros trabalhos mais recentes sobre outliers de uma maneira geral s˜ao (GUPTA et al., 2013) e (AGGARWAL, 2013). O primeiro ´e um survey que apresenta um estudo sobre a detec¸c˜ao de outliers de bancos de dados temporais com defini¸c˜oes, t´ecnicas e diversos tipos de dados temporais. O segundo ´e um livro que traz diferentes pontos de vista sobre outliers. Uma vez que ´e um t´opico bastante explorado por v´arias ´

areas como minera¸c˜ao de dados, aprendizagem de m´aquina, estat´ıstica e banco de dados, o livro busca dar uma vis˜ao mais ampla sobre o tema. Os trabalhos apresentados nesta se¸c˜ao basicamente identificam um comportamento comum em trajet´orias, as que seguem um cami-nho similar ou outliers de trajet´orias. No nosso melhor entendimento, nenhum trabalho vai al´em da descoberta dos padr˜oes.

Um outro t´opico de pesquisa que vem se tornando cada vez mais importante ´e a semˆantica. Como semˆantica entende-se qualquer in-forma¸c˜ao que permita interpretar as trajet´orias ou seus

(39)

comportamen-37

tos.

Apesar de haver trabalhos que focam na interpreta¸c˜ao ou adi¸c˜ao de semˆantica aos padr˜oes descobertos, alguns trabalhos tˆem proposto modelos conceituais por exemplo, em (SPACCAPIETRA et al., 2008) e (BOGORNY et al., 2013) e m´etodos para adicionar semˆantica em tra-jet´orias brutas (ALVARES et al., 2011). Em (SPACCAPIETRA et al., 2008) o modelo de stops e moves foi apresentado. Esse modelo define que tra-jet´orias podem ser segmentadas em dois tipos de movimento: os stops e os moves. Basicamente os stops s˜ao as partes em que o objeto m´ovel n˜ao se movimenta e os moves as partes em que o objeto se desloca entre um stop e outro. Geralmente os stops s˜ao mais importantes pois presume-se que se o objeto parou deve haver algum motivo.

No modelo CONSTAnT (BOGORNY et al., 2013) s˜ao definidos os aspectos mais importantes de trajet´orias semˆanticas de uma maneira geral, como por exemplo, o meio de transporte utilizado, o objetivo da trajet´oria e da subtrajet´oria e at´e mesmo informa¸c˜oes sobre o am-biente. Ambos os trabalhos prop˜oem o enriquecimento semˆantico das trajet´orias brutas. No trabalho aqui proposto s˜ao identificados outliers nas trajet´orias e eles ´e que s˜ao interpretados.

No cap´ıtulo seguinte s˜ao apresentados novos conceitos, incluindo uma nova defini¸c˜ao para outlier e um algoritmo para adicionar semˆ anti-ca aos outliers.

(40)
(41)

39

3 DESCOBERTA E INTERPRETAC¸ ˜AO DOS OUTLIERS

O principal objetivo deste trabalho ´e dar significado aos outliers. As raz˜oes para a existˆencia de um outlier s˜ao diversas e podem ser relacionadas a v´arios aspectos.

Ap´os estudos e an´alises sobre quais poderiam ser as raz˜oes que levam um objeto a escolher um caminho diferente da maioria chegou-se aduas situa¸c˜oes:

• devido a existˆencia de algo de interesse do objeto m´ovel fora do caminho mais popular;

• porque o caminho mais popular apresenta alguma caracter´ıstica indesej´avel incentivando o objeto a desviar.

Dessas duas situa¸c˜oes mais gerais chegou-se a trˆes poss´ıveis casos que podem explicar a raz˜ao para o desvio: (a) parada (stop) no desvio, onde o objeto m´ovel teve a inten¸c˜ao de parar em algum lugar fora do caminho padr˜ao, (b) existˆencia de um evento no caminho padr˜ao, que pode ter levado ao desvio e (c) um engarrafamento no caminho padr˜ao no momento do desvio. Esses casos s˜ao chamados de stop outlier, event avoiding outlier e traffic avoiding outlier, respectivamente. Eles s˜ao mutuamente excludentes e foram apresentados na ordem de prioridade. N˜ao se afirma, de maneira nenhuma, que esses sejam os ´unicos casos poss´ıveis. Outra possibilidade de an´alise, mais complexa, seria a escolha de um caminho por preferˆencia pessoal, seja por causa da vista, das condi¸c˜oes da estrada ou qualquer outro motivo. No entanto este trabalho se at´em aos trˆes casos citados.

Para um melhor entendimento dos outliers e de cada possibili-dade considerada para o desvio s˜ao definidos uma s´erie de conceitos necess´arios para a compreens˜ao de cada um dos trˆes casos. Todos eles s˜ao detalhados na pr´oxima se¸c˜ao.

3.1 DEFINIC¸ ˜OES PRELIMINARES

Antes de entrar em detalhes dos trˆes casos de outliers alguns conceitos s˜ao introduzidos. Ao se mover de uma regi˜ao para outra os objetos podem utilizar v´arios caminhos. Dentre eles, ´e poss´ıvel que haja mais do que um caminho seguido pela maioria dos objetos. Logo, faz-se necess´ario descobrir mais algumas informa¸c˜oes sobre os caminhos, como

(42)

40

de qual caminho o outlier desviou ou quais s˜ao os standards de cada caminho. Para viabilizar esse entendimento, s˜ao definidos os conceitos de caminho padr˜ao, outlier e outlier segment.

Para definir o caminho padr˜ao ´e necess´ario saber quais trajet´orias est˜ao em um mesmo caminho. Esses conceitos mais b´asicos tais quais o diretamente conectado e o alcan¸c´avel, foram baseados no DBSCAN (ESTER et al., 1996).

Defini¸c˜ao 8 (Diretamente Conectado). Um standard d est´a direta-mente conectado a um standard e com rela¸c˜ao `a maxDist se ∀pi ∈ d, e ∈ N (pi, maxDist).

Para um standard estar diretamente conectado `a outro, todos os seus pontos devem ter este outro standard como vizinho. J´a para ser alcan¸c´avel deve haver uma sequˆencia de standards entre eles em que cada um est´a diretamente conectado com o seguinte.

Defini¸c˜ao 9 (Alcanc´avel). Um standard d ´e alcan¸c´avel de um stan-dard e com rela¸c˜ao `a maxDist se h´a um encadeamento de standards d1, d2, ..., dn onde d1= e, dn = d tal que di+1 ´e diretamente conectado `

a di.

Um standard pode ser diretamente conectado ou alcan¸c´avel a outro standard. Quando um conjunto de dois ou mais standards em que cada standard ´e alcan¸c´avel a partir de qualquer outro pode-se definir um caminho padr˜ao.

Defini¸c˜ao 10 (Caminho Padr˜ao). Seja D o conjunto de standards indo da regi˜ao R1 para a regi˜ao R2. Um caminho padr˜ao H com respeito `a maxDist ´e um subconjunto n˜ao-vazio de D satisfazendo as seguintes condi¸c˜oes:

• ∀d, e ∈ D: se d ∈ H e e ´e alcan¸c´avel de d com respeito `a maxDist, ent˜ao e ∈ H.

• ∀d, e ∈ H: d ´e alcan¸c´avel de e com respeito `a maxDist.

Enquanto em (FONTES et al., 2013) um candidato ´e um outlier quando um ponto n˜ao tem o n´umero m´ınimo de vizinhos, neste trabalho ele s´o ´e considerado um outlier quando o desvio do caminho padr˜ao tem pelo menos um determinado comprimento. Isso se deve ao fato do GPS ser impreciso e poder registrar alguns pontos mais distantes erroneamente, gerando um desvio inexistente. Outra raz˜ao para essa mudan¸ca ´e que dessa forma ´e poss´ıvel eliminar desvios menores e obter

(43)

41

apenas desvios maiores, permitindo ao usu´ario definir o tamanho dos desvios que se deseja analisar. Logo, o conceito de outlier ´e redefinido de modo a existir um comprimento m´ınimo para o desvio, chamado minLength.

Defini¸c˜ao 11 (Outlier). Sejam R1 e R2 duas regi˜oes e C o conjunto dos candidatos de R1 `a R2. Um candidato o ∈ C ´e um outlier com respeito `a maxDist, minSup e minLength se ∃c ∈ C tal que c ´e standard e ∃s e s = hpi, pi+1, . . . , pni ´e uma subtrajet´oria de o tal que ∀pk ∈ s |N (Pk, maxDist)| < minSup e P

n−1

j=i dist(pj, pj+1) > minLength.

A figura 6 mostra um exemplo de outlier. Considerando min-Length de 20%, θ1 n˜ao ´e um outlier segment, pois n˜ao representa 20% do comprimento do candidato. J´a o segundo desvio ´e maior do que 20% do comprimento de candidato, logo o ele ´e considerado um outlier. Para que seja poss´ıvel interpretar o significado de um outlier considera-se mais importante analisar apenas a subtrajet´oria do outlier que fez o desvio, ao inv´es do candidato inteiro. Analisando s´o o desvio ´

e poss´ıvel ver se naquele trecho h´a algo de interesse para o motorista que possa motivar uma troca no caminho que o motorista estava se-guindo. Do mesmo modo, o caminho desviado tamb´em pode ter algo indesej´avel ao motorista, provocando o desvio. A figura 6 mostra um exemplo de outlier onde as subtrajet´orias de p1 at´e p7 e de q1 at´e q14 ser˜ao analisadas, pois correspondem ao desvio. Estas subtrajet´orias s˜ao chamadas de outlier segments.

Figura 6 – Exemplo de outlier segments.

Defini¸c˜ao 12 (Outlier Segment). Seja o um outlier. Seja s = hpi, pi+1, ..., pni uma subtrajet´oria de o. s ´e um outlier segment com res-peito `a maxDist, minSup, e minLength se ∀pk ∈ s, | N (pk, maxDist) | < minSup e | N (pi−1, maxDist) | ≥ minSup e | N (pn+1, maxDist) | ≥ minSup ePn−1

(44)

42

No exemplo da figura 6, se minLength ´e definido como 5%, am-bos θ1 e θ2 s˜ao outlier segments. Caso minLength, por exemplo, seja definido como 20%, somente θ2ser´a um outlier segment.

Com os outlier segments definidos ´e poss´ıvel tentar interpret´a-los olhando para os stops, engarrafamentos e eventos nos arredores desses segmentos. Isso ´e detalhado nas se¸c˜oes seguintes.

3.1.1 Stop Outliers

Um stop outlier ocorre quando o objeto m´ovel parou por algum tempo durante o desvio. Isso se deve a um prov´avel compromisso ou alguma atividade fora do caminho padr˜ao. Esse ´e um desvio intencional com um motivo. Algumas possibilidades bem comuns para este caso s˜ao fazer compras ou buscar os filhos na escola depois do trabalho, ir para um happy hour com amigos, passar em uma padaria, visitar um amigo ou parente, ir a uma reuni˜ao de trabalho. Quando esses objetivos est˜ao fora do caminho padr˜ao eles podem ser raz˜oes para os outliers. Neste trabalho o objetivo ´e descobrir se o objeto m´ovel realizou uma parada durante o desvio, e n˜ao descobrir o que o objeto fez durante o desvio.

Para descobrir se um outlier tem um stop ´e preciso olhar para os stops, n˜ao em toda a trajet´oria ou candidato, mas apenas na sub-trajet´oria que corresponde ao desvio propriamente dito, ou seja, no outlier segment. Um stop ´e uma subtrajet´oria com velocidade pr´oxima de zero por um per´ıodo m´ınimo de tempo (minTime). ´E considerada uma velocidade pr´oxima de zero de um stop e n˜ao zero porque, devido a imprecis˜oes no GPS, n˜ao ´e comum ter pontos exatamente com as mesmas coordenadas, mesmo que o objeto esteja parado.

O stop foi inicialmente definido em (SPACCAPIETRA et al., 2008), por´em cada trabalho se utiliza dele de acordo com suas especificidades. Baseado na defini¸c˜ao de stop de (PALMA et al., 2008), tem-se a defini¸c˜ao de stop a seguir.

Defini¸c˜ao 13 (Stop). Seja θ um outlier segment. Uma subtrajet´oria s ⊆ θ, s = hp1, p2, ..., pni ´e um stop de θ com respeito `a minT ime e maxSpeed se tn− t1≥ minT ime e

P

dist(pi,pi+1)

tn−t1 ≤ maxSpeed

Uma vez definida uma parada numa trajet´oria ´e poss´ıvel definir uma parada em um outlier.

Defini¸c˜ao 14 (Stop Outlier). Um outlier segment θ ´e um stop outlier se e somente se ele tem um stop.

(45)

43

Na se¸c˜ao seguinte ´e detalhado o event avoiding outlier.

3.1.2 Event Avoiding Outliers

O stop outlier ´e o caso mais simples de outlier. O segundo caso ´

e bem mais complexo. Um event avoiding outlier ´e um desvio do ca-minho padr˜ao ocasionado por um evento nas proximidades do caminho padr˜ao. A complexidade come¸ca com a possibilidade da existˆencia de mais de um caminho padr˜ao conectando as duas regi˜oes no mesmo sen-tido, como mostrado na figura 7 (esquerda). Ainda ´e poss´ıvel que dois caminhos padr˜ao comecem juntos e se separem depois, como mostrado na figura 7 (direita).

Figura 7 – Exemplos de caminhos padr˜ao de R1para R2.

Um outlier ´e um event avoiding outlier quando o caminho padr˜ao tem um evento pr´oximo, na ´area em que o outlier fez o desvio desse caminho. No entanto, descobrir se o caminho padr˜ao tem um evento em suas adjacˆencias n˜ao ´e uma tarefa trivial. N˜ao podemos simples-mente olhar se existe um evento em qualquer parte do caminho padr˜ao. Para um outlier ter um desvio de um evento no caminho padr˜ao ´e necess´ario analisar apenas a parte do caminho que foi desviada pelo outlier segment. Desse modo, ´e necess´ario primeiro descobrir qual ca-minho padr˜ao o outlier segment evitou. Depois ´e preciso encontrar os segmentos correspondentes ao caminho padr˜ao que o outlier desviou, j´a que o evento deve estar nos arredores desses segmentos apenas.

Como pode haver mais de um caminho padr˜ao conectando duas regi˜oes, o caminho padr˜ao mais pr´oximo do outlier no momento do desvio ´e considerado o caminho padr˜ao desviado. A figura 8 ilustra dois exemplos onde os outlier segments θ1e θ2desviaram de conjuntos diferentes de segmentos do mesmo caminho padr˜ao. Os segmentos em um caminho padr˜ao que o outlier desviou s˜ao chamados de standard segments.

Defini¸c˜ao 15 (Standard Segment). Seja o um outlier, θ = hp1, p2, . . . , pni um outlier segment de o, p0 o ponto de o imediatamente antes

(46)

44

Figura 8 – Exemplo de standard segments.

de p1, pn+1o ponto de o imediatamente depois pn e d um standard no mesmo caminho de p0e pn+1. Uma subtrajet´oria s = hpk, . . . , pli de d ´e um standard segment de θ se e somente se s ⊂ d e pk = closest(p0, d) ∧ |s| < |d| ∧ pl = closest(pn+1, d), onde closest(p, c) ´e uma fun¸c˜ao que retorna o ponto de um candidato c mais pr´oximo de p. Se p0 n˜ao existir, ent˜ao pk ´e o primeiro ponto de d. Se pn+1n˜ao existir, ent˜ao pl ´e o ´ultimo ponto de d.

Um evento pode ser qualquer coisa que afeta o movimento na regi˜ao do caminho padr˜ao como um show, um acidente ou uma ma-nifesta¸c˜ao. ´E representado por sua regi˜ao (geometria) de efeito e os tempos nos quais o efeito come¸ca e termina. O efeito de um evento ´e sua influˆencia na movimenta¸c˜ao dos objetos m´oveis a sua volta. Defini¸c˜ao 16 (Evento). Um evento e ´e uma tripla hR, t0, tfi, onde R ´e uma regi˜ao, e t0e tf s˜ao os tempos de in´ıcio de fim, respectivamente. Eventos s˜ao informa¸c˜oes que devem ser pr´e cadastradas no banco de dados. Eles podem estar contidos na base, podem ser obtidos atrav´es de pesquisa e tamb´em podem ser descobertos por um processo au-tom´atico. Um exemplo de um meio para descobrir eventos seria atrav´es do uso de redes sociais na regi˜ao onde as trajet´orias foram coletadas, como o twitter.

Em um event avoiding outlier, o outlier segment n˜ao deve inter-sectar o evento, e o tempo do outlier segment deve interinter-sectar o tempo do evento. No entanto, o evento deve intersectar espacialmente o stan-dard segment, como mostrado na figura 9. Al´em disso, deve haver um standard segment sincronizado com o outlier para garantir que o cami-nho padr˜ao n˜ao estava bloqueado durante o desvio. Todos os standard

(47)

45

Figura 9 – Exemplo de um event avoiding outier.

segments com tempo pr´oximo ao outlier segment no momento inicial do desvio s˜ao chamados de synchronized standard segments. Obser-vando a figura 10, considere que o outlier theta2iniciou `as 15:15 e que trˆes standard segments (em preto) tˆem tempo inicial de 15:10. Con-siderando um timeTol de 10 minutos, os trˆes standard segments que iniciaram `as 15:10 s˜ao considerados sincronizados com o outlier seg-ment. No entanto, o standard segment em azul, que teve in´ıcio `as 15:03 n˜ao ´e considerado sincronizado com theta2

Defini¸c˜ao 17 (Synchronized Standard Segment). Seja D um conjunto de standard segments do outlier segment θ se movendo no mesmo cami-nho padr˜ao. Uma subtraject´oria s ´e um synchronized standard segment com respeito `a θ quando s ∈ D e abs(s.t − θ.t) ≤ timeT ol, onde s.t e θ.t representa o tempo do primeiro ponto de s e θ, respectivamente.

Quando h´a pelo menos um standard segment que intersecta um evento, mas o outlier segment correspondente n˜ao o intersecta, e h´a uma sobreposi¸c˜ao entre os tempos do outlier segment e do evento, ent˜ao o outlier segment ´e chamado de event avoiding outlier.

Defini¸c˜ao 18 (Event Avoiding Outlier). Seja e = hRe, te0, tefi um

evento. Seja d um standard segment, θ um outlier segment que desvia de d, tθ0 o instante do in´ıcio de θ. O outlier segment θ ´e um event

avoiding outlier se, e somente se, ele n˜ao ´e um stop outlier e Re∩ d 6= ∅ ∧ Re∩ θ = ∅ ∧ (te0 < tθ0 < tef).

(48)

46

Figura 10 – Standard segment sincronizado destacado.

3.1.3 Traffic Avoiding Outlier

O terceiro caso de poss´ıvel justificativa para um desvio ´e o outlier estar desviando de um congestionamento no caminho padr˜ao. Normal-mente, engarrafamentos nos principais caminhos ou ruas de uma cidade s˜ao bem conhecidos pela maioria das pessoas, principalmente nas ho-ras de pico. Entretanto, objetos podem seguir o caminho padr˜ao de qualquer modo, enquanto outros podem pegar caminhos alternativos que tamb´em levem ao seu destino. Desse modo, busca-se por tr´afego lento no caminho padr˜ao no momento em que ocorre um outlier seg-ment. Aqui o outlier segment n˜ao pode ter parado nem deve existir um evento nas proximidades do caminho padr˜ao.

Neste tipo de outlier segment s˜ao analisados os standard seg-ments sincronizados e n˜ao sincronizados, onde os n˜ao sincronizados ser˜ao analisados para ver as condi¸c˜oes do trˆansito naquele caminho em tempos diferentes do tempo da ocorrˆencia do outlier segment. A fi-gura 10 mostra um exemplo do outlier θ2e os respectivos synchronized e non-synchronized standard segments.

Para cada outlier segment, a m´edia da velocidade de todos os syn-chronized standard segments no mesmo caminho padr˜ao ´e comparada `a m´edia da velocidade dos non-synchronized standard segments do mesmo caminho. Dessa maneira, ´e poss´ıvel saber se no momento do desvio o trˆansito estava mais lento do que em outros per´ıodos. Considera-se que h´a um congestionamento quando a m´edia da velocidade dos synchroni-zed standard segments ´e menor que a metade da m´edia da velocidade dos 5% non-synchronized standard segments mais r´apidos. S˜ao utiliza-dos os 5% mais r´apidos para amenizar particularidades de apenas uma ocorrˆencia. Por exemplo, o ve´ıculo mais r´apido da via podia estar em

(49)

47

uma situa¸c˜ao emergencial, e por isso foi muito mais r´apido que os de-mais. O c´alculo ´e feito apenas com os mais r´apidos porque pode ser que haja trˆansito em outros momentos. Utilizando os mais r´apidos tem-se o comportamento daquele trecho com a via o mais livre poss´ıvel. Defini¸c˜ao 19 (Traffic Avoiding Outlier). Seja θ um outlier segment, M o conjunto dos synchronized standard segments com θ e N sendo o con-junto dos 5% non-synchronized standard segments mais r´apidos desvia-dos por θ. θ ´e um traffic avoiding outlier se, e somente se, n˜ao ´e um stop outlier nem um event avoiding outlier e avgSpeed(M )/avgSpeed(N ) ≤ 0.5.

Uma trajet´oria pode ter muitos outlier segments e cada um deles ´

e interpretado independentemente. Isso significa que um outlier com trˆes ou mais outliers segments pode ter todos os trˆes tipos.

Nesta se¸c˜ao foram apresentadas as defini¸c˜oes necess´arias para, ap´os identificado um outlier, ser poss´ıvel classific´a-lo semanticamente. Na pr´oxima se¸c˜ao ´e apresentado um algoritmo para interpretar os ou-tliers.

3.2 PROPOSTA DE UM ALGORITMO PARA INTERPRETAR OS OUTLIERS

A partir das defini¸c˜oes apresentadas no decorrer deste trabalho foi implementado um algoritmo para encontrar e interpretar os outliers automaticamente. Como dito, este trabalho ´e uma extens˜ao do trabalho proposto em (FONTES et al., 2013). Logo, a parte inicial na qual os candidatos e outliers s˜ao descobertos ´e a mesma.

O pseudo c´odigo apresentado no Algoritmo 3.1 ilustra a extens˜ao do algoritmo de Fontes, e at´e a linha 25 ele se mant´em igual. A entrada ´

e composta pelo conjunto de trajet´orias T, o conjunto de regi˜oes R, a distˆancia m´axima para a vizinhan¸ca de um ponto maxDist, o n´umero m´ınimo de vizinhos para existir um caminho padr˜ao minSup, o compri-mento m´ınimo para que o desvio seja considerado um outlier segment minLength, o conjunto de eventos E, o tempo m´ınimo de uma parada minT ime e o timeT ol que ´e a maior diferen¸ca de tempo permitida entre um synchronized standard segment e o outlier segment correspondente. A sa´ıda ´e o conjunto de outlier segments classificados.

(50)

48

Algoritmo 3.1 – Pseudo c´odigo Principal 1 I n p u t : 2 T ; // c o n j u n t o de t r a j e t ´o r i a s 3 R ; // c o n j u n t o de r e g i ˜o e s 4 m a x D i s t ; // d i s t ˆa n c i a m´axima 5 m i n S u p ; // n´umero m´ınimo de v i z i n h o s 6 m i n L e n g t h ; // d i s t ˆa n c i a m´ınima p e r c o r r i d a no d e s v i o 7 E ; // c o n j u n t o de e v e n t o s

8 m i n T i m e ; // tempo m´ınimo para s e r c o n s i d e r a d o um s t o p 9 t i m e T o l ; // tempo para o s s y n c h r o n i z e d s t a n d a r d s e g m e n t s 10 11 Output : 12 S O ; // c o n j u n t o d o s s t o p o u t l i e r s 13 E A O ; // c o n j u n t o d o s e v e n t a v o i d i n g o u t l i e r s 14 T A O ; // c o n j u n t o d o s t r a f f i c a v o i d i n g o u t l i e r s 15 16 Method : 17 FOR EACH ( o r i g i n , d e s t i n a t i o n ) e m R { 18 o u t = ∅ ; 19 o u t S e g = ∅ ; 20 S O = ∅ ; 21 E A O = ∅ ; 22 T A O = ∅ ; 23 24 C = f i n d C a n d i d a t e s ( T , o r i g i n , d e s t i n a t i o n ) ; 25 S t a n d a r d P o i n t s = f i n d S t a n d a r d s ( C , m a x D i s t , m i n S u p ) ; 26 o u t l i e r s A n d S e g s = f i n d O u t l i e r s ( S t a n d a r d P o i n t s , m i n L e n g t h ) ; 27 o u t . a d d ( o u t l i e r s A n d S e g s . g e t O u t l i e r s ( ) ) ; 28 o u t S e g . a d d ( o u t l i e r s A n d S e g s . g e t O u t l i e r S e g m e n t s ( ) ) ; 29 s t d S e g = f i n d S t a n d a r d S e g m e n t s ( o u t S e g , s t d , m a x D i s t ) ; 30 S O = f i n d S t o p O u t l i e r ( o u t S e g , m i n t i m e ) ; 31 o u t S e g = o u t S e g − S O ; 32 E A O = f i n d E A O ( o u t S e g , s t d S e g , E , S O ) ; 33 o u t S e g = O u t S e g s − S O − E A O ; 34 T A O = f i n d T A O ( o u t S e g , s t d S e g , SO , E A O , t i m e T o l ) ; 35 } 36 37 return SO , E A O , T A O ;

Primeiramente s˜ao computados os candidatos que se movem da regi˜ao origem para a regi˜ao destino (linha 24). Isto ´e feito verificando a interse¸c˜ao de cada trajet´oria com as regi˜oes, considerando apenas a menor subtrajet´oria com um ponto em cada regi˜ao. Uma vez que os candidatos j´a s˜ao conhecidos o algoritmo procede para determinar os standards e os outliers. A fun¸c˜ao que encontra os standards (linha 25) verifica a quantidade de vizinhos de todos os pontos de cada candidato. Se nenhum ponto tiver menos que minSup vizinhos, ent˜ao o candidato ´e considerado um standard. At´e esta linha o procedimento ´e igual ao proposto em (FONTES et al., 2013), por´em nele todos os candidatos que n˜ao eram standards eram considerados outliers. Portanto a partir da linha 26 come¸ca a parte estendida com a fun¸c˜ao findOutliers(). Nela foram adicionados dois passos: a identifica¸c˜ao dos outlier segments e o teste de seu comprimento, j´a que apenas desvios com certo compri-mento (minLength)s˜ao considerados. Logo, esta fun¸c˜ao agora encontra

(51)

49

os outliers e os outlier segments, caso haja algum standard.

A fun¸c˜ao findStopOutlier() (linha 30) calcula os stop outliers ve-rificando se cada outlier segment tem um stop por pelo menos minTime. Se o outlier segment tem um stop, ele ´e adicionado `a lista de stop outli-ers. Para a obten¸c˜ao dos stop outliers utiliza-se o CB-SMoT proposto em (PALMA et al., 2008) como subrotina, que, como explicado no estado da arte, encontra stops em trajet´orias baseando-se na velocidade.

Algoritmo 3.2 – findEAO pseudo c´odigo 1 I n p u t : 2 o u t S e g ; // c o n j u n t o d o s o u t l i e r s e g m e n t s 3 s t d S e g ; // c o n j u n t o d o s s t a n d a r d s e g m e n t s de cada o u t S e g 4 E ; // c o n j u n t o d o s e v e n t s 5 6 Output : 7 E A O ; // c o n j u n t o d o s e v e n t a v o i d i n g o u t l i e r s 8 9 Method : 10 FOR EACH o i n o u t S e g { 11 S = s t d S e g . g e t S t a n d a r d S e g m e n t s ( o ) ; 12 E ’ = g e t I n t e r s e c t i o n ( S , E ) ; 13 FOR EACH e i n E ’ { 14 IF ( e != N U L L && ! h a s I n t e r s e c t ( o , e ) && t i m e O v e r l a p s ( o , e ) ) { 15 o . a d d A v o i d e d E v e n t ( e ) ; 16 IF ( o n o t i n E A O ) { 17 E A O . a d d ( o ) ; 18 } 19 } 20 } 21 } 22 23 return E A O ;

As fun¸c˜oes findEAO() (linha 32) e findTAO() (linha 34) s˜ao de-talhadas nos algoritmos 3.2 e 3.3, respectivamente. Elas consistem basicamente em encontrar os event avoiding outliers e traffic avoiding outliers, respectivamente.

Para encontrar event avoiding outliers o primeiro passo antes do algoritmo 3.2 ´e encontrar todos os outlier segments sem stop (linha 31, algoritmo 3.1), que ´e passado como entrada do algoritmo 3.2. As outras entradas s˜ao o conjunto de standard segments de cada outlier segment stdSeg e o conjunto dos eventos E.

Os event avoiding outliers s˜ao caracterizados por um evento no caminho padr˜ao desviado, ou seja, nos standard segments. Logo, para cada outlier segment, o algoritmo obt´em os standard segments (linha 11) de acordo com a defini¸c˜ao 15 e verifica a interse¸c˜ao com o conjunto de eventos (linha 12). Entretanto, o evento deve ter interse¸c˜ao apenas com os standard segments, mas n˜ao com o outlier segment. Para isso, o conjunto de eventos que tem interse¸c˜ao com os standard segments

(52)

50

s˜ao analisados um a um (linha 13). A primeira parte (linha 14) dessa an´alise ´e para verificar essas condi¸c˜oes de interse¸c˜ao com os standard segments, ausˆencia de interse¸c˜ao com o outlier segment e, al´em dessas, se o evento estava ocorrendo no momento do desvio. Se esse for o caso tem-se de fato um event avoiding outlier, e o evento ´e marcado como desviado por aquele outlier (linha 15). Caso o outlier segment ainda n˜ao tenha sido adicionado ao conjunto de event avoiding outliers devido a outro evento (linha 16), ele ´e adicionado (linha 17).

Algoritmo 3.3 – findTAO pseudo c´odigo 1 2 I n p u t : 3 o u t S e g ; // c o n j u n t o d o s o u t l i e r s e g m e n t s 4 s t d S e g ; // c o n j u n t o d o s s t a n d a r d s e g m e n t s 5 t i m e T o l ; // tempo para o s s y n c h r o n i z e d s t a n d a r d s e g m e n t s 6 7 Output : 8 T A O ; // s e t o f t r a f f i c a v o i d i n g o u t l i e r s 9 10 Method : 11 FOR EACH o i n o u t S e g { 12 s y n c = s t d S e g . g e t S y n c S t a n d a r d S e g m e n t s ( o , t i m e T o l ) ; 13 n o t S y n c = s t d S e g . g e t N o n S y n c S t a n d a r d S e g m e n t s ( o , t i m e T o l ) ; 14 IF ( a v g t i m e ( s y n c . t i m e ) < a v g t i m e ( n o t S y n c . t i m e ) ∗ 0 . 5 ) { 15 T A O . a d d ( o ) ; 16 } 17 } 18 19 return T A O ;

A fun¸c˜ao findTAO() ´e mostrada no algoritmo 3.3. Antes de sua execu¸c˜ao s˜ao removidos do conjunto de outlier segments os que foram classificados como stop outliers ou event avoiding outliers (linha 33, algoritmo 3.1) para este ser passado como entrada. Al´em do outSeg, o algoritmo tamb´em recebe o conjunto dos standard segments stdSeg e o tempo de tolerˆancia para que um standard segment esteja sincronizado com o respectivo outlier segment timeTol.

O algoritmo busca os standard segments que est˜ao sincronizados (linha 12, de acordo com a defini¸c˜ao 17) e os que n˜ao est˜ao sincro-nizados (linha 13). Para os n˜ao sincronizados o algoritmo considera 5% dos standard segments mais r´apidos. Desse modo, pode-se obter a velocidade do caminho quando n˜ao h´a trˆansito. Em seguida, o al-goritmo compara a velocidade m´edia de ambos os standard segments sincronizados e n˜ao sincronizados, e infere se h´a um congestionamento naquele momento (linha 14). Quando a dura¸c˜ao m´edia dos synchro-nized standard segments ´e no m´aximo 50% da m´edia do conjunto dos n˜ao sincronizados, diz-se que houve trˆansito ou congestionamento no caminho padr˜ao, e ent˜ao o outlier segment ´e classificado como traffic

(53)

51

avoiding outlier.

Neste cap´ıtulo foi apresentado o pseudo c´odigo do algoritmo pro-posto neste trabalho. Esse algoritmo foi utilizado para desenvolver uma s´erie de experimentos apresentados no pr´oximo cap´ıtulo.

(54)
(55)

53

4 EXPERIMENTOS

Para avaliar o m´etodo proposto foram realizados experimentos com dois conjuntos de dados distintos. Um dos conjuntos s˜ao trajet´orias reais de t´axis coletadas em S˜ao Francisco, Calif´ornia, adquirido na in-ternet (CRAWDAD, 2013) e o outro foi gerado pelos autores na cidade de Florian´opolis com a finalidade de validar o m´etodo. Desse modo, sabe-se exatamente de cada outlier do segundo conjunto.

O c´odigo do algoritmo foi desenvolvido em java atrav´es da IDE Eclipse (Eclipse Foundation, 2013). Os dados foram armazenados no banco de dados Postgres com a extens˜ao PostGIS (Refractions Research, 2013). Os resultados s˜ao apresentados usando uma variadade de softwa-res, dentre eles o Quantum GIS (Quantum GIS Development Team, 2013), sua extens˜ao para o Open Street Maps (WIKI, 2013) e o Open Jump ( Ste-fan Steiniger, Landon Blake, 2013). O Google Maps (Google, INEGI, 2014) tamb´em foi bastante ´util.

Todos os experimentos foram realizados em um computador ro-dando o Mac OS 10.9.2. Ele possui um processador de 2 GHz, Intel Core i7, com 8 GB de mem´oria ram de 1600MHz.

Nas se¸c˜oes seguintes est˜ao os experimentos com essas duas bases de dados. Eles foram divididos em duas subse¸c˜oes, uma para cada conjunto de dados utilizado. Em ambos s˜ao mostrados os casos de outliers encontrados. Primeiramente, s˜ao apresentados os resultados no conjunto de dados de Florian´opolis.

4.1 CONJUNTO DE DADOS DE FLORIAN ´OPOLIS

Essa base de dados foi gerada na cidade de Florian´opolis, Santa Catarina, iniciada em 6 de setembro e terminada no dia 3 de outubro de 2013. Nesse conjunto, por ter sido gerado pelo pr´oprio grupo de pesquisa, tem-se o conhecimento dos outliers e de sua classifica¸c˜ao. Portanto, estes experimentos validam a corretude da implementa¸c˜ao do m´etodo. Com o aux´ılio de alguns GPS foram coletadas as trajet´orias de casa `a Universidade Federal de Santa Catarina (UFSC) e a volta para casa por v´arios dias da semana. Caminhos padr˜ao diferentes, uma parada e um engarrafamento est˜ao presentes nessas trajet´orias.

Os dados foram coletados por um per´ıodo de 1 mˆes, com o total de 90000 pontos, aproximadamente e 114 trajet´orias. Os pontos foram coletados a cada segundo, em sua maioria. As trajet´orias desse conjunto

(56)

54

est˜ao respresentadas na figura 11.

Figura 11 – Representa¸c˜ao do conjunto de dados de Florian´opolis no Quantum GIS (Quantum GIS Development Team, 2013) com o Open Street Maps (WIKI, 2013).

Este experimento busca validar o m´etodo quando se sabe exata-mente que semˆantica os outlier segments devem ter e onde eles ocorre-ram. Desse modo, ´e poss´ıvel verificar se o algoritmo atribui a semˆantica correta aos outliers identificados.

As regi˜oes de interesse s˜ao a UFSC e uma pequena ´area no centro da cidade que engloba a residˆencia das pessoas envolvidas na atividade de gravar as trajet´orias. A figura 12 ilustra essas regi˜oes em forma de c´ırculo e tamb´em os candidatos existentes, 35 no total, para as tra-jet´orias se movendo da UFSC at´e a regi˜ao da casa dos pesquisadores. Pode-se perceber a existˆencia de dois caminhos padr˜ao, um por cima, contendo 31 candidatos sobrepostos, e um por baixo, contendo 4 can-didatos sobrepostos. O de baixo possui um t´unel, e por isso h´a uma falha na coleta dos pontos, mas isso n˜ao afetou o resultado do m´etodo. Com a existˆencia de dois caminhos padr˜ao entre as mesmas regi˜oes, foi poss´ıvel validar que o m´etodo encontra corretamente os standard

(57)

55

Figura 12 – Caminhos padr˜ao da UFSC `a residˆencia.

segments, ou seja, o caminho padr˜ao desviado pelos outlier segments. O resultado esperado para este experimento ´e exibido na fi-gura 13. S˜ao dois desvios realizados, O1 e O2 (em preto, os cami-nhos padr˜ao s˜ao os dois caminhos mais claros), sendo o primeiro feito por duas trajet´orias e ocasionado por um congestionamento, caracteri-zando um traffic avoiding outlier. O segundo desvio foi uma parada no shopping, caracterizando um stop outlier.

Neste experimento foi considerado 30 metros para maxDist (dis-tˆancia m´axima para a vizinhan¸ca de um ponto), pois, a coleta de pontos foi a cada segundo, ent˜ao n˜ao ´e necess´ario um raio muito grande para a vizinhan¸ca. O minSup foi de 10% do total de candidatos (o que corresponde a 3 candidatos) para detectar ambos os caminhos padr˜ao pelo norte e pelo sul e o minLength de 5%, ignorando apenas desvios realmente muito pequenos j´a que o stop outlier n˜ao ´e um desvio longo. Para um minLength de 20%, por exemplo, o outlier segment do stop outlier ´e encontrado.

O minTime foi definido como 1 hora, pois com distˆancias curtas podem haver stops tamb´em mais curtos, e s´o h´a o interesse no stop

(58)

56

Figura 13 – Desvios presentes nos dados da UFSC `a residˆencia.

do shopping que durou aproximadamente 3 horas. Para o timeTol foi utilizado 30 minutos porque sabe-se que o desvio no engarrafamento possuia synchronized standard segments com um valor um pouco maior do que 20 minutos.

O m´etodo encontrou corretamente o stop outlier e os dois traffic avoiding outliers.

A figura 14 mostra o stop outlier O2, em preto, que teve uma dura¸c˜ao de quase 3 horas. Este stop foi uma parada no shopping na volta para casa.

A figura 14 mostra os dois traffic avoiding outliers encontrados e sobrepostos, simbolizados por O1. Ambos aconteceram no mesmo mo-mento e desviaram do mesmo congestionamo-mento. A velocidade dos syn-chronized standard segments foi bem menor que a metade dos n˜ao sin-cronizados mais r´apidos. Os synchronized standard segments tiveram uma m´edia de 13km/h, enquanto os outros foram a cerca de 40km/h, ou seja, um pouco mais de 30%.

N˜ao houve nenhum caso de event avoiding outlier porque esta base n˜ao possui nenhum evento cadastrado. O algoritmo foi capaz de encontrar e classificar corretamente ambos os casos de outlier nessa

(59)

57

Figura 14 – Desvios encontrados da UFSC `a residˆencia.

base de dados, sem nenhum falso positivo. Foi, ent˜ao realizado um outro experimento com uma base de dados reais p´ublicos.

4.2 CONJUNTO DE DADOS DOS T ´AXIS DE S ˜AO FRANCISCO

Esse conjunto de dados s˜ao trajet´orias de t´axi coletadas em S˜ao Francisco, Calif´ornia, entre maio e junho de 2008 (CRAWDAD, 2013). Ele ´e interessante para an´alise de outliers porque motoristas de t´axi, em geral, conhecem v´arios caminhos, permitindo identificar desvios. O objetivo do uso desse conjunto nos experimentos ´e avaliar o uso do m´etodo proposto em bases de dados reais.

Essa base de dados cont´em trajet´orias durante o per´ıodo de um mˆes, totalizando mais de 11 milh˜oes de pontos. A frequˆencia da coleta de pontos pelos GPS dos t´axis varia um pouco, mas se mant´em quase sempre por volta de um ponto por minuto. Esta elevada distˆancia entre os pontos prejudica um pouco a identifica¸c˜ao dos padr˜oes porque pontos muito espa¸cados acarretam ´areas menos densas, e com isso reduz o n´umero de vizinhos necess´arios para classificar as trajet´orias como

(60)

58

standards. A disposi¸c˜ao de grande parte dos pontos sobre as ruas de S˜ao Francisco pode ser vista na figura 15.

Figura 15 – Visualiza¸c˜ao de parte do conjunto de dados dos t´axis no Open Jump (Stefan Steiniger, Landon Blake, 2013).

Uma trajet´oria corresponde ao movimento de um motorista por v´arios dias (existe um identificador para cada motorista, e n˜ao para cada trajet´oria). Isso ocasionou a existˆencia de trajet´orias muito lon-gas, com a dura¸c˜ao de v´arios dias.

Assim, para analisar o comportamento dos motoristas entre as regi˜oes de interesse foi necess´ario subdividir as trajet´orias em v´arias outras. Para isso, Ffi utilizado o atributo de ocupa¸c˜ao, dispon´ıvel no conjunto de dados. Esse atributo diz se o t´axi tem ou n˜ao passageiros. Ent˜ao, ao inv´es de ter uma trajet´oria por motorista, tem-se v´arias tra-jet´orias do mesmo objeto (t´axi). Para obter v´arias trajet´orias do mesmo motorista foi gerada uma nova trajet´oria a cada nova ocupa¸c˜ao. Ainda

Referências

Documentos relacionados

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

A Lei nº 2/2007 de 15 de janeiro, na alínea c) do Artigo 10º e Artigo 15º consagram que constitui receita do Município o produto da cobrança das taxas

Os resultados deste estudo mostram que entre os grupos pesquisados de diferentes faixas etárias não há diferenças nos envoltórios lineares normalizados das três porções do

A nutrição enteral (NE), segundo o Ministério da Saúde do Brasil, designa todo e qualquer “alimento para fins especiais, com ingestão controlada de nutrientes, na forma isolada

Podem treinar tropas (fornecidas pelo cliente) ou levá-las para combate. Geralmente, organizam-se de forma ad-hoc, que respondem a solicitações de Estados; 2)

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Contudo, sendo um campo de pesquisa e de atuação muito específico e novo no Brasil, ainda existe uma série de dificuldades para a eleição de parâmetros de conservação