• Nenhum resultado encontrado

Inferência de informação do fluxo de automóveis a partir dos autocarros

Na última etapa do processo é criado um dataset que será interpretado por programas de machine learging.

Cada instância do dataset tem informação sobre as condições meteorológicas em que o veículo realizou a viagem assim como informações sobre o tempo de viagem, diferença de tempo entre as passagens e as velocidades, média, máxima e os vários percentis do automóvel e dos últimos três autocarros.

Neste ponto, são removidas as instâncias nas quais que não haja pelo menos um au- tocarro a passar nos 30 minutos anteriores. Esta opção prende-se com o facto de ter sido considerado empiricamente que a informação entre a passagem de um autocarro e de um veículo estão potencialmente relacionadas se ocorrerem dentro de um intervalo máximo de 30 minutos.

Adicionalmente, é preciso ter em atenção que existe informação que necessita de ser retirada antes da realização das experiências, como por exemplo as velocidades do auto- móvel no caso de estarmos a testar o tempo de viagem. A razão subjacente respeita ao facto de esta informação, num caso real, não estaria disponível para o cálculo em questão.

Método para inferência de informação sobre o fluxo de trânsito na via

3.5

Algoritmos de regressão

Para a realização das várias experiências foram usados vários algoritmos, abaixo apre- sentados

• Linear Regression

Linear Regressioné um método que permite estimar o valor de uma variável A, tendo

em conta os valores de uma ou mais variáveis Bp. A Linear Regression pode também ser aplicada para qualificar a relação entre a variável Bpe A.

A regressão é denominada "linear"porque se considera que a relação da variável a classificar é uma função linear de algum dos parâmetros. [MPV12]

• Multilayer Perceptron

Multilayer Perceptroné um modelo de rede neural que mapeia conjuntos de dados

de entrada num conjunto de saída apropriado, utiliza uma técnica de aprendizagem supervisionada denominada backpropagation para treino da rede[GD98]— o erro ob- tido no conjunto final é transmitido para trás pela rede neuronal e é usado para que o algoritmo ajuste o peso de cada ligação.

Multilayer Perceptroné um modelo de rede neuronal que é constituído por várias

camadas de unidades computacionais, em que a sua ligação é feedforward —uma rede em que as ligações entre as camadas não formam um ciclo.

• Support Vector Machine

Support Vector Machine constrói um hiperplano— um sub-espaço de dimensão n-

1, em que n é o número de dimensões do espaço original. Posteriormente tenta dividir os dados por esse hiperplano, sendo a boa separação conseguida através do hiperplano que tem a maior distância ao ponto mais próximo da outra classe. Quanto maior for a margem de erro mais baixa é a generalização do classificador. O método baseado em Support Vector Machine para regreção é denominado support

vector regression. O modelo produzido pelo support vector regression depende apenas

de um subconjunto dos dados de treino, tendo em conta que a função de custo para a construção do modelo ignora os dados de treino perto da previsão do mesmo[SS04]. • M5P

O algoritmo original M5 foi inventado por R. Quinlan e posteriormente foi aprimo- rado por Yong Wang [Q+92].

O M5P combina uma árvore de decisão convencional, com a possibilidade de fun- ções de regressão linear nos nós. Em primeiro lugar, um algoritmo de indução é usado para construir a referida árvore de decisão, contudo vez de maximizar a in- formação de ganho em cada nó interno, é usado um critério de divisão que minimiza a variação intra-subconjunto dos valores abaixo de cada ramo. O procedimento de divisão pára se os valores dos nós variarem muito pouco.

• REPTree

Método para inferência de informação sobre o fluxo de trânsito na via

REPTree é uma árvore de decisão rápida que constrói uma árvore de regressão. Esta nova árvore usa o ganho de informação como critério de divisão, apenas classifi- cando os atributos numéricos uma vez. Os valores em falta são tratados com recurso ao método C4.5[ZZ08].

• IBK

IBK é um classificador baseado em K-Nearest Neighbors. Usa os K vizinhos mais próximos do ponto para calcular o seu valor. Este valor representa a média dos seus k vizinhos mais próximos.

k-NN é um tipo de aprendizagem baseada em lazy learning. O algoritmo k-NN é um dos algoritmos mais simples de machine learning, tendo sido usada validação cruzada para escolher o melhor valor de k[AKA91].

• Additive Regression

Additive Regressioné um meta-classificador que melhora o seu desempenho a cada

iteração. Normalmente o primeiro modelo de previsão utilizado é a média de to- dos os valores e a cada iteração o algoritmo aprende um novo modelo de previsão e aplica-o ao conjunto de dados. A taxa de aprendizagem ajuda a evitar que o algo- ritmos ajuste demasiado ao de treino[Fri02].

Método para inferência de informação sobre o fluxo de trânsito na via

Capítulo 4

Implementação

Neste capitulo descreve-se a implementação realizada para cumprir todo o processo descrito no capitulo 3. Em particular, o tratamento do mapa para a realização do mapea- mento e a criação do dataset para inferência do fluxo de trânsito da via.

4.1

Criação do mapa de estradas para o mapeamento

Esta etapa é particularmente importante para aumentar a eficiência do mapeamento. O mapa escolhido foi o OpenStreetMap devido ao facto de ser open source, de existir uma boa documentação subjacente ao mesmo e por ser permitido o acesso ao código fonte, sem depender de uma API. O mapa usado contém apenas informação sobre a zona do Grande Porto, objetivando o aumento da velocidade de processamento do mapeamento dos dados de GPS.

Ainda relativamente ao OpenStreetMap de referir que este é um mapa gratuito que conta com a contribuição da comunidade para o seu crescimento e que usa um sistema de

tagspara representar todas as características necessárias, como as estradas ou até mesmo

os edifícios. Existem três tags que são consideradas principais, node, Way e Relation. O tag node é o elemento principal no modelo do OpenStreetMap, sendo caraterizado por informações de latitude, longitude e um identificador único. A latitude e longitude são descritas em graus com um máximo de 7 casas decimais. O node pode representar uma interseção, um cruzamento ou parte de edifício.

A tag way é constituída por uma lista ordenada de nodes, que normalmente têm pelo menos uma tag que descreve o tipo de via. A way pode ter entre 2 e 2.000 nodes, embora seja possível que existam situações com nenhum ou um node. A way pode ser aberta ou fechada, considerando-se fechada aquela cujo o último nó é também o primeiro. A way fe- chada pode ser interpretada como um polígono fechado, como por exemplo uma rotunda ou a limitação de um edifício, tal como representado nas figuras 4.1 e 4.2.

A tag relation é constituída por uma ou mais tags de descrição, uma lista ordenada de um ou mais nodes e uma lista ordenada de uma ou mais ways. Esta é principalmente usada para definir as relações lógicas ou geográficas entre os elementos. Um exemplo prático de uma relation é uma estrada de acesso restrito a BUS, e neste caso haverá nodes que descrevem as paragens de autocarros. Na imagem 4.3 é apresentada uma relação: os pontos laranjas representam os nodes da relation e as linhas laranjas representam as ways da relation. A relation apresentada tem como descrição as seguintes tags.

Implementação

Figura 4.1: Exemplo de uma tag way para limitação de um edifício (cor amarela)

Figura 4.2: Exemplo de uma tag way para uma rotunda (cor verde)

Implementação

Figura 4.3: Exemplo prático de uma tag relation • name = Place Jacques-Cartier–Lac-Saint-Charles

• network = RTC

• operator = Réseau de Transport de la Capitale

O sistema de tags do OpenStreetMap permite que o mapa possa incluir um número ilimitado de atributos e assim poder descrever cada recurso existente. A comunidade con- corda com certas combinações de tags e valores para as situações mais comuns, atuando como normas informais. No entanto, os utilizadores podem criar novas tags para melho- rar o estilo do mapa ou para apoiar as análises que dependem de atributos previamente não mapeados. A maioria dos recursos é descrito usando apenas um pequeno número de tags.

O mapa original do OpenStreetMap é assim muito completo e tem informações de importante relevância, embora careça de informações que são necessárias, como a veloci- dade máxima da via.

Consequentemente antes de usar o mapa para fazer o mapeamento dos dados de GPS recolhidos é necessário realizar-se um pré-processamento no mapa. O pré-processamento é realizado com recurso a um XML de configuração.

O XML de configuração é uma lista de tipos de vias e a cada tipo de via está associ- ada uma velocidade. Assim, por exemplo, uma via do tipo highway terá uma velocidade máxima de 120km/h. Este ficheiro só deve conter os tipos de vias que interessam para o mapeamento, sendo como tal eliminadas vias para bicicletas visto não se encontrarem no ficheiro de configuração, como mostrado no exemplo abaixo.

Implementação

1 <?xml v e r s i o n=" 1 . 0 " encoding="UTF−8" ?>

2 <routing−config v e r s i o n=" 1 . 0 ">

3 <route−type name=" motorway_link " speed=" 120 " oneway=" yes "> 4 <required−tag key=" highway " value=" motorway_link "/> 5 </route−type>

6 <route−type name=" secondary " speed=" 90 ">

7 <required−tag key=" highway " value=" secondary " /> 8 </route−type>

9 </route−type>

10 <route−type name=" r e s i d e n t i a l " speed=" 50 ">

11 <required−tag key=" highway " value=" r e s i d e n t i a l "/> 12 </route−type>

13 </routing−config>

Listing 4.1: "Exemplo de um ficheiro de configuração"

O mapa resultante é assim um mapa que contém informação sobre todas as vias pas- síveis de serem acedidas quer por automóveis quer por autocarros.

Documentos relacionados