2.5 Outlier Detection
4.1.1 Estrutura da base de dados
Embora não tenha sido permitido o acesso integral à base de dados, a parte que foi disponibi- lizada tem um volume de dados armazenado suficientemente grande para o problema em questão cair na categoria de Big Data, bem como pelo facto de ser posteriormente implementado um método de deteção de outliers, como foi já revisto. O número de tabelas existente é de várias dezenas, e o tamanho total da base de dados ultrapassa os 482GB. Apesar do grande número de tabelas existente, a informação não se encontra dividida de igual forma, sendo que grande parte delas possui uma quantidade de dados irrisória quando comparada com as duas principais tabelas (tabela1 e tabela2)1que em conjunto representam, aproximadamente, 94,62% do volume total da base de dados. A importância destas duas tabelas é enorme, uma vez que foram as únicas que foram utilizadas para a criação do dataset, pois possuem todos os dados necessários. Elas arma- zenam informação recolhida dos veículos com uma periodicidade predefinida, geralmente a cada 30 segundos ou 1 minuto. Essa informação difere entre estas duas tabelas, mas ambas registam informação recolhida de um dado veículo a uma dada hora, apenas quando o veículo está ligado, assumindo que não ocorreu nenhum erro do equipamento.
4.1.1.1 Tabela tabela1
A tabela tabela1, assim como a tabela tabela2, possui informação imprescindível para que o dataset necessário possa ser construído. É, de longe, a tabela que corresponde à maior parte do volume da base de dados, contabilizando cerca de 89,09% desta, o que representa, em valores absolutos, pouco mais que 430GB. Este valor avultado deve-se não ao tamanho dos dados guar- dados, mas antes à quantidade existente desses mesmos dados, o que é inteiramente justificável dado o intervalo de tempo de recolha de dados e a periodicidade com que são registados na base de dados. Estão armazenados nesta tabela 2798496864 registos, mas apenas 8779 veículos distin- tos, perfazendo uma média de, sensivelmente, 318771 registos por veículo. Esta tabela possui 8 atributos diferentes que representam:
• O id de um veículo, que representa uma chave externa que aponta para a chave primária de uma tabela sobre as viaturas;
• A data e a hora, com precisão ao segundo, em que se deu o registo da informação instantânea de um dado veículo;
• A latitude registada de um veículo num dado momento, em graus decimais; • A longitude registada de um veículo num dado momento, em graus decimais;
• A velocidade instantânea registada de um veículo num dado momento, em valores inteiros; • O estado da ignição, que toma somente dois valores que indicam se o veículo está ligado ou
desligado;
1Por questões de confidencialidade, os nomes reais das tabelas e dos seus atributos foram substituídos ou omitidos
Construção do dataset e deteção de consumos excessivos • A distância percorrida, em metros, pelo veículo em questão;
• O endereço aproximado do veículo num dado momento, mediante os valores de latitude e longitude recolhidos.
Os atributos relativos ao id e à data e hora formam, em conjunto, a chave primária. Os valores de alguns destes atributos demonstram-se, muitas vezes, erróneos, tornando-se impossível a sua utilização, pelo que se tornou imperativo a utilização de algum nível de pré-processamento dos dados. Existem também atributos, como os que indicam a latitude e longitude, que não têm im- portância para este problema, devido à existência do atributo que designa o endereço aproximado, que permitiu, posteriormente, dividir o dataset em duas partes. Na Tabela 4.1 é possível ver um exemplo de registos existentes em tabela1 e como são expressos os valores de cada atributo, em- bora os dados apresentados sejam fictícios por questões de privacidade.
id data e hora latitude longitude velocidade ignição distância endereço 34 2015-05-01 12:14:30 41,667 -7,856 34 ligado 15824673 N15 56 2015-05-01 12:14:54 41,489 -8,024 78 ligado 32915408 A4 34 2015-05-01 12:15:00 41,667 -7,857 39 ligado 15825089 N15 34 2015-05-01 12:15:30 41,669 -7,857 36 ligado 15825505 N15
Tabela 4.1: Exemplo de registos da tabela tabela1
4.1.1.2 Tabela tabela2
A tabela tabela2 é bastante mais pequena que a tabela tabela1, representando sensivelmente 5,53% da base de dados, mas de igual relevância para a composição do dataset. Assim como tabela1, possui uma chave primária no conjunto dos dois atributos relativos ao id e à data e hora. Estão armazenados nesta tabela 253985246 registos, mas apenas possui 1462 veículos distintos, perfazendo uma média de cerca de 173724 registos por veículo. Nesta tabela existem 11 atributos, entre os quais os seguintes sete:
• Tal como em tabela1, um atributo representa o id de um veículo e possui uma chave externa que aponta para a chave primária de uma tabela de viaturas;
• Assim como em tabela1, um atributo representa a data e a hora, com precisão ao segundo, em que se deu o registo da informação instantânea de um dado veículo;
• A quantidade de combustível gasto desde que o veículo está em circulação;
• O valor das rotações por minuto instantâneas registadas pelo motor no momento em que foi recolhido o registo;
Construção do dataset e deteção de consumos excessivos
• A temperatura registada pelo motor no momento em que foi recolhido o registo;
• A intensidade com que o condutor está a pressionar no pedal de aceleração no momento em que foi recolhido o registo;
• A percentagem de combustível que se encontra no depósito num dado momento.
O significado de 4 dos atributos é desconhecido e, por isso, foram afastados logo à partida da análise em questão. Para além disso, deste conjunto de atributos apenas o atributo relativo à quan- tidade de combustível gasto, a par com a chave primária, foi utilizado para a construção do dataset, uma vez que os restantes não apresentavam relevância para a análise necessária ou possuíam uma grande percentagem de valores definidos como null, dificultando qualquer análise adicional que fosse interessante realizar e que acrescentasse valor aos resultados obtidos. Na Tabela 4.2 é apre- sentado um exemplo dos registos existentes em tabela2.
id data e hora combustível rotações temperatura intensidade 79 2014-11-08 18:56:34 41264,5 1023,25 80 47
12 2014-11-08 18:56:47 23086 783,75 78 32 79 2014-11-08 18:57:34 41264,5 1492,75 89 65 79 2014-11-08 18:58:33 41265 1137,875 86 34
Tabela 4.2: Exemplo de registos da tabela tabela22