Detecção de Outliers em Dados Micrometeorológicos
Thiago M. Ventura1, Henrique O. Marques2, Allan G. de Oliveira1, Claudia A.
Martins1, Marta C. J. A. Nogueira1, Wagner R. S. Teixeira1, Josiel M. de
Figueiredo1, Andréia G. Bonfante1
1
Universidade Federal de Mato Grosso (UFMT)
78.060-900 – Cuiabá – MT – Brasil
2
Universidade de São Paulo (USP)
13.566-590 – São Carlos – SP – Brasil
{thiago, allan, claudia, josiel, andreia.bonfante}@ic.ufmt.br,
[email protected], [email protected], [email protected]
Abstract. For the study of the environment is necessary the analysis of
environmental data. However, such data may contain errors, like outliers,
making the data analysis more difficult. For this reason the detection of
outliers is useful and, hence, this paper proposes a new method to detect them.
The techniques used were Neural Networks and Genetic Algorithms, besides
the concept of distance function, to detect possible outliers in
micrometeorological data. Results in the simulations demonstrated a good
performance of the method reaching a precision of 100% when there were few
outliers and 96.66% when the number of outliers was increased.
Resumo. Para realizar o estudo do meio ambiente é necessário a análise de
dados ambientais. Entretanto, tais dados podem conter erros, como outliers,
prejudicando a análise desses dados. Por isso a detecção dos outliers é útil e,
sendo assim, este trabalho propõe um novo método para detectá-los. Foram
utilizadas técnicas de Redes Neurais e Algoritmos Genéticos, além do conceito
de função distância, para detectar os outliers em dados micrometeorológicos.
Os resultados encontrados nas simulações mostraram um bom desempenho do
método, alcançando uma precisão de 100% quando houve poucos outliers e
de 96,66% quando a quantidade de outliers foi aumentada.
1. Introdução
Dados micrometeorológicos geralmente são coletados por meio de sensores em estações
micrometeorológicas, e representam valores mensurados de variáveis climáticas como
temperatura, umidade relativa do ar, dentre outras. A leitura desses dados são,
normalmente, realizadas 24 horas por dia para cada variável climática, gerando várias
séries temporais relacionadas entre si. Assim, a série de dados micrometeorológica
possui, em cada momento de leitura registrado, um dado multivariado. Um conjunto de
dados multivariados é um conjunto que tem muitas variáveis dependentes e podem ser
correlacionadas entre si em diferentes graus [Santos 2004].
Os valores dos dados coletados e armazenados em estações micrometeorológicas
podem conter erros. A ação de animais próximos aos equipamentos e fortes mudanças
no tempo podem atrapalhar as leituras dos sensores, causando falhas no armazenamento
dos dados. Além do mais, sensores são aparelhos eletrônicos e estão sujeitos a falhas.
Outliers são dados que parecem desviar significativamente dos outros membros
da amostra da qual faz parte [Grubbs 1969]. São valores que não estão coerentes com o
restante da série de dados, podendo ser falhas ou ruídos causados por erros de
equipamentos que se deseja eliminar em uma etapa de pré-processamento. Alguns
métodos de detecção de outliers são os métodos estatísticos, métodos baseados na
distância e na densidade dos dados [Chen et al. 2010]. Um método simples consiste em
estabelecer um valor mínimo e máximo para os dados válidos e considerar como
outliers os dados que saem desse limite.
Em métodos baseado em estatística, podem assumir que os dados possuem uma
distribuição normal e consideram que os dados fora dessa distribuição normal são
outliers [Hodge e Austin 2004]. Apesar de serem métodos simples e com ordem de
complexidade linear em termos de tempo de execução, os métodos estatísticos exigem
conhecimento da distribuição dos dados e das relações entre os parâmetros dessa
distribuição [Chen et al. 2010].
Nos métodos baseados na distância dos dados, os outliers são aqueles dados que
se distanciam mais dos outros dados baseando-se em algum métrica. Esse método
possui ordem de complexidade quadrática, e necessita de um ajuste refinado, que
dificulta a definição dos parâmetros em aplicações práticas [Chen et al. 2010].
Uma dificuldade na detecção de outliers é que os métodos em geral necessitam
de conhecimento específico sobre os dados, sendo necessário modificá-los a cada
aplicação. Logo, seria de grande utilidade um método que não fosse necessário um
estudo aprofundado nos dados. Isso é possível agregando algumas técnicas da área de
inteligência artificial (IA). Sendo assim, o objetivo deste trabalho consiste em utilizar de
tais técnicas para realizar a detecção de outliers, facilitando a interação e aplicação do
método em diversos tipos de dados micrometeorológicos, aproveitando da característica
de dados multivariados para detectar valores incoerentes na série de dados.
2. Metodologia
Os dados utilizados neste trabalho foram coletados em Barão de Melgaço - MT, a 165
km de Cuiabá. As variáveis climáticas processadas contemplam saldo de radiação,
temperatura do solo, temperatura do ar, umidade do ar, velocidade do vento e umidade
do solo. Esses dados foram coletados durante o período de 08/01/2010 à 30/04/2010,
sendo que em cada dia foram realizadas cerca de 48 leituras. No total, foram obtidos
5404 valores para cada variável climática, não contendo nenhum valor ausente.
Além dos dados que representam as variáveis climáticas, também é levado em
consideração o horário em que a leitura foi realizada. Uma amostra dos dados é
apresentada na Tabela 1.
Como mencionado, foram utilizadas técnicas de IA, mais especificamente Redes
Neurais Artificiais (RNA) e Algoritmos Genéticos (AG), para detectar os possíveis
outliers em uma série de dados. RNA têm sido utilizadas com sucesso para modelar
relações envolvendo séries temporais complexas [Haykin 2000]. A maior vantagem das
RNA sobre os métodos convencionais é que elas não requerem informação detalhada
sobre os processos físicos do sistema a ser modelado, sendo este descrito explicitamente
na forma matemática [Sudheer et al. 2003].
Tabela 1. Exemplo dos dados utilizados
Dia
Hora
8
8
8
8
8
8
10:00
10:30
11:00
11:30
12:00
12:30
Saldo de Temperatura Temperatura
Radiação
do solo
do ar
366,76
31,32
29,55
457,04
31,43
29,94
523,73
32,11
30,65
723,24
32,80
31,48
764,08
34,16
31,59
811,97
35,29
32,25
Umidade
do ar
67,65
66,80
64,93
63,44
60,94
57,05
Velocidade Umidade
do vento
do solo
2,327
5,74
1,719
5,73
1,754
5,70
1,408
5,67
2,125
5,64
1,445
5,61
Neste trabalho, a RNA tem o objetivo de estimar um determinado valor de uma
variável climática específica, baseada nos valores das outras variáveis climáticas. Por
exemplo, a RNA pode estimar o valor da temperatura do ar, às 10:00 horas, usando
valores das outras variáveis climáticas no mesmo horário, como mostra a Figura 1.
Figura 1. Estimando um valor de uma variável climática
Esta ação pode ser realizada para todas as variáveis da base de dados. Dessa
forma, pode-se obter um valor estimado para cada leitura da temperatura. Como pode
ser visto em [Ventura 2012], os valores estimados são bem próximos aos valores reais
lidos pelos sensores, devido ao desempenho da RNA e da forte relação entre as
variáveis climáticas. Neste trabalho, a detecção de outliers consiste em comparar os
valores estimados com os valores reais, sendo que quanto maior a diferença entre esses
valores, maior a probabilidade do valor ser um possível outlier na série de dados.
No entanto, um obstáculo em conseguir uma boa estimativa por parte da RNA, é
definir uma arquitetura adequada aos dados utilizados. O comportamento dos dados
varia consideravelmente dependendo das variáveis climáticas utilizadas ou mesmo de
onde foram obtidas. Para contornar esse problema foram utilizados AG, que são
métodos estocásticos de busca de um ótimo global, no qual os indivíduos (possível
solução) mais aptos tendem a sobressair [Assumpção et al. 2011].
Neste trabalho, um indivíduo é composto pelos parâmetros de uma RNA, ou
seja, o indivíduo mais evoluído tem as melhores informações na especificação da RNA
para os dados climáticos. Os parâmetros a serem determinados são: algoritmo de
treinamento, função de ativação para a camada oculta e para a camada de saída, taxa de
aprendizagem, taxa de momentum e os sensores utilizados. Como existem vários
sensores no conjunto de dados, nem todos podem ser úteis para auxiliar na estimativa.
Isto pode prejudicar os cálculos caso o fenômeno que tal sensor representa não tenha
relação com o fenômeno do sensor principal. Por esse motivo que um dos parâmetros a
ser determinado pelo AG são os sensores que devem ser utilizados.
A RNA utilizada foi configurada para ter no máximo 200 épocas, no qual os
possíveis algoritmos de treinamento são os de back propagation, resilient propagation,
manhattan update rule e levenberg-marquardt backpropagation. As funções de
ativação disponíveis são logarithmic, linear, sigmoid e hyperbolic tangent. Já no AG,
foi criada uma população de 40 indivíduos e aplicados os operadores de seleção,
cruzamento com ponto único e de mutação (taxa de 10%).
A proposta deste trabalho foi a utilização de RNA, cujos parâmetros da
arquitetura utilizou AG, para estimar valores de variáveis climáticas e, posteriormente,
compará-las com os valores reais, verificando sua divergência com relação ao restante
da série de dados. A diferença entre o dado obtido pelos sensores e o valor estimado
pela RNA é a distância entre os dados. Quanto maior a distância, maior a possibilidade
daquele dado ser um outlier. Foi criada a equação de distância para este método da
seguinte forma: d=(r–e)/r, onde d é a distância calculada, r é o valor do dado real,
ou seja, o valor armazenado pelos sensores, e e é o valor estimado pelo método.
Para testar essa metodologia, foram utilizados dados para detectar possíveis
outliers no sensor de temperatura do ar. Foram feitas duas simulações de outliers na
base de dados. Em ambas as simulações, valores selecionados aleatoriamente foram
modificados em 25%, tornando-os outliers. A diferença entre uma simulação e outra foi
na quantidade de outliers inseridos em cada série de dados, sendo que na 1ª simulação
foram alterados 1% da série de dados e na 2ª simulação 15%.
Para avaliar o desempenho da metodologia, foi analisado tanto a sua precisão
quanto a sua sensitividade. A precisão é calculada verificando os dados que foram
sinalizados como possíveis outliers e que realmente são outliers (existentes). Já a
sensitividade é avaliada verificando os dados detectados corretamente como outliers em
comparação com todos os outliers existentes na base de dados (Figura 2).
Figura 2. Classificação dos dados para a análise de desempenho
3. Resultados
Na 1ª simulação, 54 valores foram modificados tornando-os outliers. Nesse caso, o
limite de distância considerado para detectar os outliers foi de 0,1. Com esse limite, foi
obtida uma precisão de 100% e uma sensitividade de 100% também. Isso quer dizer que
foram detectados 54 outliers, e nenhum foi detectado incorretamente. Na Figura 3 é
mostrada uma comparação entre os dados reais da série de dados obtidos pela leitura
dos sensores e os valores estimados pelo método. Observe que ambos estão bem
próximos um do outro, mostrando uma boa estimativa obtida.
Figura 3. Gráfico comparativo da primeira simulação em 2 dias
Pode ser visualizado 3 outliers que estão divergindo da série de dados. Em
outras técnicas, os dois primeiros outliers poderiam ser considerados como dados
normais, já que estes estão com um valor menor do que outros dados reais, como as
leituras realizadas por volta das 15:00 do segundo dia do gráfico.
A RNA utilizada para esta simulação foi criada com o algoritmo de treinamento
levenberg-marquardt, com as funções de ativação hyperbolic tangent e linear, com uma
taxa de momentum de 0,7 e taxa de aprendizagem de 0,4, utilizando todos os sensores.
Na 2ª simulação, 811 valores foram modificados para simular outliers para
verificar o desempenho do método com um número maior de outliers na mesma série de
dados. Na Figura 4 é mostrado o gráfico comparativo da 2ª simulação.
Figura 4. Gráfico comparativo da segunda simulação em 1 dia
Pode ser observado que a estimativa, em comparação com as leituras reais,
apresentou uma menor precisão com relação à primeira simulação. Isto provavelmente
ocorreu por causa da grande quantidade de outliers, o qual interfere na detecção dos
padrões contidos na série. Ainda, há outliers em sequência (perto das 7:30 horas).
Foram detectadas esses outliers, no qual talvez outros métodos não conseguiriam.
Nessa simulação, o melhor valor limite para considerar os outliers foi de 0,12.
Com esse valor, foi possível obter uma precisão de 96,66% e uma sensitividade de
96,42%. Nesse caso, 782 outliers foram detectados corretamente e 27 não eram outliers
mas foram considerados como tal pelo método.
A RNA da 2ª simulação também foi criada com o algoritmo de treinamento
levenberg-marquardt, com as funções de ativação logarithmic e linear, com uma taxa de
momentum de 0,2 e taxa de aprendizagem de 0,7, utilizando apenas três sensores.
4. Considerações finais
Este trabalho apresenta um método que é capaz de detectar outliers em séries de dados
micrometeorológicos com o uso de técnicas da área de IA, como as redes neurais
artificiais e os algoritmos genéticos, além de aplicar o conceito de distância.
Para validar o funcionamento do método, foram feitas duas simulações, uma
com 1% de outliers e outra com 15%. Em ambos os casos houve um bom desempenho
por parte do método de detecção de outliers, obtendo 100% de precisão na primeira
simulação e 96,66% na segunda simulação.
Trabalhos futuros desta pesquisa contemplarão a geração de novos testes,
englobando outras variáveis climáticas, menores diferenças do outliers para o dado real
e maiores quantidades de outliers simulados na série de dados, aumentando o número
de outliers em sequência. Com a execução de mais testes e modificações do método,
espera-se uma melhoria na precisão e sensitividade podendo, posteriormente, liberação
do método para a comunidade científica em forma de uma framework.
Referências
Assumpção, M. E., Christoforo, A. L., Panzera, T. H., Brito, J. N., Lamim-Filho, P. C.
M. (2011) “Emprego de algoritmos genéticos na determinação das dimensões Ótimas
de uma torre treliçada” In: XI Congresso Nacional de Engenharia Mecânica,
Metalúrgica e Industrial. Porto Alegre, RS: ABEMEC, p. 1–7.
Chen, S., Wang, W., Zuylen H. (2010) “A comparison of outlier detection algorithms
for ITS data”. Expert Systems with Applications 37, 1169-1178.
Grubbs, F. E. (1969) “Procedures for detecting outlying observations in samples”.
Technometrics 11, p 1–21.
Haykin, S. S. (2000) “Redes Neurais - Princípios e Prática”. Bookman.
Hodge, V. J., Austin, J. (2004) “A Survey of Outlier Detection Methodologies”. Kluwer
Academic Publishers, p 13-18.
Santos, S. R. (2004) “A Framework for the Visualization of Multidimensional and
Multivariate Data”. 196 p. Tese – The University of Leeds.
Sudheer, K. P., Gosain, A. K., Ramasastri, K. S. (2003) “Estimating actual
evapotranspiration from limited climatic data using neural computing technique”
Journal of Irrigation and Drainage Engineering-asce 129.
Ventura, T. M. (2012) “Preenchimento de Falhas de Dados Micrometeorológicos
Utilizando Técnicas de Inteligência Artificial”. 73 p. Dissertação – Programa de PósGraduação em Física Ambiental – UFMT.
Download

Detecção de Outliers em Dados Micrometeorológicos