• Nenhum resultado encontrado

SMAFramework : arcabouço para integração de dados urbanos cientes da correlação espaço-temporal

N/A
N/A
Protected

Academic year: 2021

Share "SMAFramework : arcabouço para integração de dados urbanos cientes da correlação espaço-temporal"

Copied!
58
0
0

Texto

(1)

Universidade Estadual de Campinas Instituto de Computação

INSTITUTO DE COMPUTAÇÃO

Diego Oliveira Rodrigues

SMAFramework: Arcabouço para Integração de Dados

Urbanos Cientes da Correlação Espaço-Temporal

CAMPINAS

2018

(2)

Diego Oliveira Rodrigues

SMAFramework: Arcabouço para Integração de Dados Urbanos

Cientes da Correlação Espaço-Temporal

Dissertação apresentada ao Instituto de Computação da Universidade Estadual de Campinas como parte dos requisitos para a obtenção do título de Mestre em Ciência da Computação.

Orientador: Prof. Dr. Leandro Aparecido Villas

Este exemplar corresponde à versão final da Dissertação defendida por Diego Oliveira Rodrigues e orientada pelo Prof. Dr. Leandro Aparecido Villas.

CAMPINAS

2018

(3)

Agência(s) de fomento e nº(s) de processo(s): CNPq, 132254/2016-6 ORCID: https://orcid.org/0000-0003-2150-567

Ficha catalográfica

Universidade Estadual de Campinas

Biblioteca do Instituto de Matemática, Estatística e Computação Científica Ana Regina Machado - CRB 8/5467

Rodrigues, Diego Oliveira,

R618s RodSMAFramework : arcabouço para integração de dados urbanos cientes da correlação espaço-temporal / Diego Oliveira Rodrigues. – Campinas, SP : [s.n.], 2018.

RodOrientador: Leandro Aparecido Villas.

RodDissertação (mestrado) – Universidade Estadual de Campinas, Instituto de Computação.

Rod1. Cidades inteligentes. 2. Big data. 3. Transporte urbano. I. Villas, Leandro Aparecido, 1983-. II. Universidade Estadual de Campinas. Instituto de

Computação. III. Título.

Informações para Biblioteca Digital

Título em outro idioma: SMAFramework : spatio-temporal urban data integration

framework

Palavras-chave em inglês:

Smart cities Big data

Urban transportation

Área de concentração: Ciência da Computação Titulação: Mestre em Ciência da Computação Banca examinadora:

Leandro Aparecido Villas [Orientador] Leonardo Castro Botega

Daniel Ludovico Guidoni Luiz Fernando Bittencourt Roger Kreutz Immich

Data de defesa: 23-03-2018

Programa de Pós-Graduação: Ciência da Computação

(4)

Universidade Estadual de Campinas Instituto de Computação

INSTITUTO DE COMPUTAÇÃO

Diego Oliveira Rodrigues

SMAFramework: Arcabouço para Integração de Dados Urbanos

Cientes da Correlação Espaço-Temporal

Banca Examinadora:

• Prof. Dr. Leandro Aparecido Villas Universidade Estadual de Campinas • Prof. Dr. Leonardo Castro Botega

Centro Universitário Eurípides de Marília • Prof. Dr. Daniel Ludovico Guidoni

Universidade Federal de São João del-Rei • Prof. Dr. Luiz Fernando Bittencourt

Universidade Estadual de Campinas • Dr. Roger Kreutz Immich

Universidade de Coimbra

A ata da defesa com as respectivas assinaturas dos membros da banca encontra-se no processo de vida acadêmica do aluno.

(5)

Agradecimentos

Agradeço a minha família pela preocupação, compreensão e colaboração, nos momentos oportunos, durante todo o período do mestrado. Várias foram as demonstrações de cari-nho e solidariedade. Sem vocês seria impossível chegar até o fim.

Agradeço ao meu orientador, pessoa quem muito estimo, a oportunidade de estarmos lado a lado trabalhando de uma forma séria, ética e responsável. Foi muito importante trabalhar com quem gosta do que faz e procura fazer bem feito. Além disso, ao CNPq por ter possibilitado e financiado a pesquisa realizada. Agradeço também às outras ins-tituições que financiaram participações em eventos e visitas a outras universidades, bem como os supervisores e amigos que me recebiam durante essas oportunidades.

Agradeço ainda aos colegas e professores do laboratório pelos bons momentos e pela prestimosa ajuda em todas as ocasiões. Enfim, agradeço a todos que ajudaram, ou pro-curaram ajudar, na realização deste trabalho. Por fim, o meu agradecimento especial, Àquele que mais me ajudou, me inspirou, me acolheu em todos os momentos e que nunca faltou quando Dele eu mais precisava. Agradeço ao Espírito Santo de Deus que sempre seja feita a Sua vontade.

(6)

Resumo

Cidades Inteligentes surgem como um tópico que utiliza tecnologia da informação e co-municação em centros urbanos para monitorar suas dinâmicas e possibilitar que serviços prestados aos seus cidadãos possam ser melhorados. Esse monitoramento se dá, por exem-plo, por meio da observação de dados gerados pelos cidadãos nas suas vidas cotidianas. Uma parcela significativa desses dados contém anotações espaço-temporais que podem ser utilizadas para analisar características específicas das cidades como, por exemplo, seus fluxos de mobilidade. Considerando essas características, o presente trabalho propõe a criação do SMAFramework, arcabouço para análise de dados de mobilidade urbana. Para validar o arcabouço com dados do mundo real, este trabalho faz uso de dados de mídias sociais para criar uma metodologia capaz de melhorar o posicionamento de táxis em cidades. Os resultados mostram indícios de que dados de mídias sociais podem ser utilizados como sensores virtuais de concentrações de pessoas em determinados locais, podendo ser usados pelo sistema de transporte urbano. Com o presente trabalho foi pos-sível verificar como diferentes fontes de dados urbanos podem ser relacionadas por meio da correlação espaço-temporal. A proposta foi validada com uso de dados reais de táxis da cidade de Nova Iorque e do Twitter. Além da metodologia de posicionamento de tá-xis, também é apresentada uma metodologia para recomendação de rotas híbridas com transporte público e sistema de táxis a fim de reduzir custo e tempo das viagens devido a congestionamentos. Novamente foram utilizados dados de táxis da cidade de Nova Iorque aliados a dados de fluxos de trânsito coletados por meio do serviço HERE. Foi possível encontrar determinados padrões de viagens nos quais uma rota híbrida pode reduzir o custo e/ou o tempo de viagem, todavia esses valores tem pouco impacto nas viagens de forma geral, o que ocasiona pequenas diferenças nas médias de custo e duração de viagens; mesmo com o pequeno impacto o uso de rotas híbridas ainda é viável como provedor de informações para suporte a escolha da rota a ser praticada.

(7)

Abstract

Smart cities emerge as a topic that applies information and communication technology in urban centers to monitor their dynamics and allow the improvement of services for their citizens. This monitoring occurs, for example, when analyzing data produced by citizens in their daily lives. A significant amount of this data has spatio-temporal annotations, which may be used to analyze the city dynamics, such as the mobility flow. Due to these characteristics, and also the possibilities brought by their use and analysis, this work presents a novel framework, namely SMAFramework, to perform analysis in urban mobility data. We suggest an approach to use social media data to enhance the positioning of taxis within the city to evaluate the framework with real data. The results show that data from location-based social networks may be used as people’s concentration virtual sensor, which can be used by the urban transportation system. The present study shows how different urban data sources can be related using spatio-temporal correlation of three different sources was verified. The proposal was validated using data from the taxi system of the New York City and also data from the Twitter platform. Furthermore, we show an approach to recommend hybrid hybrid routes with public transportation and taxi trips to reduce duration and cost due to traffic congestion. Again, data from New York City were used with traffic data from the HERE API to validate the proposal.

(8)

Lista de Figuras

2.1 Divisão de camadas de uma cidade inteligente [47] . . . 17

2.2 Exemplo de representação da estrutura do Grafo Multi Aspecto . . . 20

3.1 Arquitetura do Arcabouço SMAFramework . . . 26

3.2 Cenário para cálculo de pontuações no algoritmo Fuzzy Matcher . . . 29

3.3 Distribuição de quantidades de amostras nos baldes de dados . . . 32

3.4 Simulação de distribuição de uso dos baldes . . . 33

3.5 Visão geral da metodologia utilizada para criação e avaliação das rotas híbridas. . . 37

4.1 Mapas de calor da distribuição de tweets (I), e pares entre dados do Twitter e os táxis amarelos (II) e os táxis verdes (III). . . 44

4.2 Cenário simulado para avaliar a precisão do algoritmo em capturar pares persistentes com 10 usuários controlados e 100 usuários aleatórios . . . 46

4.3 Pares persistentes encontrados após a análise do Fuzzy Matcher . . . 47

4.4 Grafos com representação dos principais fluxos entre diferentes regiões da cidade de Nova Iorque. . . 48

4.5 Distribution of trips and passengers per hour in weekdays and weekends. . 49

4.6 Impacto do uso de opções de roteamento urbano em diferentes cenários de tráfego. HPV representa as rotas exclusivas de serviços de táxi, TRANSIT representa as rotas exclusivamente utilizando o transporte público e HY-BRID representa a proposta de uso de rotas que incluem ambos os serviços de táxi e transporte público. . . 50

4.7 Impacto do uso de opções de roteamento urbano para diferentes compri-mentos de viagens. HPV representa as rotas exclusivas de serviços de táxi, TRANSIT representa as rotas exclusivamente utilizando o transporte pú-blico e HYBRID representa a proposta de uso de rotas que incluem ambos serviços de táxi e transporte público. . . 51

(9)

Lista de Tabelas

2.1 Mapa de características para diferentes modelos de grafos. . . 22 2.2 Resumo dos trabalhos relacionados enfatizando as diferenças entre outros

estudos e o SMAFramework. . . 24 3.1 Comparação do método Bucket Walk e da abordagem "ingênua"ao serem

usados para rodar o algorítimo Fuzzy Matcher. . . 34 4.1 Cenários simulados para validação da hipótese e seus resultados . . . 45

(10)

Sumário

1 Introdução 11 1.1 Justificativa . . . 13 1.2 Objetivos . . . 13 1.3 Contribuições . . . 14 2 Referencial Teórico 16 2.1 Cidades Inteligentes . . . 16

2.2 Camadas de sensoriamento urbano e suas representações . . . 18

2.3 Trabalhos Relacionados . . . 21

3 SMAFramework: Smart Cities Mobility Analysis Framework 25 3.1 O Arcabouço . . . 25

3.2 Fuzzy Matcher . . . 28

3.3 Bucket Walk . . . 30

3.4 Agrupamento de Fluxos Urbanos . . . 35

3.5 Recomendação de Rotas Híbridas de Transporte Público e Serviços de Táxi 36 4 Resultados 40 4.1 Visão Geral . . . 40

4.2 Metodologia . . . 41

4.3 Identificação de Zonas de interesse para Posicionamento de Veículos . . . . 42

4.4 Estudo do Problema de Mapeamento de Entidades em Camadas Diferentes 45 4.5 Análise de Impacto de Rotas Híbridas com Transporte Público e Serviços de Táxi . . . 48

5 Considerações Finais 52

(11)

11

Capítulo 1

Introdução

A complexidade das cidades tem aumentado consideravelmente devido a uma série de fato-res, como por exemplo, o número de habitantes vivendo em ambientes urbanos [33]. Com isso, Computação Urbana surge como um tópico nas Ciências da Computação para des-crever a aplicação de tecnologias de informação e comunicação utilizadas na infraestrutura das cidades de forma a prover serviços públicos mais eficientemente aos cidadãos [33,37,58]. Por meio da melhoria na prestação dos serviços públicos, e consequente aumento da inte-ração deles com os cidadãos, usuários desses serviços, as novas cidades, também chamadas cidades inteligentes, visam tornar-se centros urbanos com uma dinâmica diferente da qual estamos acostumados. Tais diferenças vão desde a mobilidade urbana, como conduzir os cidadãos da cidade até seus respectivos destinos de forma eficiente e sem sobrecarregar as vias públicas; até questões governamentais, onde informações sobre o comportamento dos cidadãos podem ser utilizados para auxiliar na construção de novas políticas públi-cas. Essas mudanças na dinâmica dos centros urbanos criam condições para melhorar a qualidade de vida dos seus habitantes.

Existem diferentes pontos de vista sobre as cidades inteligentes, sobre o que são e como elas deveriam surgir, porém, uma das características amplamente aceitas é o uso de tecnologia da informação para gerir os dados gerados na cidade a fim de utiliza-los para melhoria dos seus serviços [21,33,37]. Esses dados são coletados de diversos eventos que ocorrem cotidianamente na cidade, como uma pessoa entrar em um ônibus, comer em um restaurante, passear em um parque, etc. Para realizar a coleta desses dados surgem diversas abordagens de modo a reduzir os custos envolvidos com a coleta de dados enquanto melhoram a eficiência do processo. Em ambientes tão complexos como as cidades têm se tornado, manter multidões de agentes humanos realizando entrevistas à pessoas pode não ser a melhor abordagem, o custo para manter esses agentes trabalhando é elevado, e esse não é um modelo facilmente escalável que consiga acompanhar o ritmo de crescimento das cidades. Além disso, a visão das pessoas sobre vários aspectos, que pode ser coletada por meio de uma entrevista, nem sempre é uma representação fiel ou adequada da realidade [29,50].

Porém, para alcançar os ideais de eficiência de execução dos serviços públicos nas cidades, é fundamental a obtenção de dados para entender seu funcionamento. Dados gerados em cidades podem ser originados de diferentes fontes, que podem ser vistas como uma camada de sensoriamento de um fenômeno em particular. Por exemplo, uma

(12)

alter-CAPÍTULO 1. INTRODUÇÃO 12 nativa no monitoramento de cidades são os sensores. Desde sensores mais robustos, que tentam capturar uma grande quantidade de dados, até redes de sensores de baixo custo, que podem ser usados em maiores quantidades. A utilização desses dois tipos de sensores acontece para que se possibilite a cobertura, e consequente monitoramento, de maiores áreas no perímetro urbano. Os sensores mais robustos e mais caros são menos numerosos e monitoram eventos à distância. Em contrapartida, os sensores de baixo custo podem ser distribuídos de forma a cobrir maiores regiões e monitorar de perto os eventos nas cidades. De modo a garantir o rápido envio de dados dos sensores às centrais de proces-samento, esses sensores são comumente conectados em uma rede sem fio. Essa estrutura de sensores distribuídos geograficamente e conectados em redes sem fio é conhecida na literatura como Redes de Sensores sem Fio.

Mesmo a abordagem de criação de redes de sensores de baixo custo se mostra insu-ficientemente escalável em determinadas situações [46]. Por exemplo, para o monitora-mento de uma região metropolitana seria necessária uma grande quantidade de sensores. Nesse sentido, outra abordagem de sensoriamento que pode ser considerada é o mobile crowdsensing, onde os dispositivos móveis dos próprios indivíduos (e.g., smartphones) são utilizados para realizar o sensoriamento. Esse tipo de abordagem tem ganhado destaque com a queda nos preços dos dispositivos móveis, e a popularização das redes sociais ba-seadas em localização, como Twitter1, Instagram2, e Foursquare3 [19, 46]. Nesse tipo de abordagem, os dispositivos móveis dos usuários dos serviços urbanos agem como sensores, e integram a arquitetura de camadas de sensoriamento da cidade.

Após a coleta desses dados, são utilizadas técnicas de análise que visam a extração de informações que possam ser utilizadas para melhorar os serviços públicos. Diversas abordagens têm surgido para analisar dados provenientes de uma única fonte, abordagens essas que têm levado a resultados consideráveis. Todavia, abordagens para explorar da-dos de múltiplas fontes ainda precisam ser exploradas [35, 43]. Em particular, combinar dados urbanos para obter um entendimento mais profundo da cidade cria uma série de questionamentos, dentre eles, como integrar os dados [35, 43, 57]. Esse questionamento é especialmente crítico ao tratar de dados espaço-temporais, dados que contém coordenadas geográficas e anotações a respeito do momento quando o evento aconteceu.

Ciente de que representar e integrar dados urbanos espaço-temporais é um desafio [20,55], o presente trabalho propõe a criação de um arcabouço, chamado SMAFramework, que visa integrar dados urbanos coletados de fontes heterogêneas e permitir a sua análise ciente do contexto espaço-temporal. Esse arcabouço facilita o manejo de diferentes fontes de dados por meio da criação de uma padronização que auxilia a extração de informações relacionadas a mobilidade urbana. O arcabouço objetiva criar um conjunto de ferramentas para profissionais como planejadores urbanos, pesquisadores e engenheiros para obter conhecimento sobre dinâmicas de mobilidade urbana de modo a melhor construírem a cidade para os cidadãos.

A seguir as Seções 1.1 e 1.2 apresentam as motivações para execução desse trabalho, bem como os objetivos a serem atingidos com seu desenvolvimento. No Capítulo 2 são

1https://twitter.com/

2https://www.instagram.com/

(13)

CAPÍTULO 1. INTRODUÇÃO 13 definidos os principais conceitos relacionados ao desenvolvimento do trabalho enfatizando características pertinentes ao arcabouço de integração proposto. Após a definição dos conceitos relacionados ao trabalho, o Capítulo 3 oferece uma visão geral do estudo reali-zado. Os resultados obtidos através dessa validação são exibidos no Capítulo 4. Por fim são listadas as contribuições e possibilidades futuras para o trabalho no Capítulo 5.

1.1

Justificativa

O notório aumento no volume de dados gerados em perímetros urbanos, aliado à possibi-lidade de utilizar esses dados para suportar o gerenciamento dos recursos e serviços para os cidadãos, cria a necessidade de estabelecimento de padrões de integração desses dados. Nesse sentido, o presente trabalho propõe o desenvolvimento de um arcabouço que realize essa integração, bem como forneça condições para o seu uso como suporte a tomada de decisão mediante a aplicação de técnicas de análise. Isso pois, períodos muito grandes podem tornar difícil a percepção de alterações sutis no cenário da cidade, bem como pe-ríodos muito pequenos podem dificultar a obtenção de uma visão geral das mudanças de padrões de mobilidade urbana.

1.2

Objetivos

Objetivo Geral

Elaborar e desenvolver um arcabouço para integração de dados urbanos cientes da cor-relação espaço-temporal em cidades inteligentes para permitir a realização de análises de padrões.

Objetivos Específicos

O.1 Identificar possíveis fontes de dados para integração e estudar formatos de represen-tação desses dados;

O.2 Definir o modelo de integração a ser utilizado a partir de conceitos de grafos tem-porais e redes dinâmicas;

O.3 Desenvolver o arcabouço de integração dos dados coletados que possibilite o emprego de técnicas de análise baseadas em métodos estatísticos e teoria dos grafos;

O.4 Adicionar ao arcabouço métodos de análise dos dados baseados em análises estatís-ticas e teoria dos grafos;

O.5 Realizar testes do arcabouço desenvolvido por meio da sua aplicação sobre dados de uma cidade alvo e verificação dos resultados por meio do cruzamento de informações da cidade provenientes de fontes diferentes.

(14)

CAPÍTULO 1. INTRODUÇÃO 14

1.3

Contribuições

Foi possível atingir com êxito todos os objetivos propostos. Quanto ao objetivo O.1, foram identificados e explorados diferentes conjuntos de dados de mobilidade urbana. Dentre eles foram explorados dados dos táxis amarelos e verdes da cidade de Nova Iorque, dados de Mídias Sociais, como o Twitter e também dados de condições de tráfego, coletadas por meio de APIs Web, esses conjuntos de dados são melhores descritos no capítulo 4, junto aos experimentos que os utilizaram. Para explorar esses dados, foi proposto um modelo de integração, de acordo com o objetivo O.2, baseado na estrutura de Grafos Multi-Aspecto, descritos na Seção 2.2. De acordo com esse modelo de integração, foi proposto o arcabouço descrito na Seção 3.1 para atingir o objetivo O.3. Dentro do arcabouço foram propostas algumas ferramentas para analisar os dados de mobilidade, de acordo com o objetivo O.4, essas ferramentas são descritas ao decorrer do Capítulo 3. Finalmente, o objetivo O.5 foi atingido com a realização de diferentes avaliações do arcabouço com os dados coletados do mundo real, a discussão dessas avaliações são descritas no Capítulo 3.

Além dos objetivos mencionados, foi possível realizar estudos e publicá-los ou enviá-los para algumas conferências. Esses trabalhos criados são:

Trabalhos Aceitos para Publicação em Conferências

Rodrigues, D. O., Boukerche, A., Silva, T. H., Loureiro, A. A. F., Villas, L. A. (2017). SMAFramework: Urban Data Integration Framework for Mobility Analysis in Smart Cities. In Proceedings of the 20th ACM International Conference on Modelling, Analysis and Simulation of Wireless and Mobile Systems (pp. 227–236). New York, NY, USA: ACM. https://doi.org/10.1145/3127540.3127569.

Rodrigues, D. O., Silva, T. H., Curado M., Loureiro, A. A. F., Villas, L. A. (2018). Uso de Dados de Mídias Sociais para Desenvolvimento de Metodologia de Posicionamento de Táxis. Enviado a: XXXVI Simpósio Brasileiro de Redes de Computadores. Santos, F. A., Rodrigues, D. O., Silva, T. H., Loureiro, A. A. F., Pazzi R. W., Villas,

L. A. (2018). Context-aware Vehicle Route Recommendation Platform: Exploring Open and Crowdsourced Data. In Proceedings of the IEEE International Conference on Communications. Kansas City, USA: IEEE.

Santos, F. A., Rodrigues, D. O., Silva, T. H., Loureiro, A. A. F., Villas, L. A. (2017). Rotas Veiculares Cientes de Contexto : Arcabouço e Análise Usando Dados Oficiais e Sensoriados por Usuários sobre Crimes. In Anais do XXII Workshop de Gerência e Operação de Redes e Serviços (WGRS) (p. 13). Belém, Brasil: Sociedade Brasileira de Computação.

(15)

CAPÍTULO 1. INTRODUÇÃO 15 Rodrigues, D. O., Fernandes, J. T., Curado M., Loureiro, A. A. F., Villas, L. A. (2018). Hybrid Context-Aware Multimodal Routing. Enviado a: IEEE Symposium on Com-puters and Communications.

Dentre os trabalhos apresentados, o principal no contexto dessa dissertação é o “SMA-Framework: Urban Data Integration Framework for Mobility Analysis in Smart Cities” publicado no evento “20th ACM International Conference on Modelling, Analysis and Simulation of Wireless and Mobile Systems”. Nesse evento, os melhores trabalhos foram selecionados e convidados para publicação de uma extensão dos resultados no “Elsevier Computer Communications Journal”. O trabalho mencionado foi convidado e a extensão dos resultados está em fase de produção.

O desenvolvimento do arcabouço teve início na Universidade Estadual de Campinas (UNICAMP) sob a supervisão do Prof. Dr. Leandro Aparecido Villas no Laboratório de Redes de Computadores do Instituto de Computação, onde foi modelado e a sua arquite-tura definida. A implementação do arcabouço e a avaliação inicial foi feita durante estadia na University of Ottawa (uOttawa) no PARADISE Research Laboratory SITE. Isso ocor-reu durante um estágio de cinco meses financiado pelo programa canadense Emerging Leaders in the Americas Program (ELAP) implementado em 2017. Nesse período foi produzido o artigo enviado ao MSWiM’2017. Por fim, a segunda avaliação do arcabouço com dados reais foi realizada durante estadia na Universidade de Coimbra (UC) no De-partamento de Engenharia Informática. O trabalho foi feito em dois meses e financiado pelo Programa Santander de Mobilidade Internacional, entre 2017 e 2018. Foi produzido o artigo enviado ao ISCC’2018.

(16)

16

Capítulo 2

Referencial Teórico

O levantamento de dados que descrevem a dinâmica de centros urbanos é uma das ativi-dades fundamentais para elevar o padrão de fornecimento de serviços nesses centros aos níveis requeridos para Cidades Inteligentes. Para melhor entender as necessidades desses novos centros urbanos, a Seção 2.1 descreve alguns de seus ideais de funcionamento, bem como destaca a necessidade da coleta de dados para melhor entendê-los. A Seção 2.2 descreve como funciona a arquitetura em camadas para sensoriamento de regiões metro-politanas e como essa arquitetura pode ser representada dentro de um arcabouço. Por fim, a Seção 2.3 mostra alguns trabalhos que propõe abordagens e arcabouços de análise de dados de mobilidade, sejam em ambientes urbanos ou outros ambientes.

2.1

Cidades Inteligentes

As cidades, e centros urbanos, tem aumentado significativamente, e em velocidade cres-cente, no que tange a seu tamanho, complexidade e população [33]. Essa expansão traz uma série de desafios a serem enfrentados de modo a construir cidades mais eficientes nas quais os recursos urbanos possam ser melhor alocados de modo a otimizar a execução de tarefas cotidianas. A essa visão de cidade mais eficiente nos últimos anos tem-se dado o nome de Cidade Inteligente. Uma possível definição de Cidades Inteligentes é como cen-tros urbanos seguros, ambientalmente sustentáveis e eficientes devido à sua infraestrutura desenvolvida com uso de tecnologias de monitoramento e atuação integradas com siste-mas de acompanhamento e tomadores de decisão [21, 37]. Outro trabalho que enfatiza a necessidade do uso de tecnologias na construção das cidades do futuro é [52], que define cidades inteligentes como cidades que utilizam recursos de computação para entregar seus serviços aos cidadãos de forma eficiente. Essas definições contêm alusões aos desafios técnicos existentes para construção dessas cidades.

Para melhor entender as cidades inteligentes, elas podem ser divididas em camadas que interagem entre si, como apresentado em [47] e na Figura 2.1. O principal objetivo em centros urbanos inteligentes é prover serviços de qualidade à sua população, desse modo, a camada mais alta da divisão é a camada na qual esses serviços (i.e., infraestrutura) interagem com os cidadãos. A seguir, para garantir o fornecimento desses serviços é ne-cessário a existência de um sistema de transporte e logística inteligente, capaz de garantir

(17)

CAPÍTULO 2. REFERENCIAL TEÓRICO 17 tanto a mobilidade da população, quanto o transporte de bens e serviços. Esse serviço de transporte inteligente representa mais uma camada na arquitetura de uma cidade inteli-gente. Para possibilitar a gestão desses recursos, como mencionado anteriormente, uma camada de gerenciamento de dados e informações deve existir; nessa camada ainda está presente um sistema de comunicação que assegure a integração dessas informações. Por fim, a força motriz de todo esse sistema é fornecida por uma camada de geração de ener-gia, que além de conseguir o potencial necessário para o funcionamento da cidade deve ser ambientalmente sustentável, priorizando por uso de fontes limpas de energia. Essa divisão em camadas pode ser observada na Figura 2.1.

Figura 2.1: Divisão de camadas de uma cidade inteligente [47]

De acordo com Pellicer [37] cidades inteligentes são estudadas a partir de uma divisão em seis áreas principais: Economia Inteligente, Governança Inteligente, Pessoas Inteligen-tes, Mobilidade Inteligente, Ambiente Inteligente e Vida Inteligente (qualidade de vida). Essas seis áreas podem ser mapeadas nas camadas propostas em [47]. Por exemplo, as áreas de Economia, Governança, Pessoas e Qualidade de Vida são evidenciadas na ca-mada mais alta da divisão, a caca-mada relacionada à população. Já as áreas de Mobilidade e Ambiente estão relacionadas, respectivamente, às camadas de transporte e fornecimento de energia (i.e. exploração de recursos naturais). Note que nenhuma área foi mapeada diretamente à camada de informação, isso pois, na verdade, todas as áreas dependem dessa camada a fim de tornar os processos dessas áreas em processos inteligentes. Só é possível tomar decisões de modo a prover serviços inteligentes em cada uma dessas áreas uma vez que se tenha informações para analisar as possibilidades disponíveis.

Como pode ser notado nos parágrafos anteriores, a presença de informação sobre o que acontece na cidade é fundamental para existência de processos inteligentes. Nesse sentido para construir essas cidades de modo a atingirem o patamar de eficiência dese-jado, um dos primeiros desafios é conseguir monitorar a dinâmica dessas cidades bem como a infraestrutura disponível. Assim, não são poucos os esforços empregados para extrair o máximo de dados que descrevam as dinâmicas das cidades. Compreender essas dinâmicas envolvem compreender o comportamento urbano dos cidadão da cidade, como

(18)

CAPÍTULO 2. REFERENCIAL TEÓRICO 18 eles interagem com os serviços providos pela cidade e como reagir em tempo reduzido à mudanças [45,46].

Com o intuito de monitorar o comportamento urbano e a dinâmica das cidades, di-ferentes abordagens tem sido empregadas. Uma dessas abordagens é o uso de redes de sensores sem fio [11,32]. Essas redes possuem diferentes aplicações, como coleta de dados ambientais [4, 15], monitoramento de segurança [12, 13, 22], rastreamento [27, 56], den-tre outros. Essas redes são formadas por conjuntos de pequenos nós constituídos por componentes sensores, processadores e de comunicação [2]. Ao utilizar redes de sensores pode-se reduzir a complexidade requerida no desenvolvimento individual dos sensores. Isso, pois, sensores individuais devem ser bem mais complexos (e caros) para monitorar eventos mais distantes, em oposição à possibilidade de posicionar sensores mais simples próximos a áreas de interesse a serem monitoradas. Porém, mesmo com a redução de custo comparadas a construção de sensores individuais complexos, as redes de sensores ainda possuem limitações para conseguir cobrir áreas muito grandes, como a área de gran-des metrópoles [45]. Nesse sentido surgem alternativas para auxiliar o monitoramento de grandes metrópoles, como as redes de sensoriamento participativo.

2.2

Camadas de sensoriamento urbano e suas

represen-tações

Uma forma de classificar dados gerados em uma cidade é com o uso de camadas de sensoriamento. Silva et. al. [43] define camadas de sensoriamento como conjuntos de dados descrevendo aspectos específicos de uma dada localização geográfica. Os dados brutos nessas camadas devem ser coletados e processados para serem usados em análises. Um exemplo de camada de sensoriamento podem ser dados coletados da plataforma Twitter, que publica tweets (i.e., mensagens curtas) que podem conter anotações espaço-temporais. Essas anotações podem ser usadas para identificar a posição da pessoa no momento de publicação da mensagem. Essa identificação é feita com coordenadas geográficas (i.e., Latitude e Longitude) e o horário de publicação da mensagem. Também seria possível que técnicas de análise mais sofisticadas utilizassem o conteúdo da mensagem para extrair mais informações a respeito do local de compartilhamento.

Cada amostra de dado em uma camada de sensoriamento inclui um momento no tempo quando ela foi gerada, uma localização onde foi produzida, uma especialidade e um ou mais identificadores (ou identificadores de usuário – UID) para representar a entidade criadora do dado. A especialidade do dado poderia ser o conteúdo da mensagem, no caso do tweet, ou uma fotografia compartilhada em algum serviço de compartilhamento de imagens. No presente trabalho, é considerado o próprio dado de localização como especialidade. Essa divisão em camadas de sensoriamento traz uma série de vantagens em diferentes aplicações de computação urbana, pois, ajuda na extração de informações úteis [43]. Atualmente, muitas abordagens para exploração de dados de uma única camada de sensoriamento tem levado a resultados úteis. Todavia, a combinação de dados urbanos de fontes diferentes, como dados complementares, é um tópico de pesquisa ainda recente. A unificação desses conjuntos de dados não é uma tarefa trivial, assim resultando em diferentes esforços para

(19)

CAPÍTULO 2. REFERENCIAL TEÓRICO 19 propor modelos e arcabouços capazes de representar e ajudar a usar esses dados.

Zheng [57] identifica alguns requisitos que podem facilitar o sucesso de um arcabouço para representar e analisar dados urbanos. O modelo de dados deve ser capaz de (i) integrar dados de fontes heterogêneas: organizando os dados de forma eficiente para recuperação e mineração; (ii) permitir a combinação de dados de diferentes domínios para facilitar a extração de conhecimento que não pode ser obtido de um único conjunto de dados; e (iii) ser capaz de manipular sequências de dados com anotações espaço-temporais. Além disso, de acordo com Plale e Kouper [38] com os dados se tornando cada vez mais ubíquos, sendo gerados por diferentes dispositivos e objetos, um importante aspecto de lidar com esses dados é controlar o ciclo de vida deles. Assim, é interessante que o arcabouço possa reter informações sobre como os dados foram gerados e como foram transformados durante seu uso. Para permitir um controle completo do ciclo de vida dos dados, o arcabouço e seu modelo de dados devem responder questões sobre como ocorre a coleta de dados (e.g., tempo real, em lotes) e como esses dados são armazenados e usados para análises [30,38].

Inspirado pelo conceito de camadas de sensoriamento e também os requisitos para facilitar o sucesso de um modelo para representação de dados urbanos, o presente trabalho propõe o uso de um modelo de Grafo Multi-Aspecto (GMA) [25, 53] para representar os dados dentro do arcabouço. Estabelecer uma estrutura para os dados aumenta o número de metodologias que podem ser aplicadas para extrair conhecimento de dados de mobilidade [57]. O GMA é uma extensão do modelo de grafo que permite a representação de diferentes peculiaridades dos dados utilizando aspectos. A seleção de uma modelo de dados baseada em grafos é feita por causa da conveniência desses modelos para representar a infraestrutura de ruas da cidade [39] facilitando a combinação dos dados coletados com representações de redes de ruas das cidades [8]. Além disso, extensões em modelos baseados em grafos, como os GMA, evoluíram suas capacidades para representação de variações espaço-temporais, como fluxos de mobilidade [26,28,34]. Na literatura, existem diferentes descrições do modelo de GMA, porém, os modelos propostos por Kivela et.al. [25] e Wehmuth et.al. [53] são os mais bem aceitos pela comunidade acadêmica. Ambos os modelos são equivalentes, com algumas peculiaridades os distinguindo. No arcabouço proposto, o modelo apresentado por Kivela [25] foi utilizado, por causa da sua definição matemática mais simples e clara. A Figura 2.2 mostra uma representação de um GMA e indica como algumas características do mundo real podem ser mapeadas na estrutura. Especificamente, a título de exemplificação, o Twitter e viagens de taxi são mostrados como fontes de dados, e mapeados como camadas no GMA.

Na Figura 2.2, é exibido um GMA com dois aspectos. Um aspecto é um dos eixos nos quais as camadas são criadas, cada uma dessas camadas é representada como um quadro. O primeiro aspecto, representado verticalmente, é o aspecto destinado às fontes de dados. O segundo aspecto, representado horizontalmente, é o tempo. No modelo, o tempo é discretizado, assim cada camada elementar vertical representa um momento no tempo quando algum dado foi gerado. É importante ressaltar que mesmo uma única fonte pode produzir dados para diferentes camadas elementares, isso acontece quando a fonte produz dados de diferentes especialidades (e.g., uma entrada de viagem de táxi pode representar a presença de uma pessoa ou a presença de um veículo em uma dada

(20)

CAPÍTULO 2. REFERENCIAL TEÓRICO 20

Figura 2.2: Exemplo de representação da estrutura do Grafo Multi Aspecto localização). Cada nó no grafo é uma amostra de dado coletado, e as arestas que os conectam representam a relação entre os dados. O modelo permite a representação de qualquer tipo de relacionamento entre as amostras, de modo a permitir sua adaptação para diferentes processos de análise; isso é atingido por meio da atribuição de rótulos as arestas.

No exemplo da Figura 2.2, três tipos de arestas são apresentados. A linha pontilhada grossa representa um movimento da entidade que produz os dados, assim dois nós co-nectados pela linha grossa pontilhada possuem o mesmo UID. Já a linha fina pontilhada representa nós em diferentes camadas elementares que foram criadas pela mesma entidade. Como os dados foram coletados em diferentes fontes, seus UIDs podem não ser os mesmos, desse modo, esse tipo de conexão deve ser criado através de técnicas de análise. Essas arestas podem ser criadas quando os UIDs nas diferentes camadas de sensoriamento são os mesmos, ou quando é conhecido um mapeamento de UIDs em diferentes camadas, todavia, ainda não é claro como essas conexões podem ser criadas na ausência dessa informação (i.e., ainda é um desafio em aberto, especialmente no estudo de usuários que atuam como sensores [43]). Esse trabalho, na avaliação do arcabouço no Capítulo 4, apresenta algumas investigações iniciais sobre possibilidades para criar tais arestas. No presente trabalho esse problema foi chamado de mapeamento inter-camadas de sensores/usuários. Finalmente, as linhas sólidas representam contatos que aconteceram instantaneamente (ou rápido o suficiente de modo a não usar mais que um instante de tempo na representação do GMA). Um exemplo desse tipo de contato pode ser uma mensagem (e.g., tweet, celular) enviada de uma entidade a outra. Como apresentado na Figura 2.2, a estrutura GMA guarda as informações sobre as fontes dos dados e também permite o armazenamento de dados com anotações temporais, que são características importantes para um modelo de dados para ferramentas de análise de mobilidade urbana [30, 38]. Além disso, a divisão em camadas de dados é importante para problemas relacionados a controle de permissões de acesso ao gerenciar esse tipo de dado. Por exemplo, a estrutura adotada pode conter dados públicos e privados, permitindo a definição de políticas de compartilhamento adequadas.

(21)

CAPÍTULO 2. REFERENCIAL TEÓRICO 21 De acordo com Kivela et.al., [25], o GMA é um modelo que usa uma composição de aspectos e camadas para adicionar mais informações aos grafos convencionais. Cada aspecto representa uma característica dos dados. No modelo usado pelo arcabouço, essas características são o tempo e a fonte de dados. O GMA contém, nesse caso, uma família de k camadas L = {Li}ki=1, onde cada camada é uma fonte de dados que permeia o domínio do tempo T . Assim, um nó v ∈ V nessa estrutura é definido como uma tupla <nó, camada, tempo>. Dadas as arestas definidas como E ⊆ V × V , o GMA pode ser definido como M = (V, T, L, E).

Outra vantagem de usar o modelo GMA é porque ele conserva algumas das característi-cas dos grafos tradicionais. Os grafos tradicionais são usados para representar informações estáticas, ou também para tarefas de análise sobre dados agregados no tempo (i.e., análi-ses não cientes da variação temporal). Porém, algumas das particularidades de dados de mobilidade, por exemplo, não podem ser expressas nesse tipo de análise. Como os grafos tradicionais já eram usados para representação de dados de mobilidade antes do avanço dos grafos temporais, algumas das técnicas e metodologias que já existem podem ainda ser utilizadas. O GMA ainda é adequado para representação das divisões das camadas de sensoriamento para facilitar o desenvolvimento do arcabouço e possibilitar a execução de tarefas sobre os dados.

2.3

Trabalhos Relacionados

O uso de grafos para representar dados de mobilidade é recorrente na literatura. Essa recorrência, aliada a necessidade de representar alterações ao longo do tempo desses dados resultou em diferentes modelos baseados em grafos com suporte a representação do tempo. Os exemplos mais comuns desses modelos são: (i) Imagens Instantâneas (II) [18,48], onde o grafo é formado por N grafos desconexos, cada um representando um momento no tempo; (ii) Intervalos de Tempo Contínuos (ITC) [10], onde as arestas entre os nós são representados como funções que permitem a identificação da existência ou não da aresta dado um momento no tempo; (iii) Aresta Espaço-Temporais (AET) [26,34], que usa dois tipos de arestas para representar as interações entre os nós (i.e., arestas espaciais e ares-tas temporais); (iv) Aresares-tas Espaço-Temporais Misares-tas (AETM) [24], similar a abordagem de Arestas Espaço-Temporais, porém, permite a criação de arestas mistas (i.e., arestas espaço-temporais); e finalmente (v) Grafos Multi-Aspecto (GMA) [25,53]. Uma das van-tagens de selecionar os GMA para representar os dados das cidades inteligentes é sua capacidade de representação dos diversos tipos de relação presentes nos outros grafos. A Tabela 2.1, mostra uma lista de propriedades e os grafos que as suportam.

Ao oferecer suporte a arestas de variação temporal, o modelo de grafo permite a cri-ação de arestas que iniciam em um momento no tempo e terminam em outro. O único modelo que não suporta esse tipo de aresta é o II, nesse modelo, as arestas focam em representar a situação do grafo em um único instante de tempo, assim perdendo informa-ções de eventos que transcedem diferentes momentos. Outra propriedade dos grafos é a existência de arestas ortogonais, que são arestas que começam e terminam no mesmo nó, porém, em diferentes momentos no tempo; ou começam e terminam em diferentes nós no

(22)

CAPÍTULO 2. REFERENCIAL TEÓRICO 22

Tabela 2.1: Mapa de características para diferentes modelos de grafos. Arestas de Variação Temporal Arestas Ortogonais Arestas Mistas Múltiplas Camadas II * ICT X X X AET X X AETM X X GMA X X X X

* Apenas permite arestas que não variam no tempo.

mesmo momento no tempo. Esse tipo de aresta permite a representação de fenômenos instantâneos ou conexões entre diferentes entidades (representadas pelos nós) em dife-rentes momentos no tempo. Essas arestas não são permitidas apenas nos grafos AETM, o que implica na representação apenas de fenômenos que possuem uma duração. Na prática, todos os fenômenos possuem duração, todavia, devido às limitações de precisão e discretização, é conveniente representar fenômenos como instantâneos. Assim, ao su-portar Arestas Mistas, que é a união das propriedades de arestas de variação temporal e arestas ortogonais, é a melhor opção para representar uma maior variedade de fenômenos. Finalmente, dos modelos apresentados, o GMA se destaca por ser o único que suporta Múltiplas Camadas nativamente – possui a capacidade de conter diferentes camadas para representar diferentes características dos dados.

Além das diferentes variações de grafos para representação de variações temporais em grafos, que podem ser usados para representação de dados de mobilidade; outros arca-bouços para análise de mobilidade têm surgido na literatura. Esses arcaarca-bouços não foram criados focando apenas mobilidade em cidades, mas também outros cenários, conforme apresentado a seguir. Thakur & Helmy [49] investigam como modelos de mobilidade atu-ais são adequados para representar mobilidade humana. Além disso, os autores propõem um arcabouço, denominado COBRA, que extende as métricas do modelo de mobilidade para coincidir com dados reais. Seu arcabouço objetiva criar um modelo de mobilidade para permitir a simulação de protocolos de rede que dependem dessa mobilidade. Para avaliá-lo, os autores usam alguns protocolos de rede combinados com outros modelos de mobilidade e também dados do mundo real em alguns ambientes específicos (e.g., campus universitário, parque). Esse arcabouço usa dados arquivados e dados coletados dos cená-rios em experimentos com dados reais, esses dados também podem ser combinados com dados de outras fontes para criação de modelos mais complexos. Porém, esse arcabouço não foi construído com o propósito de análise de padrões de mobilidade, mas, na verdade, modelar a mobilidade, assim alguns dos requisitos para realização de tarefas de análise não estão presentes, como a estrutura de camadas (i.e., todos os dados coletados são fun-didos, mesmo para dados que podem possuir interpretações diferentes) e a possibilidade de usar dados em tempo real.

Patroumpas [36] propõem uma metodologia para modelar dados de posições genéricas. Esse modelo introduz um operador de janela deslizante, que permite uma examinação incremental de dados de movimentação em tempo real. Para usar esse modelo, existe

(23)

CAPÍTULO 2. REFERENCIAL TEÓRICO 23 uma linguagem de consulta que permite a expressão de consultas espaço-temporais para recuperar dados armazenados nesse formato de janela de tempo deslizante. Esse trabalho se apresenta como uma ferramenta para análise de dados online em tempo real, mas não é mostrado como dados armazenados podem ser usados. É importante o uso de dados armazenados previamente, pois, existem impedimentos relacionados a questões como a privacidade, dentre outros, que podem impedir a publicação em tempo real (e.g., os dados de viagens de taxis amarelos em Nova Iorque, usados nesse trabalho, não são liberados em tempo real). Dessa forma, o único jeito de trabalhar com esses dados é através da coleta de fontes em arquivo. Essas duas formas de acessar dados, em tempo real e em arquivo, devem ser usadas para garantir a exploração de todos os dados disponíveis, e, assim, arcabouços que podem lidar com ambos possuem vantagens extra nesse cenário, como os arcabouços que seguem descritos abaixo.

Silva et.al. [43] discute o conceito de divisão de camadas de sensoriamento para dife-rentes tipos de dados disponíveis em uma dada região geográfica. Os autores focam em analisar dados urbanos coletados com a participação de usuários de dispositivos móveis (i.e., Sensoriamento Participativo) e coletados por meio de plataformas de redes sociais baseadas em localização (e.g., Twitter). Os autores criam um arcabouço genérico para representação de dados urbanos para análise, porém, esse modelo abstrato não é espe-cífico para análises de mobilidade, isto é, não contém métodos que poderiam ajudar na execução desse tipo de tarefa. No presente trabalho, o foco é criar um arcabouço para análise de mobilidade urbana, assim a estrutura de dados é bem definida de forma que todas as camadas de sensoriamento podem ser padronizadas em uma estrutura comum (i.e., a estrutura do GMA).

Para realizar análise de tráfego marítimo, Salmin & Ray [41] introduzem um arcabouço espaço-temporal capaz de analisar dados em tempo real e arquivados. Os autores exploram também uma especificação de linguagem de consulta padrão, que permite a criação de consultas persistentes e estáticas, usadas para, respectivamente, permanecem a observar por mudanças nos conjuntos de dados ou são executadas uma única vez sobre os dados existentes naquele momento. Seu estudo foca em dados marítimos, onde os dados vem de sensores, mas não fica claro no trabalho como diferentes fontes de dados poderiam ser integradas no modelo.

O SMAFramework, proposto no presente trabalho, é focado na análise de dados gera-dos nas cidades e observando suas características, como a alta heterogeneidade das fontes de informação, que podem ser disponibilizadas em tempo real, ou estarem armazenadas. A arquitetura do arcabouço é extensível de forma a permitir o fácil desenvolvimento de módulos de coleta de dados para fontes que não existem atualmente no arcabouço. Além disso, o foco desse arcabouço é em mobilidade, o que permite a definição de detalhes específicos desse contexto que podem facilitar as tarefas de análise. Por fim, a Tabela 2.2 resume o conteúdo dessa seção e indica as diferenças entre os arcabouços apresentados e o proposto. Além disso, é possível verificar o número de camadas de sensoriamento que cada arcabouço disponibiliza.

(24)

CAPÍTULO 2. REFERENCIAL TEÓRICO 24

Tabela 2.2: Resumo dos trabalhos relacionados enfatizando as diferenças entre outros estudos e o SMAFramework.

Dados

Arquivados em Tempo RealDados Estrutura de DadosPadronizada Fontes de DadosCombinação de

Número de Camadas Independentes Thakur & Helmy

(2013) X X 1

Patroumpas et. al.

(2013) X X X 1

Silva et. al.

(2014) X X X N

Salmon & Ray

(2016) X X X 1

SMAFramework

(25)

25

Capítulo 3

SMAFramework: Smart Cities Mobility

Analysis Framework

Esse capítulo apresenta o SMAFramework, arcabouço para análise de padrões de mobili-dade em cimobili-dades inteligentes. A Seção 3.1 apresenta a arquitetura do arcabouço. Após a apresentação do arcabouço, são apresentados nas Seções 3.2, 3.3, 3.4 e 3.5 os algoritmos que foram produzidos para avaliar o uso do arcabouço com dados reais. Os dois primeiros algoritmos foram desenvolvidos com o objetivo de avaliar a correlação espaço-temporal entre diferentes camadas de sensoriamento em uma cidade. O algoritmo FuzzyMatcher, apresentado na Seção 3.2 realiza a comparação de regiões no espaço e tempo para criar uma pontuação que representa a correlação entre duas amostras coletadas em camadas diferentes. Já o algoritmo BucketWalk, na Seção 3.3, foi criado com o objetivo de otimi-zar a execução do algoritmo FuzzyMatcher, observando suas características de busca. Na Seção 3.4 é apresentado o algoritmo para agrupamento e classificação de fluxos urbanos. Por fim, na Seção 3.5, é apresentado um algoritmo para análise de rotas urbanas híbridas que exploram o sistema publico de transporte aliado à contratação de serviços de táxi e similares.

3.1

O Arcabouço

Nessa seção, é introduzido o arcabouço para ajudar desenvolvedores, pesquisadores, pla-nejadores das cidades e engenheiros a analisar dados de mobilidade gerados em ambientes urbanos. Para alcançar esse objetivo, o arcabouço auxilia na coleta de dados disponíveis em diferentes fontes nas cidades e padroniza eles para facilitar o gerenciamento e aná-lise. Além disso, o arcabouço provê uma base comum para execução de tarefas triviais de análise de dados, como limpar dados inválidos, remover dados duplicados e filtrar os dados. Atualmente, a maior parte dos cientistas trabalhando com análise de dados de mobilidade costumam construir soluções próprias, de forma a ter que enfrentar problemas como padronização de dados e outros, soluções essas que acabam por não reusar prévias soluções desenvolvidas. Criar uma ferramenta que permite evitar a reconstrução desses procedimentos e também executá-las de forma otimizada, potencialmente, ajudaria a sal-var tempo para trabalhar em detalhes mais específicos relacionados a análise. Finalmente,

(26)

CAPÍTULO 3. SMAFRAMEWORK 26 o arcabouço também prevê proporcionar formas de lidar com desafios de análise de dados de mobilidade urbana. Mais especificamente, o mapeamento de dados provenientes de di-ferentes camadas de sensoriamento e também a análise da correlação entre essas camadas a partir de diferentes perspectivas.

A Figura 3.1 mostra a arquitetura do arcabouço. No topo, é exibida a cidade gerando os dados por meio de diferentes fontes de informações. Cada ícone dentro da nuvem representa uma fonte de dados brutos diferente, que deve ser coletada para análise usando os Coletores de Dados. Esses coletores de dados são componentes que coletam dados brutos da sua fonte e os salvam em um formato inicial básico, as Amostras. Por exemplo, um Coletor de Dados pode usar uma API para realizar a coleta de dados provenientes de uma plataforma de redes sociais e então converter esses dados para o formato básico de amostras. Esses dados também podem ser coletados de formas variadas, e não apenas através de APIs. O objetivo dos Coletores de Dados é observar as peculiaridades de cada fonte de informação e realizar o passo inicial de extração de dados. No exemplo mostrado na Figura 3.1, os dados do Twitter são extraídos por dois Coletores de Dados, esses coletores podem ser, por exemplo, um coletor de stream, que coleta os dados em tempo real, e um outro coletor para dados obtidos previamente, que estejam arquivados.

Figura 3.1: Arquitetura do Arcabouço SMAFramework

Cada amostra contém dados anotados sobre espaço e tempo que são armazenados no arcabouço. Essas amostras consistem em geolocalização (i.e., latitude e longitude), tempo, fonte de dados e UIDs. Caso não haja informações de controle sobre as entidades que geraram os dados, o arcabouço cria identificadores assumindo que cada amostra foi criada por uma entidade diferente. Além disso, essas amostras podem conter dados adicionais que podem auxiliar eventuais casos de análise. Essas amostras são inicialmente armazenadas

(27)

CAPÍTULO 3. SMAFRAMEWORK 27 em uma base de dados, como mostrado na Figura 3.1. Uma vez na base de dados, existe um componente para ler as amostras e as organizar na estrutura do GMA, além de possivelmente executar tarefas de enriquecimento de dados conforme as configurações do usuário. Esse enriquecimento de dados pode inferir novas amostras, que não estavam no conjunto de dados inicial, de acordo com os dados existentes. Por exemplo, Mahrsi et al. [31] apresentam duas formas de para enriquecer dados extraídos de posições onde passageiros pegam ônibus na cidade. Nesse cenário, é conhecido quando e onde os usuários pegam um ônibus, porém, não se têm dados de quando eles deixam o ônibus. Assim, para inferir mais dados, os autores criam duas hipóteses: (i) Ao trocar de ônibus, é assumido que o usuário desceu na parada mais próxima na linha em que estava da parada na qual ele pegou o próximo ônibus; (ii) Na última viagem do dia, os passageiros vão descer do ônibus na parada mais próxima da primeira parada utilizada no início do dia.

Depois do enriquecimento dos dados, eles podem ser estruturados segundo o modelo de GMA. Essa estrutura é armazenada pelo arcabouço na base de dados para o GMA. Nesse ponto, os dados podem ser verificados pelos usuários do arcabouço, por exemplo, usando ferramentas de visualização. Uma vez organizados na estrutura de GMA, é possível executar os Analisadores de Dados para extrair informações de mobilidade. De forma semelhante aos Coletores de Dados, os Analisadores de Dados podem ser convenientemente adicionados para estender o arcabouço e adequá-lo para as necessidades do usuário. Os resultados dos procedimentos de análise são salvos sobre a estrutura de GMA, ou ainda armazenados na base de resultados, onde os usuários têm acesso a informações na forma de totalizadores, resumos, índices, metadados, mapas de calor, dentre outros.

O arcabouço é organizado em um fluxo dos dados passando por três fases para reduzir o trabalho necessário na adição de novos módulos, i.e., primeiro as Amostras, depois o GMA e, finalmente, os Resultados. Assim, se usuários precisam usar Analizadores que já existam para analisar dados de uma fonte de dados nova, eles apenas terão que desenvolver o Extrator de Dados para isso. O mesmo ocorre caso o usuário use uma fonte de dados já suportada pelo arcabouço, porém, com um novo Analizador. Essa abordagem na arquitetura facilita que se criem extensões para o arcabouço, que podem ser usadas para adição de novos módulos ao SMAFramework de modo a mantê-lo atualizado é uma importante característica para lidar com análise de dados [8,30], um campo no qual novas metodologias surgem com uma frequência significativa. Essa divisão em fases também organiza o arcabouço de forma a facilitar a inserção de novas fases no fluxo dos dados entre as fases já existentes para melhoria de fatores como performance ou escalabilidade; por exemplo, a adição de uma fase de indexação do conteúdo entre a fase do GMA e a análise poderia ser realizada de modo aumentar a performance de algum método de análise.

A estrutura do GMA e os Analizadores de Dados são os principais componentes do arcabouço. São esses os componentes que permitem que os usuários explorem e extraiam conhecimentos por meio dele. Os Analisadores podem realizar dois tipos de tarefas: eles podem alterar a estrutura do GMA para permitir a visualização de determinados padrões nos dados, ou também criar resultados totalizadores ou resumidos na base de dados de resultados. Como esses Analizadores são partes importantes do arcabouço, para apre-sentar o potencial do arcabouço foi elaborado um caso de uso no qual é proposto um

(28)

CAPÍTULO 3. SMAFRAMEWORK 28 dos Analisadores de Dados que compõe o arcabouço, chamado de Fuzzy Matcher. Esse Analisador objetiva criar pares de nós no grafo que estejam próximos no espaço-tempo e pertençam a diferentes camadas de sensoriamento, a descrição completa do algoritmo proposto está na Seção 3.2.

3.2

Fuzzy Matcher

As tarefas de análise disponíveis no arcabouço objetivam auxiliar no processo de enten-dimento das dinâmicas das cidades pelas pessoas envolvidas no seu planejamento. Por exemplo, cidadãos para melhor entender como utilizar os recursos e serviços disponíveis; ou políticos, ao criar políticas para gerência da cidade. Para mostrar um caso de uso que explora o potencial do arcabouço, foi proposto um Analisador de Dados, chamado Fuzzy Matcher, para investigar a correlação espaço-temporal dos dados em diferentes camadas de sensoriamento. O foco ao desenvolver o algoritmo Fuzzy Matcher foi construir uma ferramenta para analisar a influência/correlação local de uma camada de sensoriamento em outra. Por influência/correlação local é entendido que os nós em uma camada devem se localizar perto em espaço e tempo de nós em outra camada. O propósito dessa análise é verificar se dados de uma camada de sensoriamento podem ser usados para estudar outra. Dessa forma, dados do Twitter foram utilizados para capturar o comportamento dos usuários assumindo que a presença de uma grande quantidade de usuários do Twitter em um local poderia indicar também a existência de pessoas em busca de viagens de táxi. Dessa forma, permitindo o uso dados da camada de sensoriamento do Twitter para estimar a quantidade de pessoas em determinado local e analisar se a sua presença está relacionada à contratação de táxis.

Fuzzy Matcher é um algoritmo que identifica pares espaço-temporais entre nós no GMA de diferentes camadas de sensoriamento de uma cidade. Depois da identificação desses pares, o algoritmo também avalia uma pontuação. Essa pontuação é calculada com base na distância espaço-temporal entre os nós pareados e uma função de dispersão. Para usar esse componente do arcabouço, os usuários devem especificar parâmetros, como uma precisão em termos de distância no espaço e tempo, e também uma função de depreciação no espaço e no tempo. Essa função pode ser alterada para casos de uso específico, onde a dispersão das entidades analisadas pode ser modelada com uma função. Por exemplo, a movimentação de uma multidão pode variar de acordo com o cenário no qual ocorre. Um desfile, por exemplo, tende a percorrer uma grande distância na cidade, por outro lado, uma multidão assistindo a um show fica concentrada em um único local. A forma como multidões, e outros fluxos de mobilidade, se comportam na cidade pode ser descrita de diversas formas com essas funções de dispersão.

A Figura 3.2 mostra como o algoritmo Fuzzy Matcher funciona e também como os seus parâmetros são usados. Na figura têm-se: a precisão de distância D, precisão de tempo T , e as funções de depreciação temporal e espacial td(t) e sd(d), respectivamente, onde d e t são as distâncias temporal e espacial, usadas para criar a curva para avaliar a pontuação de cada par. A pontuação espacial é dada por SS(d) = f(d)/D onde f(d) = {D, se d < D; sd(d−D), caso contrário}, e de forma similar para a pontuação temporal: T S(t) = f(t)/T

(29)

CAPÍTULO 3. SMAFRAMEWORK 29

Figura 3.2: Cenário para cálculo de pontuações no algoritmo Fuzzy Matcher onde f(t) = {T , se t < T ; st(t − T ), caso contrário}. Por exemplo, dado o cenário na Figura 3.2, o par (SRC, B) tem uma pontuação espacial SS(625) = 0.5, para D = 500, e a função de depreciação espacial linear (i.e., sd(d) = D − d). No mesmo cenário, como o par (SRC, C) tem SS(800) = 0, esse par não é considerado pelo Fuzzy Matcher. O mesmo é válido em caso de T S(t) = 0.

Considerando a proposição desse método, o objetivo é adicionar algumas possibilida-des para auxiliar pesquisadores e possibilida-desenvolvedores a analisar dados urbanos. Por exemplo, bancos de dados geográficos oferecem uma variedade de ferramentas para trabalhar com dados espaciais, como consultas geolocalizadas, que permitem buscas em regiões espe-cíficas; ou até mesmo funções observadoras, que tornam possível observar mudanças na base de dados que ocorram em determinada área. Todavia, muitas dessas abordagens não contabilizam a dimensão temporal. Além disso, além de apenas parear amostras, o Fuzzy Matcher proporciona pontuações que representam o quão forte/fraco é um dado par. Ao usar essas pontuações, limites podem ser definidos de forma a classificar os pares, por exemplo. Finalmente, Fuzzy Matcher introduz uma forma de usar diferentes funções de depreciação para analisar conjuntos de dados que possuem diferentes comportamentos de dispersão.

Um dos problemas relacionados a encontrar os pares nos conjuntos de dados é a com-plexidade computacional. Se o algoritmo for construído de uma forma “ingênua”, sua complexidade se torna O(n2)1. Esse resultado é obtido por causa da necessidade “ingê-nua” de comparar todos os n nós de interesse (i.e., nós em uma dada camada). Com todos os outros nós n − 1. Essa complexidade pode se tornar uma barreira para utilizar o algoritmo Fuzzy Matcher em bases de dados gigantescas, com dezenas de milhões de amostras. Para reduzir essa complexidade, é proposto um método de travessa do conjunto de dados que possibilita a comparação de cada amostra apenas com uma pequena vizi-nhança. Esse método foi desenvolvido inspirado no algoritmo Bucket Sort [14], criando assim o algoritmo intitulado Bucket Walk. O método é descrito como tri-dimensional na Seção 3.3, porém, ele pode ser estendido para qualquer número de dimensões.

(30)

CAPÍTULO 3. SMAFRAMEWORK 30

3.3

Bucket Walk

No presente trabalho, para reduzir a complexidade O(n2) da abordagem “ingênua” de implementação do algoritmo Fuzzy Matcher, é introduzido o método Bucket Walk para visitar as amostras no conjunto de dados e compará-las com seus vizinhos. Nessa seção, o Bucket Walk é descrito como uma abordagem tri-dimensional para percorrer o conjunto de dados, porém, o método pode ser estendido para trabalhar com qualquer quantidade de dimensões. Além disso, esse método não é limitado ao uso apenas com o algoritmo Fuzzy Matcher, na verdade, ele pode ser usado por qualquer algoritmo que objetive com-parar amostras com seus vizinhos. O uso desse método para percorrer os dados reduz significativamente o tempo e uso de memória para executar o algoritmo Fuzzy Matcher. Essa seção mostra alguns resultados coletados de experimentos usando o Bucket Walk e a abordagem “ingênua” em subconjuntos de dados extraídos dos dados originais. Vale mencionar que não foi possível executar os mesmos experimentos utilizando a abordagem “ingênua” sobre todo o conjunto de dados, pois, eles estavam consumindo muitos recursos mesmo nos melhores servidores disponíveis para o experimento (i.e., 24 núcleos de proces-samento e 40Gb RAM). Ao usar o Bucket Walk para executar o Fuzzy Matcher, o servidor conseguiu executar a tarefa economizando uma quantidade significativa de recursos (i.e., usando 16 núcleos e 8Gb RAM).

Como mencionado anteriormente, o método Bucket Walk foi construído com inspiração no algoritmo Bucket Sort [14]. O Bucket Sort consiste em dividir o conjunto de dados a ser ordenado em menores grupos (ou baldes), ordenar os dados dentro dos baldes e depois ordenar os próprios baldes. Para realizar a divisão de grupos no conjunto original de dados, o Bucket Sort cria uma representação hash dos dados. Por exemplo, uma função hash, para ordenar palavras, poderia consistir em selecionar o primeiro caractere da palavra; cada caractere seria mapeado a um balde, assim cada palavra começando com a mesma letra seria colocada no balde daquela letra. Nesse trabalho essa mesma abordagem é usada para organizar dados em um espaço multidimensional por meio da criação de baldes e funções hash em cada uma das dimensões de interesse representadas nos dados. Por exemplo, os dados analisados no Fuzzy Matcher contêm representações de características espaço-temporais; assim resultando em um modelo de dados 3D, com as dimensões latitude, longitude e tempo – duas dimensões espaciais e uma temporal.

O Bucket Walk consiste em criar hashes para dividir o conjunto de dados em grupos em um espaço 3D (i.e., latitude, longitude e tempo). Dada essa divisão, ao percorrer o conjunto de dados, é possível comparar as amostras contidas no mesmo balde e em baldes vizinhos de uma amostra alvo, em lugar de comparar essa mesma amostra alvo com o restante dos dados. Para executar o Bucket Walk, é necessário escolher uma função de hash, e essa escolha pode afetar a performance de execução do método, e consequentemente, do algoritmo que o usa (e.g., Fuzzy Matcher). Uma possível escolha de função hash é definir uma amostra base – que pode ou não estar presente no conjunto de dados – e calcular a distância de cada amostra para essa amostra base, depois disso basta selecionar a parte inteira da divisão dessa distância por um fator K para ser o gerador de índices dos baldes. Esse processo deve ser feito para as três dimensões dos dados. Se a amostra base possuir os menores (ou maiores) valores observados em cada dimensão, o

(31)

CAPÍTULO 3. SMAFRAMEWORK 31 resultado da aplicação da função de hash para divisão dos dados será um cubo de baldes. Cada balde conterá os dados que obtiveram os mesmos resultados para as funções de hash. Uma vez identificado a amostra base, a função de hash deve ser executada para todas as amostras, o que significa uma complexidade de O(n) ⊂ O(n2) para realizar a tarefa de divisão, assim, nesse ponto, não há aumento da complexidade total do algoritmo quando comparado com a abordagem "ingênua". Além disso, se a amostra base não for conhecida a priori, todas as amostras terão que ser visitadas para sua identificação, resultando novamente em uma complexidade O(n) ⊂ O(n2), que também não aumenta a complexidade geral do algoritmo em comparação com a abordagem "ingênua".

O fator K, mencionado na função de hash, também deve ser definido. Para fazer isso, é necessário observar como a vizinhança de dados é definida. No algoritmo Fuzzy Matcher, a vizinhança é definida por uma função f(x) = {SS(x), T S(x)}, onde o fator k pode ser definido como K = x quando f(x) = 0. Convenientemente, para o exemplo apresentado na Seção 3.2, com uma função de depreciação linear e uma precisão P = {D, T }, K = 2P . Ao definir K dessa forma, permite que o algoritmo, para uma dada amostra, apenas compare dados em baldes adjacentes no cubo ao que a contém. É importante notar que dois valores de K foram encontrados, um para as dimensões espaciais e outro para a dimensão temporal. Esse método de definição do fator K permite que seja definido até um valor diferente por dimensão.

Uma vez obtida a função de hash e o valor de K, pode-se dividir o conjunto de dados no cubo de baldes. Ao calcular a complexidade de pior caso do algoritmo Fuzzy Matcher usando o Bucket Walk ainda é obtida uma complexidade O(n2). Essa complexidade ocorre no cenário onde todas as amostras são alocadas no mesmo balde de dados. Todavia, é conhecido que a distribuição observada nos dados estudados não possuí essa tendência. Para mostrar essa distribuição, a função de hash proposta foi usada para dividir os dados usados nos experimentos com o arcabouço. Esses dados foram coletados da plataforma do Twitter e dos Táxis Amarelos da cidade de Nova York, como mencionado anteriormente, esses conjuntos de dados contêm respectivamente 398, 887 e 10, 415, 045 amostras. Mais detalhes sobre esses, e outros, conjuntos de dados são fornecidos na Seção 4.2.

A Figura 3.3 mostra a curva de distribuição das amostras coletadas nos baldes. Nessa figura, o eixo horizontal representa os baldes, enquanto que o eixo vertical a quantidade de amostra no balde. Os baldes foram ordenados de acordo com o número de amostras contidas nele. Além disso, para facilitar a visualização, o número de amostras por balde foi normalizado na escala [0, 1]. As legendas da Figura 3.3 mostram o número de baldes com pelo menos uma amostra e o número de amostras no balde mais popular.

Nota-se na Figura 3.3 que os conjuntos de dados tem uma distribuição significativa-mente esparsa, na qual a maior parte das amostras está concentrada em poucos baldes; porém, não é o caso onde todas as amostras se concentram em um único balde, como no cenário de pior caso. Na verdade, as curvas dos dados do Twitter e do táxis ama-relos podem ser aproximadas por uma curva da forma: D(x) = α

+1, como mostrado na Figura 3.3, onde os fatores α e β definem o formato da curva. Além disso, o +1 da função utilizada para aproximação foi removido sem perda de generalidade. Ao usar essa

(32)

CAPÍTULO 3. SMAFRAMEWORK 32

Figura 3.3: Distribuição de quantidades de amostras nos baldes de dados aproximação, pode-se estimar n ' Px

α

xβ, que resulta em: X x α xβ !2 =X x  α2 x2β  + 2X i>x  α2 (xi)β  . (3.1)

Dessa forma, a complexidade equivalente será:

O " X x  α2 x2β  + 2X i>x  α2 (xi)β # ⊆ O " X x  α2 x2β # . (3.2)

O último passo na Equação 3.2 apenas é possível por causa da notação Big-O, onde apenas os fatores de maior ordem em uma soma afetam a complexidade algorítmica. Na Equação 3.2, ainda existe um termo quadrado, como predito no cenário de pior caso, todavia, esse termo é atenuado de acordo com a distribuição das amostras. Para os conjuntos de dados especificamente apresentados na Figura 3.3, alguns limites superiores dos valores de β foram identificados como β ≤ 0.3 para o Twitter, e β ≤ 0.2 para os táxis amarelos. Esses limites foram definidos observando os comportamentos das curvas 1

x0.3 e 1

x0.2. A equação obtida em (3.2) representa o resultado esperado, onde a complexidade total do algoritmo é avaliada como a soma da complexidade contida em cada um dos baldes. Nesse caso, o valor de α é o número máximo de amostras em um único balde. Então tem-se α = n, i.e., o cenário de pior caso, apenas um único balde iria existir, assim x ∈ {1}e a complexidade se torna novamente quadrática, como previsto, como segue:

O   X x∈{1}  n2 x2β   = O  n2 12β  = O(n2). (3.3)

Uma questão que pode surgir devido à análise de caso médio realizada é que even-tualmente a distribuição de dados pode não ser uma curva da forma α

+1 (i.e., cauda longa). Porém, na verdade, a distribuição de dados de mobilidade em uma cidade muito provavelmente segue essa distribuição. Isso acontece, pois, esses dados são principalmente gerados pelos cidadãos da cidade usando o sistema de transporte, tornando a distribuição

(33)

CAPÍTULO 3. SMAFRAMEWORK 33 de dados dependente da distribuição de pessoas na cidade – métrica conhecida como o perfil de densidade de uma cidade. Bertaud et. al. [6, 7] estudou perfis de densidade de diferentes cidades pelo mundo e esse estudo mostra que a curva de distribuição de pessoas em uma cidade possui um formato de cauda longa quando analisando a densidade de pessoas em relação a distância do cento da cidade. Das 11 cidades analisadas na Europa, apenas o perfil de densidade de Moscou não possui o formato de cauda longa, porém, mesmo lá é possível identificar pontos na cidade com mais pessoas que em outros. O estudo completo analisou 48 grandes cidades no mundo inteiro, das quais apenas 5 não apresentaram o padrão de cauda longa (i.e., Abidjan, Curitiba, Seoul, Seoul+New Town e Moscou).

Mesmo com a curva possuindo a tendência de formato indicado, o Bucket Walk ainda resulta em melhorias de performance para diferentes formatos de curvas de distribuição quando comparado com a abordagem “ingênua”. Por exemplo, em um cenário simulado onde a distribuição possui a forma de uma equação inversa de logarítimo, como apresen-tado na Figura 3.4.

Figura 3.4: Simulação de distribuição de uso dos baldes

A curva apresentada na Figura 3.4 é dada por uma equação da forma logα(β − x), onde α e β definem o seu formato. Essa equação pode ser reescrita como log (β−x)log α , resultando assim em n = Pα−1

x=0

log (β−x)

log α , donde o tamanho da entrada pode resultar em: α−1 X x=0 log (β − x) log α !2 = α−1 X x=0 log2(β − x) log2α + 2 α−1 X x=0 x−1 X i=0 log (β − x) log (β − i) log2α (3.4)

Como é verdade para todas as somas de termos quadrados que a2 + b2 ≥ 2ab e a Equação 3.4 é uma composição desse resultado, um limite superior do duplo somatório é

Referências

Documentos relacionados

Na apresentação dos dados estatísticos, ficou demonstrada à todos os participantes a dimensão da pesquisa, abrangendo o setor produtivo como um todo, enfocando a produção

No sentido de reverter tal situação, a realização deste trabalho elaborado na disciplina de Prática enquanto Componente Curricular V (PeCC V), buscou proporcionar as

Os casos não previstos neste regulamento serão resolvidos em primeira instância pela coorde- nação do Prêmio Morena de Criação Publicitária e, em segunda instância, pelo

This framework is capable of classi- fying different text datasets, after learning the causality between the weight of important features present in the corpus and their polarity

De entre estas medidas, destacam-se a intensificação das ações de fiscalização de descarga de efluentes, o significativo aumento das ações de monitorização do meio

Diante dos resultados encontrados nesta pesquisa, verificou-se que o espaço articular coxofemoral, assim como a dor articular do quadril não sofrem influência direta

Os Programas Integrais da Política de Assistência Estudantil do IFAM são compostos por um grupo de Programas, cujos Projetos estão voltados para as suas

According to the maximum curvature modified method, the estimated optimum plot sizes were 14.75 BU for large cormels, 13.37 BU for medium ones, and 9.0 BU for marketable