Análise Exploratória de Dados Geoespaciais

Localização de Usuários Móveis

Nos últimos anos, notou-se um crescimento significativo na coleta de dados de localização de usuários móveis. Com isso, a indústria e a academia estão investindo cada vez mais em soluções que possibilitem a extração de conhecimento útil a partir desses dados.

As localizações dos usuários móveis são fontes importantes de informação para a chamada computação urbana, que visa melhorar a qualidade de vida dos cidadãos em termos de mobilidade, qualidade do ar e infraestrutura de tecnologia. Ao se conhecer as características geoespaciais dos usuários de uma cidade e clientes de uma empresa, por exemplo, é possível, além de oferecer melhores serviços, ofertar soluções mais personalizadas e cientes do contexto atual em que os usuários se encontram.

Existem vários desafios que tornam a extração de conhecimento a partir de dados geoespaciais não-trivial. Primeiramente, a coleta desses dados deve ser com uma certa frequência que permita que resultados precisos sejam alcançados, sem consumir os recursos de energia e comunicação dos usuários. Além disso, deve-se ter cuidado com a precisão dos dados, já que mesmo o GPS possui uma margem de erro que aumenta em ambientes fechados ou com muitos obstáculos. Considerando o grande número de usuários, o armazenamento e tratamento desses dados devem ser eficientes, para que grandes volumes de dados possam ser utilizados pelos algoritmos.

Além dos desafios técnicos, deve-se tomar alguns cuidados devido às características dos dados. Em geral, dados geoespaciais referem-se a dois valores representando a latitude e longitude que indicam uma posição na Terra. Esses valores são medidos em graus (exemplo: 19°55’54.5″S 43°56’16.8″W), sendo na maioria das vezes descritos em valores decimais, em que os minutos e segundos são convertidos para valores decimais e o sinal indica o hemisfério (exemplo: -19.931803, -43.938012).

Vale destacar que a diminuição da precisão de uma latitude ou longitude leva a um aumento no erro da localização, sendo que esse erro varia de acordo com a localização ao longo da Terra.

Conheça duas estratégias essenciais para a análise exploratória de dados geoespaciais.

Cálculo de Distâncias

Antes de apresentar as técnicas de análise, é importante falar um pouco sobre o cálculo de distâncias entre duas localizações.

Muitas vezes, é preciso calcular a distância entre dois pontos. Como exemplo, pode-se citar o estudo para implantação de uma antena de celular, o cálculo de estimativa de deslocamento de um usuário móvel e uma análise de contatos entre usuários. Para isso, é preciso ficar atento e lembrar que a Terra é redonda (não é uma esfera perfeita, e isso é pauta para outro momento), e que o cálculo de distância em uma esfera é diferente de um plano. Ou seja, a não ser que as distâncias sejam pequenas ou que uma margem de erro alta seja aceitável, a distância Euclidiana não será precisa. No entanto, cientistas já definiram fórmulas para o cálculo dessa distância, sendo a distância Haversine (en.wikipedia.org/wiki/Haversine_formula) a mais famosa por ser eficiente computacionalmente e muito precisa.

Vale destacar que esse cálculo retorna a distância em linha reta e que muitas vezes o deslocamento feito por um usuário está longe de ser uma linha reta. Em outras palavras, para se analisar dados de mobilidade e trajetória de usuários, é preciso mais do que isso. Uma solução é transformar o mapa viário de uma cidade de interesse em um grafo onde as arestas representam as vias de deslocamento e os vértices representam as interseções entre essas vias, e utilizar algoritmos de grafos para estudar as trajetórias, traçar o caminho mais curto e definir as melhores rotas, por exemplo. Para isso, uma alternativa é utilizar o excelente projeto colaborativo chamado OpenStreetMap (openstreetmap.org), que fornece detalhes de mapas em formatos que podem ser trabalhados computacionalmente.

Análise Exploratória

Com os dados geoespaciais em mãos, é importante fazer uma primeira análise exploratória para se ter uma visão geral dos dados. Seguem algumas dicas e técnicas:

  • Como em toda análise de dados, é preciso inicialmente limpar e remover ruídos que possam interferir nos resultados. Essa tarefa envolve, por exemplo, remover dados com localizações nulas ou inconsistentes. Também pode ser necessário fazer um filtro de uma região de interesse. Caso essa região seja um círculo, é suficiente definir o centro e o raio do círculo para remover localizações fora dele. Caso a região de interesse seja uma outra forma geométrica qualquer, é preciso utilizar alguma API específica, como por exemplo a Shapely para Python (pypi.org/project/Shapely).
  • Após limpar e filtrar os dados, é possível visualizar os mesmos em um mapa, para que sejam observados alguns padrões. Uma primeira forma bem simples é plotar todos os pontos no mapa. Essa estratégia funciona bem com poucos pontos, mas não agrega valor algum quando grandes volumes de dados são utilizados (como o mapa abaixo):
  • Uma outra estratégia que ajuda a visualizar a distribuição dos pontos é o chamado Mapa de Calor (heatmap). Esse mapa mostra onde os pontos estão concentrados de forma mais abrangente. Porém, nem sempre é possível visualizar as características de regiões mais específicas e menores.
  • Para se ter mais detalhes de uma região específica, o agrupamento por densidade de pontos pode também ajudar. Nessa técnica, pontos próximos são agrupados e a densidade do grupo é apresentada, indicando os locais mais densos de forma quantitativa.
  • Uma última alternativa que permite que se tenha uma visão mais detalhada é separar a área de interesse do mapa em quadrantes, e calcular a densidade para cada quadrante. Com isso, é possível escolher o tamanho ideal do quadrante para cada caso, e a coloração do mapa de calor indicará mais precisamente os locais mais e menos densos. Para essa solução, também é necessário utilizar alguma API de manipulação de formas geométricas, como a Shapely para Python.
  • Em muitas análises, além da dimensão espacial, a dimensão temporal também é relevante. Ou seja, tem-se interesse em verificar pontos espaciais ao longo do tempo. Para que essa análise seja feita, uma opção é fazer snapshots em intervalos de tempo definidos, gerando várias imagens ao longo do tempo. Esse intervalo de tempo pode ser tão curto quanto necessário, gerando um número muito grande de imagens, que podem então ser combinadas em um vídeo.

E para fechar:

É notável a existência de grandes volumes de dados geoespaciais coletados de dispositivos móveis. Esse contingente será ainda maior em um futuro próximo, quando veículos autônomos e a Internet das Coisas estiverem consolidados e mais facilmente acessíveis. Apesar de ajudarem na extração de conhecimento, as técnicas existentes ainda podem ser melhoradas e otimizadas. Portanto, existe um grande desafio de pesquisa e desenvolvimento para que seja possível obter o máximo de informação útil a partir de grandes volumes de dados brutos de localização.

Na Cinnecta, em parceria com a UFV, buscamos sempre a inovação e por isso avaliamos constantemente novas técnicas e algoritmos que auxiliem nessa tarefa.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *