Detecção de anomalias: diferenças entre revisões

Fonte: aprendis
Saltar para a navegaçãoSaltar para a pesquisa
mSem resumo de edição
 
(Há 43 revisões intermédias de 3 utilizadores que não estão a ser apresentadas)
Linha 5: Linha 5:
}}
}}


== Introdução ==
== Anomalias ==


Embora as anomalias costumam ser consideradas erros ou ruídos, elas podem conter informação importante<ref name="Pang">Pang-Ning T, Steinbach M, Kumar V: Introduction to Data Mining. 2006.</ref><ref name="Maletic">Maletic JI, Marcus A: Data Mining and Knowledge Discovery Handbook. 2nd edition. Boston, MA: Springer US; 2010.</ref>, sendo assim, de forma a se obter uma análise coerente de uma observação, é crucial identificá-las antes da modelação de um algoritmo e da análise dos resultados.<ref name="Liu">Liu H, Shah S, Jiang W: On-line outlier detection and data cleaning. Comput Chem Eng 2004, 28:1635–1647.</ref><ref name="Williams">Williams G, Baxter R, Hawkins S: A comparative study of RNN for outlier detection in data mining. In 2002 IEEE International Conference on Data Mining, 2002. Proceedings.; 2002:709–712.</ref>.
A deteção de anomalias consiste na identificação de padrões em dados com um comportamento diferente do esperado. Estes padrões são muitas vezes referidos como anomalias, ''outliers'', exceções, aberrações, observações discordantes, entre outros, variando de acordo com o contexto. Os termos anomalia e ''outlier'' são os mais utilizados no contexto de deteção de anomalias.


A definição exata de uma anomalia depende geralmente de pressupostos inerentes à estrutura de dados e ao método aplicado para sua detecção:
Vários fatores contribuem para a caracterização do problema, tais como a natureza dos dados de entrada, a disponibilidade de rótulos e as restrições e requisitos.


* Hawkins (1980)<ref name="Hawkins">Hawkins D, Identification of Outliers, Chapman and Hall, 1980.</ref> “Uma observação que se desvia demasiadamente das outras observações ao ponto de levantar suspeitas de ter sido gerada por um mecanismo diferentes.”
== Natureza dos dados ==
* Johnson (1992)<ref name="Johnson ">Johnson R, Applied Multivariate Statistical Analysis. Prentice Hall, 1992.</ref> “Uma observação em uma série de dados em aparenta ser inconsistente com o restante daquela série de dados.”
* Barnett (1994)<ref name="Lewis ">Barnett V, Lewis T, Outliers in Statistical Data. JohnWiley, 1994.</ref> “A observação anómala, ou anomalia, é aquela que aparenta desviar-se marcadamente dos outros membros da amostra em que ela ocorre.”


Os métodos de detecção de anomalias tem sido utilizados em diversas aplicações, como detecção de fraude em cartões de crédito, irregularidade em eleições, limpeza de dados, invasão de redes, previsão de tempestades, detecção de anomalias em registos e análises médicas, detecção de tumores em imagens, e outras tarefas.
Os atributos podem ser binários, categóricos ou contínuos. Um dado pode consistir em apenas um atributo (univariável) ou múltiplos atributos (multivariada). No caso de dados multivariados, todos os atributos podem ser do mesmo tipo ou pode ser uma mistura de diferentes tipos de dados.


== Taxonomia dos métodos de detecção de anomalias ==
A natureza dos atributos determina a aplicabilidade dos métodos de deteção de anomalias.


Os métodos de detecção de anomalias foram inicialmente divididos em métodos univariados e multivariados, sendo atualmente divididos em métodos paramétricos (estatísticos) e não-paramétricos (''model-free'').
Os dados de entrada também podem ser categorizados com base na relação presente entre instâncias de dados<ref name="Pang">Pang-Ning T, Steinbach M, Kumar V: Introduction to Data Mining. 2006.</ref>. A maioria dos métodos de deteção de anomalias existentes lida com dados pontuais, em que nenhum relacionamento é assumido entre os tipos de dados.


Os métodos paramétricos ou assumem que existe alguma distribuição conhecida dos dados<ref name="Hawkins"/><ref name="Lewis"/><ref name="Rousseeuw">Rousseeuw PJ, Leroy AM: Robust Regression and Outlier Detection. Time 1987, 3:329.</ref>, ou tem como fundamentação a estimativa estatística de uma distribuição desconhecida<ref name="Hadi">Hadi AS: Identifying Multiple Outliers in Multivariate Data. Journal of the Royal Statistical Society. Series B (Methodological) 1992:761–771.</ref>. Tais métodos são na maioria das vezes impróprios para uma série de dados de grandes dimensões ou para série de dados sem qualquer conhecimento prévio de sua distribuição<ref name="Papadimitriou">Papadimitriou S, Kitagawa H, Gibbons PB, Faloutsos C: LOCI: Fast outlier detection using the local correlation integral. In Proceedings - International Conference on Data Engineering; 2003:315–326.</ref>.
Em geral, as instâncias de dados podem ser ligadas umas às outras. Alguns exemplos são dados sequenciais, dados espaciais, e dados gráficos. Em dados sequenciais, as instâncias dos dados são linearmente ordenáveis, por exemplo, as séries cronológicas, sequências do genoma ou sequências proteicas. Em dados espaciais, cada tipo de dados está relacionado com as suas instâncias vizinhas, por exemplo, os dados de tráfego de veículos ou dados ecológicos. Quando os dados espaciais têm uma componente temporal, são referidos como dados espaço-temporais, por exemplo, dados sobre o clima. Nos dados gráficos, instâncias de dados são representados como vértices de um grafo e ligados a outros vértices com arestas.


Nos métodos não-paramétricos podemos evidenciar os métodos de data-mining, também chamados de métodos baseado em distância. Estes métodos geralmente baseiam-se em medidas de distâncias locais e são capazes de processar base de dados de grande volume<ref name="Knorr">Knorr E, Ng R, Tucakov V: Distance-based outliers: algorithms and applications. VLDB J Int J Very Large Data Bases 2000, 8:237–253.</ref>. Outro método de detecção de anomalias está fundamentado nas técnicas de agrupamento (''clustering'') onde grupos de pequenas dimensões podem ser considerados como anomalias.<ref name="Ramaswamy">Ramaswamy S, Rastogi R, Shim K: Efficient algorithms for mining outliers from large data sets. ACM SIGMOD Rec 2000, 29:427–438.</ref><ref name="Kaufman">Kaufman L, Kaufman L, Rousseeuw PJ, Rousseeuw PJ: Finding Groups in Data: An Introduction to Cluster Analysis (Wiley Series in Probability and Statistics). 2005.</ref>.
== Tipos de anomalias ==


== Métodos paramétricos ==
=== Anomalias pontuais ===


=== Métodos estatísticos ===
[[File:Ecdsfig01.png|thumb|right|'''Figura 1''' - Exemplo de anomalias em uma série de dados de duas dimensões.]]


== Métodos não-paramétricos ==
Se um tipo de dado individual pode ser considerado como anormal relativamente ao resto dos dados, o tipo é designado por anomalia pontual. Esta classificação de anomalia é a mais simples e é o foco da maioria das pesquisas sobre deteção de anomalias. Por exemplo, na Figura 1, os pontos O<sub>1</sub> e O<sub>2</sub>, bem como pontos na região O<sub>3</sub>, estão fora o limite de regiões normais N<sub>1</sub> e N<sub>2</sub> e, portanto, são anomalias pontuais, uma vez que são diferentes dos dados normais.


=== Métodos baseados na distância ===
Como exemplo real temos a deteção de fraude no uso do cartão de crédito. Suponhamos que o conjunto de dados corresponde às transações com o cartão de crédito de um indivíduo. Por uma questão de simplicidade, vamos supor que os dados são univariáveis, e são caraterizados como sendo o montante gasto. Se uma transação para a qual o montante gasto é muito elevado em comparação com o intervalo normal de despesas para esta pessoa, será uma anomalia pontual.


Inicialmente proposto por Knorr & Ng (1997)<ref name="Knorr97">Knorr E, Ng R, ”A unified approach for mining outliers,” In Proceedings Knowledge Discovery KDD, 219-222, 1997.</ref>, tem como pressupostos que os dados normais tem uma vizinhança densa, e que as anomalias estão afastados dos seus vizinhos.
=== Anomalias contextuais ===


O modelo básico de Knorr & Ng considera que a observação é definida como uma anomalia (baseada em distância) se ao menos uma fração ''β'' das observações da série de dados está afastada para além de ''r''. Tal definição está baseada em um único critério global, determinado pelos parâmetros ''r'' e ''β''. Esta definição levanta algumas dificuldades como a determinação do valor de ''r'' e a falta de um ranking para as anomalias. Sua complexidade computacional é de ''<big>O(pn<sup>2</sup>)</big>'', onde ''p'' é o número de atributos e ''n'' o tamanho da amostra, sendo portanto inadequado para grandes séries de dados.
Se uma instância de dados é anômala num contexto específico, mas não de outra forma é denominado por anomalia contextual (também é referida como anomalia condicional<ref name="Xiuyao">Xiuyao S, Mingxi W, Jermaine C, Ranka S: Conditional anomaly detection. IEEE Trans Knowl Data Eng 2007, 19:631–644.</ref>. A noção de um contexto é induzida pela estrutura do conjunto de dados e tem de ser especificada como parte da formulação do problema. Cada instância de dados é definida usando os dois seguintes conjuntos de atributos:


==== k-Vizinho mais Próximo (''k-Nearest Neighbor'': k-NN) ====
==== Atributos contextuais ====


Proposta por Ramaswamy (2000)<ref name="Ramaswamy"/>, considera que as anomalias são as ''n'' observações que possuem as maiores distâncias ao seu ''k''-ésimo vizinho mais próximo. Uma deficiência deste método é que ele só considera a distância do ''k''-ésimo vizinho e ignora a informação das observações mais próximas. Uma alternativa também utilizada é obter a distância média dos ''k'' vizinhos mais próximos, com a desvantagem de levar mais tempo para ser calculado. Possui uma complexidade computacional variável dependendo do algoritmo de procura do vizinho mais próximo<ref name="Weber">Weber R, Schek HJ, Blott S: A Quantitative Analysis and Performance Study for Similarity-Search Methods in High-Dimensional Spaces. Proc 24th VLDB Conf 1998, New York C:194–205.</ref>
São usados para determinar o contexto para essa instância. Por exemplo, em conjuntos de dados geográficos, a longitude e latitude de um local são os atributos do contexto. Em dados de séries temporais, o tempo é um atributo contextual que determina a posição de uma instância em toda a sequência.


==== Fator de Anomalia Local (''Local Outlier Factor'': LOF )====
==== Atributos comportamentais ====


=== Métodos baseados em densidade ===
[[File:123123ecdsfig02.png|thumb|right|'''Figura 2''' - Anomalia contextual ''t''<sub>2</sub> em uma série de dados temporal de temperaturas.]]


==== Fator de Anomalia Local Baseado em Aglomerados (''Cluster-Based Local Outlier Factor'': CBLOF) ====
Definem as características não contextuais de uma instância. Por exemplo, num conjunto de dados geográficos descrevendo a precipitação média de todo o mundo, a quantidade de precipitação em qualquer local é um atributo comportamental.


==== Densidade Local do Fator de Anomalia Baseado em Aglomerados (''Local Density Cluster-Based Outlier Factor'': LDCOF) ====
A Figura 2 mostra um exemplo de uma série de tempo-temperatura que indica a temperatura mensal de uma área ao longo dos últimos anos. Uma temperatura de 35°F pode ser normal durante o inverno (no momento t<sub>1</sub>) naquele local, mas o mesmo valor durante o verão (no tempo t<sub>2</sub>) seria uma anomalia. Um exemplo semelhante pode ser encontrado no domínio de deteção de fraude no cartão de crédito. Um atributo contextual no domínio do cartão de crédito pode ser o momento da compra. Suponha que um indivíduo geralmente tem um gasta em regra 100 euros por semana exceto durante a semana do Natal, quando se chega 1000 euros. Uma nova compra de 1000 numa semana em julho será considerada uma anomalia contextual, uma vez que não se conforma com o comportamento normal do indivíduo no contexto de tempo, embora o mesmo valor gasto durante a semana do Natal será considerado normal.
 
=== Anomalia coletiva ===
 
[[File:123123ecdsfig03.png|thumb|right|'''Figura 3''' - Anomalia coletiva correspondente a Contração Atrial Prematura em um eletrocardiograma humano.]]
 
Se uma coleção de instâncias de dados relacionados é anómala no que diz respeito a todo o conjunto de dados é denominado por anomalia coletiva. As instâncias de dados individuais numa anomalia coletiva podem não ser anomalias por si mesmos, mas a sua instância num conjunto, como uma coleção é anômalo. A Figura 3 é um exemplo que mostra uma saída de eletrocardiograma humano<ref name="Goldberger">Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PC, Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley H.: PhysioBank, PhysioToolkit, and PhysioNet: Components of a New Research Resource for Complex Physiologic Signals. Circulation 2000, 101:215–220.</ref>. A região em destaque indica uma anomalia, pois existe o mesmo valor baixo para um tempo anormalmente longo (correspondente a uma contração prematura atrial). Nota-se que o baixo valor por si só não é uma anomalia.
 
== Rótulos de dados ==
 
Os rótulos associados a um tipo de dados vão informar se este é normal ou anormal. A rotulagem dos dados normalmente é feita por um expert, e, portanto, é necessário um grande esforço para se obter dados rotulados.
 
Com base na disponibilidade de dados rotulados, os métodos de deteção de anomalias podem operar das seguintes formas:
 
=== Deteção supervisionada ===
 
Estes métodos assumem que existe uma série de dados de treino com instancias rotuladas como normais e anormais. A abordagem típica nestes casos, é construir um modelo preditivo para classes normais vs. anomalia. Há duas grandes questões que surgem na deteção de anomalias supervisionadas. Em primeiro lugar, os exemplos de anomalias são muito menos em comparação com os casos normais nos dados de treino. Em segundo lugar, a obtenção de rótulos precisos e representativos, especialmente para a classe anomalia é um desafio. Alguns métodos foram propostos introduzindo anomalias artificiais num conjunto de dados normais para obter um conjunto de dados de treino rotulado<ref name="Theiler">Theiler JP, Cai DM: Resampling approach for anomaly detection in multispectral images. Proc SPIE 2003, 5093:230–240.</ref><ref name="Abe">Abe N, Zadrozny B, Langford J: Outlier detection by active learning. Proc 12th ACM SIGKDD Int Conf Knowl Discov data Min - KDD ’06 2006:504.</ref><ref name="Steinwart">Steinwart I, Gov D, Scovel C, Gov J: A Classification Framework for Anomaly Detection Don Hush. J Mach Learn Res 2005, 6:211–232.</ref>. Para além destas duas questões, o problema de deteção de anomalias supervisionado é semelhante à construção de modelos preditivos.
 
=== Deteção semi-supervisionada ===
 
Assume-se que os dados de treino só têm tipos de dados da classe normal. Uma vez que estas não necessitam de rótulos para as classes de anomalias. Por exemplo, na deteção de falhas em naves espaciais<ref name="Fujimaki2005">Fujimaki R, Yairi T, Machida K: An approach to spacecraft anomaly detection problem using kernel feature space. Proceeding Elev ACM SIGKDD Int Conf Knowl Discov data Min - KDD ’05 2005:401.</ref>, um cenário de anomalia significaria um acidente grave, o que não é fácil de modelar. A abordagem típica usada em tais métodos é a construção de um modelo para a classe correspondente ao comportamento normal, e utilizar o modelo para identificar anomalias nos dados de teste.
 
=== Deteção não-supervisionada ===
 
Estes métodos não requerem dados de treino pelo que são amplamente aplicáveis. Os métodos nesta categoria fazem a suposição implícita de que os tipos normais são muito mais frequentes do que as anomalias nos dados de teste. Se esta hipótese não for verdadeira, então tais métodos sofrem com uma taxa elevada de falsos alarmes. Muitos métodos semi-supervisionados podem ser adaptados para operar num modo sem supervisão utilizando uma amostra dos dados não marcados criados como dados de treino. Esta adaptação assume que os dados de teste contêm muito poucas anomalias e o modelo aprendido durante o treino é robusto para estas poucas anomalias.
 
=== Resultados da Deteção de anomalias: ===
 
Os resultados produzidos pelos métodos de deteção de anomalias são de um dos dois tipos seguintes:
 
<ul>
<li><p>'''Pontuações''': os métodos de pontuação atribuem uma pontuação de anomalia para cada instância no teste de dados, dependendo do grau da anomalia. O analista pode optar por analisar as anomalias mais “pontuadas” ou usar um ponto de corte para as selecionar.</p></li>
<li><p>'''Rótulos''': os métodos usados atribuem um rótulo (normal ou anormal) para cada instância de teste.</p></li>
</ul>
 
== Exemplos de aplicação das métodos de deteção de anomalias ==
 
Para cada aplicação é importante perceber o significado da anomalia, a natureza, os desafios/obstáculos associados à sua deteção e quais os métodos de deteção mais apropriados.
 
Alguns exemplos de aplicações e métodos mais utilizadas:
 
=== Deteção de intrusos ===
 
Os métodos de deteção semi-supervisionada e não-supervisionadas são as mais utilizadas. Nestes casos, estão geralmente disponíveis dados rotulados correspondentes ao comportamento normal/esperado, mas não existem dados rotulados para as intrusões. Ex.: Aplicações num contexto de segurança.
 
Em 1987 Denning classificou os sistemas de deteção de intrusos em '''''host-based''''' (no hospedeiro) e '''''network-based''''' (na rede).
 
=== Deteção de fraudes ===
 
Um exemplo concreto é a deteção de fraudes a cartões de crédito.
 
Neste domínio os dados são geralmente compostos por registos de várias dimensões, tais como a identificação do cliente (ID), o valor gasto, o tempo entre transações, entre outras. As fraudes representam tipicamente transações, correspondentes a anomalias pontuais, onde se verificam pagamentos de valores elevados, compra de produtos nunca antes adquiridos pelo utilizador, elevadas taxas de compras, entre outros. Para a sua deteção as organizações baseiam-se na monitorização e no comportamento “padrão” do cliente em questão, rotulando-o. Cada cliente é associado a um “perfil”, permitindo a utilização de métodos de agrupamento. Existem duas abordagens para a resolução deste problema. A primeira é conhecida por ''by-owner'', e consiste na rotulagem de cada cliente consoante o histórico de transações. Esta abordagem é geralmente cara, pois implica a consulta de um repositório central de dados a cada transação, para a comparação de comportamentos. A segunda, conhecida por ''by-operation'', deteta transações invulgares com base na localização geográfica. Estes, são métodos de deteção contextuais em que na primeira o contexto é o utilizador, e na segunda o contexto é a localização geográfica<ref name="Chandola2009">Chandola V, Banerjee A, Kumar V: Anomaly detection. ACM Comput Surv 2009, 41:1–58.</ref>.
 
O conceito de ''monitorização de atividade'' como uma abordagem geral para a deteção de fraudes nestes domínios foi introduzido por Fawcett ''et al.'' (1999).
 
Na tabela 1 esta representados alguns exemplos de métodos utilizadas para a deteção de fraudes a cartão de crédito.
 
{| class="wikitable"
! style="font-weight: bold;" | Método
! style="font-weight: bold;" | Referência
|+Tabela 1 - Exemplos de métodos de detecção de anomalias utilizadas em detecção de fraudes a cartões de crédito (adaptada de Chandola ''et al.'', 2009)<ref name="Chandola2009"/>
|-
| Neural Networks
| Aleskerov ''et al.'' (1997), Ghosh ''et al.'' (1994), Brause ''et al.'' (1999), Dorronsoro ''et al.'' (1997)
|-
| Rule-Based System
| Brause ''et al.'' (1999)
|-
| Clustering
| Bolton ''et al.'' (1999)
|}
 
=== Deteção de anomalias médicas e de saúde publica ===
 
A deteção de anomalias no domínio médico e de saúde publica trabalha normalmente com registos de pacientes. Os dados podem ter anomalias com diferentes origens, tais como a condição anormal do paciente, erros de instrumentação ou erros de registo. Vários métodos têm também sido desenvolvidas para a deteção de surtos de doenças em locais específicos<ref name="Wong2003">Wong W, Moore a, Cooper G, Wagner M: Bayesian network anomaly pattern detection for disease outbreaks. Icml 2003:808–815.</ref>. A natureza dos dados e as consequências que as anomalias nesta área podem representar exigem um alto grau de precisão nos métodos de deteção utilizados.
 
Os dados consistem habitualmente em registos de diversos tipos de características, tais como a idade, o grupo sanguíneo e o peso, e podem ter um carácter temporal ou espacial. A maioria dos métodos de deteção de anomalias nesta área pretendem detetar registos invulgares (anomalias pontuais), com o auxilio de dados rotulados de indivíduos saudáveis - '''deteção semi-supervisionada'''. Os dados de series temporais, como os Eletrocardiogramas (ECG) e Eletroencefalogramas (EEG), são também suscetíveis da aplicação de métodos de deteção de anomalias. Alguns métodos de deteção de anomalias coletivas têm sido utilizados neste tipo de dados<ref name="Lin2005">Lin J, Keogh E, Fu A, Van Herle H: Approximations to Magic: Finding Unusual Medical Time Series. 18th IEEE Symp Comput Med Syst 2005:329–334.</ref>.
 
O grande desafio da deteção de anomalias em medicina prende-se com o facto de a classificação de uma anomalia como um evento normal poder acarretar custos e consequências muito significativas.
 
Na tabela 2 estão representados alguns métodos utilizados nesta área.
 
{| class="wikitable"
! style="font-weight: bold;" | Método
! style="font-weight: bold;" | Referência
|+Tabela 2 - Exemplos de métodos de deteção de anomalias utilizadas em medicina e saúde pública (adaptada de <ref name="Chandola2009"/>)
|-
| Parametric Statistical Modeling
| Horn ''et al.'' (2001)<ref name="Horn">Horn PS, Feng L, Li Y, Pesce AJ: Effect of outliers and nonhealthy individuals on reference interval estimation. Clin Chem 2001, 47:2137–2145.</ref>, Laurikkala ''et al.'' (2000), Solberg ''et al.'' (2005)<ref name="Solberg2005"/>, Roberts ''et al.'' (2002), Suzuki ''et al.'' (2003)
|-
| Neural Networks
| Campbell ''et al.'' (2001)
|-
| Bayesian Networks
| Wong ''et al.'' (2003)<ref name="Wong2003"/>
|-
| Rule-Based Systems
| Aggarwal ''et al.'' (2005)
|-
| Nearest Neighbor Based Techniques
| Lin ''et al.'' (2005)<ref name="Lin2005"/>
|}
 
=== Deteção de danos industriais  ===
 
Os dados neste domínio são geralmente de carácter temporal, possibilitando a aplicação de métodos com base na análise de series temporais [Keogh ''et al.'' 2002, 2006; Basu ''et al.'' 2007]. Os dados relativos aos componentes “normais”, sem defeitos, estão disponíveis permitindo a utilização de métodos semi-supervisionadas. Ex.: Monitorização dos sistemas industriais a nível de estruturas mecânicas e de performance<ref name="Chandola2009"/>.
 
=== Deteção de anomalias em processamento de imagem ===
 
Os dados têm características temporais e espaciais. As anomalias de interesse neste domínio podem ser pontuais ou contextuais. Ex.: análise de imagens de satélite, imagiologia médica e vigilância de vídeo<ref name="Chandola2009"/>.
 
=== Deteção de anomalias de texto ===
 
Os dados podem ter um carácter temporal, uma vez que os documentos são recolhidos ao longo do tempo. São geralmente dados de grandes dimensões, e um dos grandes desafios referentes a este domínio é a grande variação de dados e dos documentos em si. Ex.: deteção de eventos, noticias ou tópicos específicos em coleções de documentos<ref name="Chandola2009"/>.
 
=== Redes de sensores ===
 
Os dados são geralmente transmitidos por ''streaming.'' Permite a deteção de falhas, defeitos e intrusões nos sistemas. Os métodos de deteção de anomalias neste domínio representam um grande desafio devido à natureza, às características e ao contexto dos dados. Estes métodos operam normalmente em ambiente ''online''. Ex.: rede composta por diversos sensores com diferentes tipos de dados (binário, contínuo, discreto, áudio, vídeo, entre outros)<ref name="Chandola2009"/>.
 
== Deteção de anomalias por Classificação ==
 
[[File:123123ecdsfig04.png|thumb|right|'''Figura 4''' - Deteção de anomalias com métodos de classificação (imagem adaptada de Chandola ''et al.'', 2009)<ref name="Chandola2009"/>.]]
 
Estes métodos compreendem duas fases:
 
# '''Fase de treino:''' construção de um classificador com dados de treino previamente rotulados
# '''Fase de teste:''' Classificação dos objetos de teste como “normal” ou “anómalo”.
 
Com base nos rótulos disponíveis para a fase de treino, os métodos de deteção de anomalias podem ser divididos em duas categorias<ref name="Chandola2009"/>:
 
# '''Multi-classe:''' assume que os dados de treino contêm objetos rotulados pertencentes a várias classes normais<ref name="Barbara">Barbará D, Wu N, Jajodia S: Detecting novel network intrusions using bayes estimators. First SIAM Conf Data Min 2001:1–17.</ref><ref name="DeStefano2000">De Stefano C, Sansone C, Vento M: To reject or not to reject: that is the question - an answer in case of neural classifiers. IEEE Trans Syst Man Cybern Part C Appl Rev 2000, 30:84–94.</ref>. O objeto de teste é considerado anómalo se não pertencer a nenhuma das classes normais (Figura 4a). Alguns métodos associam uma pontuação de confiança à previsão do classificador.
# '''Classe única:''' assume que todos os objetos de treino pertencem apenas a uma classe, rotulada de normal. Qualquer objeto de teste que não se encontre dentro do limite da classe de treino é declarado anómalo. Estes métodos utilizam algoritmos que definem um limite discriminativo em torno dos casos normais (Figura 4b). Alguns exemplos são o ''Support Vector Machines'' (SVMs)<ref name="Scholkopf">Schölkopf B, Platt JC, Shawe-Taylor J, Smola a J, Williamson RC: Estimating the support of a high-dimensional distribution. Neural Comput 2001, 13:1443–1471.</ref> e o discriminante de Núcleo de Fisher<ref name="Roth">Roth V: Outlier detection with one-class kernel Fisher discriminants. Adv Neural Inf Process Syst 2005:1169–1176.</ref><ref name="Roth2006">Roth V: Kernel Fisher Discriminants for Outlier Detection. Neural Comput 2006, 18:942–960.</ref>.
 
Alguns métodos de deteção de anomalias que utilizam algoritmos de classificação são:
 
=== Redes Neuronais (Neural Networks-Based) ===
 
Este método é aplicado tanto numa abordagem multi-classe, como em classe única.
 
A deteção de anomalias com um método básico de multi-classe através de redes neuronais divide-se em dois passos. No primeiro, a rede neuronal é “ensinada” com os dados de treino para identificar as classes normais. No segundo, cada objeto de teste é fornecido como ''input'' à rede neuronal. Se a rede aceitar o ''input,'' o objeto é normal, se por outro lado o rejeitar o objeto é considerado anómalo<ref name="DeStefano2000"/>.
 
O método ''Replicator Neural Networks'' é utilizado para a deteção de anomalias com uma única classe<ref name="Hawkins2012">Hawkins S, He H, Williams G, Baxter R: Outlier Detection Using Replicator Neural Networks. Data Warehous … 2002:170–180.</ref><ref name="Williams2002">Williams G, Baxter R, He H, al et: A comparative study of RNN for outlier detection in data mining. Data Min 2002.</ref>.
 
<math>
\delta _i  = \frac{1}{n}\sum\limits_{j = 1}^n {\left( {x_{ij}  - o_{ij} } \right)} ^2
</math>
 
=== Redes Bayesianas ===
 
As redes bayesianas são utilizadas na deteção de anomalias em situações com mais de uma classe (multi-classe). Calculam a probabilidade posterior de se observar uma determinada classe, no objeto de teste, baseando-se num conjunto de dados rotulados como normais e anómalos<ref name="Chandola2009"/>.
 
O método básico para uma série de dados categóricos univariados consiste em estimar a probabilidade posterior de uma classe em comparação com a probabilidade das outras classes e da “classe” rotulada como anomalia. A classe com maior probabilidade é selecionada. As probabilidades zero, em especial para a classe anomalia, são suavizadas com o método de ''Laplace Smoothing''. Este método pode ser generalizado para dados categóricos multivariados agregando-se a probabilidade posterior por atributo, utilizando este novo valor para se atribuir a classe.
 
Muitas variantes deste método tem sido propostas para deteção de intrusos<ref name="Barbara"/><ref name="Bronstein">Bronstein A, Das A, Duro M, Friedrich R, Kleyner G, Mueller M, Singhal S, and Cohen I, “Self-aware services: using Bayesian networks for detecting anomalies in Internet-based services,” in 2001 IEEE/IFIP International Symposium on Integrated Network Management Proceedings. Integrated Network Management VII. Integrated Management Strategies for the New Millennium (Cat. No.01EX470).</ref>, anomalia textual [Baker ''et al.'' (1999)] e surtos de doenças<ref name="Wong2002">Wong W-K, Moore A, Cooper G, Wagner M: Rule-based anomaly pattern detection for detecting disease outbreaks. Proc Eighteenth Natl Conf Artif Intell 2002:217–223.</ref><ref name="Wong2003"/><ref name="Chandola2009"/>.
 
=== Support Vector Machines (classe única) ===
 
As Support Vector Machines têm sido utilizadas em deteção de anomalias com uma classe. Este algoritmo aprende as fronteiras dos dados normais. Os algoritmos Kernel podem ser utilizados para delimitar regiões complexas.
 
O método básico determina se uma instância cai dentro da região definida como normal. Se cair fora dela, é classificada como anomalia.
 
Variantes deste método básico foram propostas para a deteção de anomalias em áudio, deteção de intrusos e anomalias temporais em estações de geração de energia.
 
=== Rule-Based  ===
 
Os métodos de deteção baseados em regras “aprendem” as regras que caracterizam um comportamento normal num sistema. Um objeto de teste que não cumpra nenhuma das regras é considerado anómalo. Estes métodos são aplicados em dados com características multi-classe e de classe única<ref name="Chandola2009"/>.
 
'''Vantagens''' dos métodos de deteção de anomalias por classificação<ref name="Chandola2009"/>:
 
* Os métodos de classificação, especialmente as de multi-classe, podem utilizar poderosos algoritmos para distinguir objetos de diferentes classes.
* A fase de teste é rápida, desde que os objetos de teste sejam comparados com um modelo previamente construído.
 
'''Desvantagens''' dos métodos de deteção de anomalias por classificação<ref name="Chandola2009"/>:
 
<ul>
<li><p>Os métodos de classificação em múltiplas classes dependem da disponibilidade de rótulos precisos para as várias classes normais, o que muitas vezes não é possível.</p></li>
<li><p>Os métodos de classificação atribuem um rótulo a cada objeto de teste, o que também é uma desvantagem quando se é desejado um valor de anormalidade para as instâncias alguns métodos de classificação que obtém uma predição probabilística podem ser utilizados para resolver esta questão [Platt ''et al.'' (2000)].</p></li>
</ul>
 
== Deteção de anomalias pela distância do vizinho mais próximo (k-NN) ==
 
[[File:123123ecdsfig05.png|thumb|right|'''Figura 5''' - Distância de p<sub>1</sub> e p<sub>2</sub> para k=4. (imagem adaptada de Breunig ''et al.'', 2000)<ref name="Breunig2000"/>.]]
[[File:123123ecdsfig06.png|thumb|right|'''Figura 6''' - Ilustração do teorema. (imagem adaptada de Breunig ''et al.'', 2000)<ref name="Breunig2000"/>.]]
[[File:123123ecdsfig07.png|thumb|right|'''Figura 7''' - Vantagem dos métodos de densidade local vs. densidade global. (imagem adaptada de Breunig ''et al.'', 2000)<ref name="Breunig2000"/>.]]
 
Inicialmente proposto por Knorr ''et al.'' (1997)<ref name="Knorr1997">Knorr E., Ng R., ”A unified approach for mining outliers,” In Proceedings Knowledge Discovery KDD, 219-222, 1997.</ref>, tem como pressupostos que os dados normais tem uma vizinhança densa, e que as anomalias estão afastados dos seus vizinhos.
 
O modelo básico de Knorr<ref name="Knorr1997"/> considera que a instância é definida como uma anomalia (baseada em distância) se ao menos uma fração ''β'' das observações da série de dados está afastada para além de ''r''. Tal definição está baseada em um único critério global, determinado pelos parâmetros ''r'' e ''β''. Esta definição levanta algumas dificuldades como a determinação do valor de ''r'' e a falta de um ranking para as anomalias. Sua complexidade computacional é de ''O(pn<sup>2</sup>)'', onde ''p'' é o número de atributos e ''n'' o tamanho da amostra, sendo, portanto, inadequado para grandes séries de dados.
 
'''''Perspetiva global vs. perspetiva local:''''' um objeto pode parecer anómalo em relação a todos os objetos, mas não em relação aos objetos vizinhos. Por exemplo, uma pessoa com 1,95m de altura é anormalmente alto em relação a população geral, mas não em relação a jogadores de basketball profissionais<ref name="Pang"/>. Desta forma, os métodos atuais baseados em distância procuram abordar ambas as situações.
 
=== k-Vizinho mais próximo (''k-Nearest Neighbor'': k-NN) ===
 
Proposta por Ramaswamy ''et al.'' (2000)<ref name="Ramaswamy2000">Ramaswamy S, Rastogi R, Shim K: Efficient algorithms for mining outliers from large data sets. ACM SIGMOD Rec 2000, 29:427–438.</ref>, é uma abordagem global, que considera que as anomalias são as ''n'' observações que possuem as maiores distâncias ao seu ''k''-ésimo vizinho mais próximo. Uma deficiência deste método é que ele só considera a distância do ''k''-ésimo vizinho e ignora a informação das observações mais próximas. Uma alternativa também utilizada é obter a distância média dos ''k'' vizinhos mais próximos, com a vantagem de ser mais robusto a flutuações estatísticas, e a desvantagem de levar mais tempo para ser calculado. Possui uma complexidade computacional variável dependendo do algoritmo de procura do vizinho mais próximo<ref name="Weber">Weber R, Schek HJ, Blott S: A Quantitative Analysis and Performance Study for Similarity-Search Methods in High-Dimensional Spaces. Proc 24th VLDB Conf 1998, New York C:194–205.</ref>.
 
=== Fator de Anomalia Local (''Local Outlier Factor'': LOF)  ===
 
Foi o primeiro algoritmo baseado em densidade, proposto em 2000 por Breunig ''et al.''<ref name="Breunig2000">Breunig MM, Kriegel H-P, Ng RT, Sander J: LOF: Identifying Density-Based Local Outliers. In Proceedings of the 2000 ACM SIGMOD international conference on Management of data - SIGMOD ’00. New York, New York, USA: ACM Press; 2000(February):93–104.</ref>, e é provavelmente o método atualmente mais utilizado.
 
Este método compara a densidade local de uma instância com a densidade dos seus vizinhos, dado que a densidade é inversamente proporcional a média das distâncias dos ''k''-vizinhos mais próximos. O valor LOF atribuído à instância é dado pela razão da densidade local desta observação pela média das densidades dos seus vizinhos. A Figura 5 demonstra a ideia da "distância de acessibilidade" com k = 4. Intuitivamente, se o objeto ''p'' está longe de ''o'' (ex.: ''p<sub>2</sub>'' na figura), então a "distância de acessibilidade" entre os dois é simplesmente a sua distância. Entretanto se estiverem suficientemente perto (ex.: ''p<sub>1</sub>'' na figura), a "distância de acessibilidade" é representada por k-distance de ''o''. A Figura 6 ilustra de forma mais global o teorema.
 
Isto resulta em que as observações normais tem LOF próximo de 1, e as anomalias um valor maior que 1. Para série de dados suficientemente grandes, um LOF de até 2 pode ser considerado normal.
 
As vantagens deste algoritmo são a facilidade da interpretação dos valores de LOF e sua habilidade em detetar anomalias previamente não detetadas pela abordagem global<ref name="Amer2012">Amer M, Goldstein M: Nearest-Neighbor and Clustering based Anomaly Detection Algorithms for RapidMiner. In Proceedings of the 3rd RapidMiner Community Meeting and Conferernce (RCOMM 2012); 2012.</ref>. Na Figura 7 podemos verificar que a abordagem global detetaria apenas o ponto p<sub>2</sub> como anomalia, enquanto que na abordagem local, ambos os pontos p<sub>1</sub> e p<sub>2</sub> são identificados. Sua complexidade computacional depende do método de ''k''-NN escolhido, sendo dado por ''O(n*tempo k-NN)''
 
== Deteção de anomalias por ''Clustering'' ==
 
[[File:123123ecdsfig08.png|thumb|right|'''Figura 8''' - Método de deteção de anomalias ''Cluster-Based Local Outlier Factor'' (CBLOF) (imagem adaptada de Amer ''et al.'', 2012)<ref name="Amer2012"/>.]]
 
[[File:123123ecdsfig09.png|thumb|right|'''Figura 9''' - Comparação do ''CBLOF'' com o ''unweighted-CBLOF''. O ''unweighed-CBLOF'' (b) é uma variante do algoritmo de (a). O segundo pretende corrigir a discriminação resultante da multiplicação pelo número de objetos do ''cluster'' do ponto de teste (imagem adaptada de Amer ''et al.'', 2012)<ref name="Amer2012"/>.]]
 
Os métodos de deteção de anomalias por ''Clustering'' assumem que os objetos anómalos estão agrupados em ''clusters'' pequenos e dispersos, longe do cluster centroide, ou que não pertencem a qualquer cluster. Dois dos métodos utilizados são o ''Cluster-Based Local Outlier Factor'' (CBLOF) e o Local ''Density Cluster-Based Outlier Factor'' (LDCOF). O passo inicial destes algoritmos é a classificação dos ''clusters'' em: ''cluste''r de grandes dimensões (''large cluster'') e ''cluster'' de pequenas dimensões (''small cluster'')<ref name="Amer2012"/>.
 
O método '''''Cluster-Based Local Outlier Factor''''' (CBLOF) atribui um ''score'' de anomalia com base na distância ao ''cluster'' de maior dimensão mais próximo, multiplicada pelo tamanho do ''cluster'' ao qual o objeto pertence.
 
<math>
{\rm{CBLOF}}\left( {\rm{p}} \right) = \left\{ \begin{array}{l}
{\rm{ }}\left| {{\rm{C}}_{\rm{i}} } \right|\min \left( {d\left( {p,C_j } \right)} \right){\rm{se }}p \in SC{\rm{  onde  }}C_j  \in LC \\
\left| {C_i } \right|\left( {d\left( {p,C_i } \right)} \right){\rm{se }}p \in C_i  \in LC \\
\end{array} \right.
</math>
 
Na figura 8 podemos ver uma imagem ilustrativa onde:
 
O ponto ''p'' se situa no ''cluster'' de pequenas dimensões ''C2.'' Assim, o score de anomalia é igual à distância do ponto central do ''cluster'' C1, cluster grande mais próximo, a multiplicar por 5, que é o tamanho do C2. Neste exemplo são identificados dois clusters de grandes dimensões C1 e C3<ref name="Amer2012"/>.
 
Não há consenso quanto ao facto de este ser um método local uma vez que a quantidade de objetos de um cluster não está necessariamente relacionada com a sua densidade<ref name"He2003">He Z, Xu X, Deng S: Discovering cluster-based local outliers. Pattern Recognit Lett 2003, 24.</ref><ref name="Amer2012"/>.
 
Na Figura 9 podemos ver o ponto A e o ponto B. O ponto A é claramente mais ''outlier'' que o B, no entanto, o tamanho da bolha (score de anomalia) é maior em B do que em A. Isto é explicado pelo facto de o ponto B ser multiplicado pelo tamanho do ''cluster'' branco. Assim os ''outliers'' pertencentes a ''clusters'' mais pequenos são discriminados, mesmo quando são indubitavelmente mais anómalos. Desta forma, Amer ''et al.'' (2012)<ref name="Amer2012"/> propuseram uma variante para o algoritmo existente, '''''unweighed-CBLOF'':'''
 
<math>
{\rm{unweighted - CBLOF}}\left( {\rm{p}} \right) = \left\{ \begin{array}{l}
{\rm{ }}\min \left( {d\left( {p,C_j } \right)} \right){\rm{se }}p \in SC{\rm{  onde  }}C_j  \in LC \\
\min \left( {d\left( {p,C_i } \right)} \right){\rm{se }}p \in C_i  \in LC \\
\end{array} \right.
</math>
 
O método ''Local Density Cluster-Based Outlier Factor'' (LDCOF) baseia-se na densidade local, sendo que o score de anomalia é normalizado relativamente aos objetos vizinhos. Neste caso, o ''score'' de anomalia tem um ''threshold'' que indica se o objeto é o ''outlier'' ou não. O ''score'' LDCOF é definido pela distância do objeto de teste ao ponto central do ''cluster'' mais próximo de maior dimensão, a dividir pela distância média dos objetos do ''cluster'' grande ao seu ponto central<ref name="Amer2012"/>.
 
<math>
{\rm{LDCOF}}\left( {\rm{p}} \right) = \left\{ \begin{array}{l}
\frac{{\min \left( {d\left( {p,C_j } \right)} \right)}}{{{\rm{distance}}_{avg} \left( {C_j } \right)}}{\rm{ se }}p \in C_i  \in SC{\rm{  onde  }}C_j  \in LC \\
\frac{{\min \left( {d\left( {p,C_i } \right)} \right)}}{{{\rm{distance}}_{avg} \left( {C_i } \right)}}{\rm{ se }}p \in C_i  \in LC \\
\end{array} \right.
</math>
 
== Deteção de anomalias por métodos estatísticos ==
 
O princípio subjacente para qualquer método estatística de deteção de anomalia é: “An anomaly is an observation which is suspected of being partially or wholly irrelevant because it is not generated by the stochastic model assumed”<ref name="Anscombe1960">Anscombe FJ, Guttman I: Rejection of Outliers. Technometrics 1960, 2:pp. 123–147.</ref>.
 
Esta deteção baseia-se na seguinte premissa: as instâncias de dados normais aparecem em regiões de alta probabilidade de um modelo estocástico, enquanto que as anomalias ocorrem nas regiões de baixa probabilidade.
 
=== Métodos Paramétricos ===
Nas técnicas paramétricas assume-se que os dados ditos normais são gerados por uma distribuição paramétrica com parâmetros Ω e uma função de densidade de probabilidade f(x,Ω), em que x é uma observação. A pontuação de anomalia da ocorrência x é o inverso da função de densidade de probabilidade, f (x,Ω). os parâmetros Ω são estimados a partir dos dados fornecidos.
 
Alternativamente, os testes de hipóteses (referido como teste de discordância na literatura deteção outlier<ref name="Beniger1980">Beniger JR, Barnett V, Lewis T: Outliers in Statistical Data. Contemp Sociol 1980, 9:560.</ref> podem ser utilizados. A hipótese nula (H0) para esses testes é que a instância dos dados x foi gerada com a distribuição estimada (com parâmetrosΩ). Se o teste estatístico rejeita H0, x é declarado ser anomalia. Um teste de hipótese está associado a um teste estatístico, o qual pode ser utilizado para se obter uma pontuação de anomalia probabilística para a instância de dados x.
 
==== Modelo baseado na distribuição normal: ====
 
Assume-se que os dados são gerados por uma distribuição normal, os parâmetros são estimados usando estimativas de máxima verossimilhança. A distância de uma instância de dados para a média estimada é a pontuação anomalia para essa instância. É aplicado um valor limite para a pontuação da anomalia para assim se determinar as anomalias.
 
Existem diferentes métodos para determinar esta distância.
 
Um método simples de deteção de outliers, muitas vezes utilizado no domínio do processo de controle de qualidade<ref name="Shewhart">Shewhart W: Economic Quality Control of Manufactured Product. Bell System Technical Journal1 1930:364–389.</ref>, é assumir que todas as instâncias de dados que estão a um a '''distância''' da média μ ,superior a 3σ , onde σ é o desvio padrão para a distribuição, são outliers. A região μ ± 3σ contém 99,7% das instâncias de dados.
 
A regra da '''plot-box''' (Figura 9) é o método estatística mais simples que tem sido aplicada
 
para detetar anomalias uni e multivariadas em dados do domínio médico<ref name="Laurikkala2000">Laurikkala J, Juhola M, Kentala E, Lavrac N, Miksch S, and Kavsek B, “Informal identification of outliers in medical data,” in Fifth International Workshop on Intelligent Data Analysis in Medicine and Pharmacology, 2000, pp. 20–24.</ref><ref name="Horn"/><ref name="Solberg2005">Solberg HE, Lahti A: Detection of outliers in reference distributions: Performance of horn’s algorithm. Clin Chem 2005, 51:2326–2332.</ref>. A plot-box representa graficamente os dados usando um resumo de atributos, como a menor observação não-anomalia (min), o primeiro quartil (Q1), a mediana, o terceiro quartil (Q3), e maior instância não-anomalia (máx). A amplitude interquartil (AIQ), isto é, Q3 - Q1. O limite inferior da plot-box é m=Q1-1,5 * AIQ e limite superior é M=Q3-+1,5 * AIQ. Assim, as instâncias que se encontrem foram do intervalo [m,M] são tratadas como anomalias, este intervalo contém 99,3% de observações e, consequentemente, a escolha destes limites faz com que a plot-box seja equivalente a usar método baseada na distribuição normal.
 
O '''teste de Grubbs''' é usado para detetar anomalias em dados univariáveis<ref name="Grubbs1969">Grubbs FE: Procedures for Detecting Outlying Observations in Samples. Technometrics 1969, 11:1–21.</ref><ref name="Stefansky1972">Stefansky W: Rejecting outliers in factorial designs. Technometrics 1972, 14:469–479.</ref>, sob a suposição de que os dados são gerados por uma distribuição normal Para cada testar a instância x, é calculada a sua pontuação '''z''' da seguinte forma:
 
<math>z = \frac{{\left| {x - \bar x} \right|}}{s}</math> onde <math>\bar x</math> e <math>s</math> são a média e o desvio padrão da amostra, respetivamente. A instância é anómala se <math>z > \frac{{N - 1}}{{\sqrt N }}\sqrt {\frac{{\mathop t_{\alpha /\left( {2N} \right),N - 2}^2 }}{{N - 2 + \mathop t_{\alpha /\left( {2N} \right),N - 2}^2 }}}</math> , onde N é o tamanho da amostra e <math>\mathop t_{\alpha /\left( {2N} \right),N - 2}^{}</math> é o limite usado para declarar que uma instância é anormal ou normal. O limite é calculado com a t-distribuição com um nível de significância de <math>\alpha /\left( {2N} \right)</math>. O nível de significância reflete a confiança associada ao limite e indiretamente controla o número de observações que são consideradas anómalas.
 
==== Modelo baseado na regressão: ====
 
A deteção de anomalias baseada em regressão tem sido investigada para dados de séries temporais<ref name="Abraham">Abraham B, Chuang A: Outlier Detection and Time Series Modeling. Technometrics 1989, 31:241–248.</ref><ref name="Abraham1979">Abraham B, Box GEP: Bayesian Analysis of Some Outlier Problems in Time Series. Biometrika 1979, 66:229–237.</ref><ref name="Fox1972">Fox AJ: Outliers in time series. J R Stat Soc Ser B 1972, 34:350–363.</ref>.
 
O método básico para deteção de anomalias baseada em regressão consiste de duas partes. Na primeira, um modelo de regressão é ajustado para os dados. Na segunda parte, para cada instância de teste, o ''resíduo'' para a instância é usado para calcular a ranking da anomalia. O ''resíduo'' é a parte da instância que não é explicado pelo modelo de regressão. A magnitude deste resíduo pode ser usada como o próprio ranking da anomalia para a instância de teste, embora haja testes estatísticos propostos para determinar objetos fora do padrão com certa confiança<ref name="Anscombe1960"/><ref name="Beckman1983">Beckman RJ, Cook RD: OUTLIER. . . . . . . . . . S. Technometrics 1983, 25:119–149.</ref><ref name="Enderlein1987">Enderlein G, “Hawkins, D M: Identification of Outliers. Chapman and Hall, London – New York 1980, 188 S., £ 14, 50,” Biom. J., vol. 29, no. 2, pp. 198–198, Jan. 1987.</ref><ref name="Torr1993">Torr PHS, Murray DW: Outlier Detection and Motion Segmentation. Sens Fusion VI 1993, 2059:432–443.</ref>.
 
A presença de anomalias nos dados de treino pode influenciar os parâmetros da regressão e, portanto, o modelo pode não produzir resultados precisos. Um método popular para manipular essa anomalia é chamado de ''regressão robusta''<ref name="Wainer1988">Wainer H, “Book Reviews: Robust Regression & Outlier Detection: Peter J. Rousseeuw and Annick M. Leroy New York: Wiley, 1987. xiv + 329 pp,” J. Educ. Behav. Stat., vol. 13, no. 4, pp. 358–364, Dec. 1988.</ref>. Um outro método similar para uma abordagem mais robusta é chamada de Autoregressive Integrated Moving Avarage (ARIMA)<ref name="Bianco2001">Bianco AM, García Ben M, Martínez EJ, Yohai VJ: Outlier detection in regression models with ARIMA errors using robust estimates. J Forecast 2001, 20:565–579.</ref><ref name="Chen2005">Chen D, Shao X, Hu B, Su Q: Simultaneous wavelength selection and outlier detection in multivariate regression of near-infrared spectra. Anal Sci 2005, 21:161–166.</ref>. O modelo Autoregressive Moving Avarage (ARMA) é uma outra variante que deteta anomalias em base de dados multivariados<ref name="Galeano2006">Galeano P, Peña D, Tsay R: Outlier detection in multivariate time series by projection pursuit. J Am Stat Assoc 2006, 101:654–669.</ref>.
 
==== Distribuição baseada em parâmetros mistos: ====
 
Tais métodos usam a mistura de parâmetros de distribuição estatística para modelar os dados. Elas podem ser agrupadas em duas subcategorias. A primeira modela observações normais e as anormais como distribuições paramétricas separadas, enquanto que a segunda modela somente as instancias normais como uma distribuição de parâmetros mistos.
 
A respeito da primeira subcategoria, a fase de teste envolve determinar a qual distribuição, normal ou anormal, a instância de teste pertence. Em Abraham ''et al.'' (1979)<ref name="Abraham1979"/> é determinado que a instância normal é gerada a partir de uma distribuição normal com os parâmetros e os dados anormais também são gerados por uma normal, porém com uma variância maior.
 
A segunda subcategoria de métodos modela as observações normais como uma mistura de parâmetros de distribuição. Uma instância de teste que não pertence a nenhum dos modelos aprendidos é declarada como anomalia.
 
=== Métodos Não-Paramétricos ===
 
O método não paramétrico mais simples é usar histogramas para preservar o perfil dos dados normais. Tais métodos também são referenciados como baseados na frequência relativa ou absoluta. Os métodos baseados em histogramas são particularmente populares na comunidade de deteção de intrusão e fraudes, uma vez que o comportamento dos dados é gerido por determinados perfis (utilizadores ou softwares) que podem ser capturados usando um histograma.
 
O método básico de deteção de anomalias baseada em histograma para dados univariáveis consiste de duas etapas. O primeiro passo implica construir um histograma baseado nos diferentes valores contidos nos atributos para os dados de treino. No segundo passo, o método verifica se uma instância de teste pertence a qualquer um dos bins do histograma. Em caso afirmativo, a instância é considerada normal, caso contrário não é. Uma variação desse método básico é atribuir um ranking à anomalia a cada instância de teste baseada na frequência dos bins à qual ela pertence.
 
O tamanho do bin usado na construção do histograma é a chave para a identificação da anomalia. Se os bins forem curtos, muitas observações de teste normais irão pertencer a bins vazios ou raros, resultando numa taxa alta de falsos positivos. Se os bins forem largos, muitos testes de observações anormais irão pertencer a bins frequentes, gerando uma alta taxa de falsos negativos. Então o desafio derradeiro para os métodos baseados em histogramas é determinar o tamanho ótimo dos bins para construir os histogramas que mantém uma taxa baixa de falsos positivos e de falsos negativos.
 
Para dados multivariados, o método básico é construir histogramas de atributos moderados. Durante o teste, para cada instância, o ranking da anomalia para cada valor de atributo é calculado como a altura do bin que contém o atributo. Os rankings da anomalia por atributo são agrupados para obter um ranking de anomalia global para a instância de teste.
 
Outro método não-paramétrico de deteção de anomalias é a baseada em funções Kernel, que são similares aos métodos paramétricos descritas anteriormente. A única diferença está na utilização do método de estimativas de densidade. Proposto por Desforges ''et al.'' (1998)<ref name="Desforges1998">Desforges MJ, Jacob PJ, Cooper JE: Applications of probability density estimation to the detection of abnormal conditions in engineering. Proc Inst Mech Eng Part C J Mech Eng Sci 1998, 212:687–703.</ref> um método de deteção de anomalias semi-supervisionado, que usa as funções Kernel para calcular a função de distribuição de probabilidade para os dados normais. Uma nova instância, que corresponde a uma pequena área de probabilidade dessa função de distribuição de probabilidade é considerada como sendo uma anomalia.
 
=== Vantagens e desvantagens de métodos estatísticas: ===
 
As vantagens de métodos estatísticas são:
 
* Se os pressupostos sobre a distribuição de dados subjacente forem verdadeiros os métodos estatísticas fornecem uma solução estatisticamente justificável para a deteção de anomalias.
* A pontuação da anomalia fornecida por um método estatístico está associada a um intervalo de confiança, a qual pode ser utilizado como informação adicional para tomar uma decisão em relação àquela instância testada.
* Se a etapa da estimativa de distribuição é robusta para a deteção de anomalias nos dados, os métodos estatísticas pode operar num ambiente sem vigilância, sem qualquer necessidade de dados de treino rotulados.
 
As desvantagens de métodos estatísticas são:
 
<ul>
<li><p>Baseiam-se na suposição de que os dados são gerados a partir de uma distribuição específica. Esta suposição, muitas vezes não é verdadeira, especialmente para dados reais de grandes dimensões.</p></li>
<li><p>Mesmo quando o pressuposto estatístico pode ser razoavelmente justificado, existem vários testes de hipóteses que podem ser aplicadas para deteção de anomalias; escolher o melhor muitas vezes não é uma tarefa simples<ref name="Motulsky1995">Motulsky H: Intuitive Biostatistics: Choosing a Statistical Test. Volume 17; 1995.</ref>.</p></li>
<li><p>os métodos baseados em histograma são relativamente simples de implementar, mas para dados multivariados não são capazes de capturar as interações entre diferentes atributos. Uma anomalia pode ter valores de atributo que são individualmente muito frequentes, mas cuja combinação é muito rara, não sendo possível detetá-la usando a método do histograma</p></li>
</ul>
 
== Deteção de anomalias por métodos de teoria da informação ==
 
Para analisar o conteúdo de informação de um conjunto de dados usa-se teorias diferentes, tais como:
 
* Complexidade de Kolmogorov;
* Entropia;
* Entropia relativa.
 
Esses métodos baseiam-se na suposição seguinte:
 
<pre>Num conjunto de dados as anomalias induzem irregularidades no conteúdo da informação.</pre>
 
'''C(D)'''. Seja C a complexidade de um dado conjunto de dados, D.
 
Uma informação teórica método básica pode ser descrita como se segue.
 
Dado um conjunto de dados D, encontrar o subconjunto mínimo de casos, I, tal que C(D) - C(D-I) é máxima.
 
Todas as instâncias do subconjunto assim obtido, são consideradas como anômalas.
 
O problema abordado baseado neste método é para encontrar uma solução ótima de Pareto, a qual não tem uma única solução, uma vez que são dois objetivos diferentes que precisam de ser otimizados.
 
Neste método, a complexidade de um conjunto de dados (C) pode ser medido de diferentes maneiras.
 
Segundo Arning ''et al.'' (1996) usa o tamanho da expressão regular para medir a complexidade de Kolmogorov dos dados (representada como uma expressão) para a deteção de anomalias.
 
Keogh ''et al.'' (2004) usa o tamanho do ficheiro de dados comprimido (usando qualquer algoritmo de compressão padrão), como uma medida do conjunto de dados da complexidade de Kolmogorov.
 
Outras medidas das teorias da informação, tais como: a entropia; a incerteza relativa; e assim por diante, têm também sido usadas para medir a complexidade de um conjunto de dados categóricos.
 
Este método envolve a otimização dupla para minimizar o tamanho do subconjunto de dados enquanto maximiza a redução da complexidade do conjunto de dados.
 
Assim, numa abordagem exaustiva em que cada subconjunto possível do conjunto de dados fosse considerado seria executado em tempo exponencial. Vários métodos têm sido propostos para executar uma busca aproximada ao subconjunto mais anômalo.
 
He ''et al''. (2006) usa um algoritmo de aproximação chamado de ''Local Search Algorithm'' (LSA), para determinar aproximadamente tal subconjunto de uma forma linear, utilizando a entropia como medida de complexidade.
 
Um método semelhante que usa uma medida de informação gargalo foi proposta por Ando ''et al.'' (2007).
 
Métodos da teoria de informação também têm sido utilizados em conjuntos de dados, em que os dados instâncias são naturalmente ordenados, por exemplo, dados sequenciais e dados espaciais.
 
Em tais casos, os dados são divididos em subestruturas (segmentos de sequências, subgraphs para gráficos, etc.), e o método de deteção de anomalias encontra a subestrutura, I, tal que C(D)-C(D-I) é máxima.
 
Um dos principais desafios de tais métodos é encontrar o tamanho ótimo da subestrutura que resultaria na deteção de anomalias.
 
=== Complexidade computacional. ===
 
Como mencionado anteriormente, o método baseado na teoria da informação para a deteção de anomalias tem complexidade de tempo exponencial, contudo métodos aproximados têm sido propostos e que têm complexidade de tempo linear.
 
=== Vantagens e desvantagens de métodos de Teoria da Informação. ===
 
As vantagens são as seguintes:
 
* Podem operar em um ambiente sem supervisão.
* Não fazem quaisquer suposições sobre a distribuição estatística subjacente para os dados.
 
As desvantagens são as seguintes:
 
<ul>
<li><p>O desempenho de tais métodos é muito dependente da escolha das medidas de teoria da informação. Muitas vezes, essas medidas podem detetar a presença de anomalias apenas quando existe um número significativamente grande de anomalias presente nos dados.</p></li>
<li><p>Métodos de teoria da informação aplicados a sequências e conjuntos de dados espaciais dependem do tamanho da subestrutura, o que não é muitas vezes trivial de se obter.</p></li>
<li><p>É difícil associar uma pontuação de anomalias a uma instância de teste usando o método da teoria da informação.</p></li>
</ul>
 
== Deteção de anomalias por métodos espectrais ==
 
Tentam encontrar uma aproximação dos dados usando uma combinação de atributos que captura a maior parte da variabilidade dos dados.
 
Esses métodos baseiam-se na suposição seguinte:
 
<pre>Os dados podem ser incorporados num subespaço dimensional inferior em que casos normais e anomalias aparecem significativamente diferentes.</pre>
 
Assim, a abordagem adotada pelos métodos de deteção de anomalias espectrais é determinar tais subespaços (incorporações, projeções, etc.) em que as instâncias anômalas podem ser facilmente identificadas Agovic ''et al.'' (2007). Esses métodos podem trabalhar num ambiente sem vigilância, bem como num supervisionado.
 
Vários métodos usam ''Principal Component Analysis'' (PCA) Jolliffe ''et al.'' (2002) para projetar dados num espaço dimensional mais baixo. Um tal método [Parra ''et al.'' 1996] analisa a projeção de cada instância de dados ao longo das principais componentes com baixa variância. Um exemplo normal que satisfaz a estrutura de correlação dos dados terá um valor baixo para essas projeções enquanto uma instância anômala que se desvia da estrutura de correlação terá um grande valor.
 
Dutta ''et al.'' (2007) adotou esta abordagem para detetar anomalias em catálogos de astronomia.
 
Ide ''et al.'' (2004) propõem um método espectral para detetar anomalias num momento numa série de gráficos. Cada gráfico é representado como uma matriz de adjacência para um dado tempo. Em cada instante de tempo, o componente principal da matriz é escolhido como o vetor de atividade para o gráfico dado.
 
A série temporal dos vetores de atividade é considerada como uma matriz e o principal vetor singular esquerdo é obtido para capturar as dependências normais ao longo do tempo nos dados. Para um novo gráfico de teste, o ângulo entre o vetor de atividade e o principal vetor singular esquerdo obtidos a partir dos gráficos anteriores é calculado e utilizado para determinar a pontuação de anomalia do gráfico de teste.
 
Numa abordagem semelhante, Sun ''et al.'' (2007) propõem um método de deteção de anomalias numa sequência de gráficos executando ''Compact Matrix Decomposition'' (CMD) sobre a matriz de adjacência para cada gráfico e obtendo-se assim uma aproximação da matriz original.
 
Para cada gráfico na sequência, os autores realizam CMD e calculam o erro de aproximação entre matriz original de adjacência e a matriz aproximada. Os autores construem uma série temporal dos erros de aproximação e das anomalias detetadas numa série de erros no tempo; o gráfico correspondente ao erro de aproximação de anomalias é declarado ser anômalo. Shyu ''et al.'' (2003) apresentam um método de deteção de anomalias onde os autores realizam robusto PCA [Huber (1974)] para estimar os componentes principais da matriz covariância dos dados de treino normal.
 
A fase de testes consiste em comparar cada ponto com os componentes e atribuir uma pontuação às anomalias baseada na distância do ponto a partir dos componentes principais. Assim, se a projeção de x sobre os componentes principais é Y1, Y2,. . . , Yp e os valores eigen correspondentes são λ1, λ2,. . . , Λp, então,
 
<math>
\sum\limits_{i = 1}^q {\frac{{y_i^2 }}{{\lambda _i }}}  = \frac{{y_1^2 }}{{\lambda _1 }} + \frac{{y_2^2 }}{{\lambda _2 }} + ... + \frac{{y_q^2 }}{{\lambda _q }},{\rm{ }}q \le p
</math>
 
tem uma distribuição ''chi-square'' [Hawkins 1974]. Usando este resultado, os autores propõem que, para um dado nível de significância α, a instância de X é uma anomalia se
 
<math>
\sum\limits_{i = 1}^q {\frac{{y_i^2 }}{{\lambda _i }}} {\rm{ > }}\chi _{\rm{q}}^2 \left( \alpha  \right)
</math>
 
Pode-se mostrar que a quantidade calculada na 1ª Equação é igual a distância de Mahalanobis da instância x da média da amostra quando q=p Shyu ''et al.'' (2003). O robusto método PCA-based foi aplicada ao domínio da deteção de intrusão de rede Shyu ''et al.'' (2003); Lakhina ''et al.'' (2005); Thottan ''et al.'' (2003) e para a deteção de anomalias em componentes artesanais espaciais Fujimaki ''et al.'' (2005)<ref name="Fujimaki2005"/>.
 
=== Complexidade computacional ===
 
Métodos baseados no PCA padrão são tipicamente lineares no tamanho dos dados, mas muitas vezes quadráticas no número de dimensões.
 
Métodos não-lineares podem melhorar a complexidade de tempo para serem lineares no número de dimensões, mas polinomiais no número de componentes principais Gunter ''et al.'' (2007). Os métodos que realizam SVD sobre os dados são tipicamente quadráticas no tamanho dos dados.
 
=== Vantagens e desvantagens dos métodos espectrais ===
 
As vantagens são:
 
* Métodos de espectrometria realizam automaticamente a redução da dimensionalidade e, portanto, são adequadas para lidar com altos conjuntos de dados dimensionais. Além disso, elas também podem ser utilizadas como uma etapa de pré-processamento, seguido pela aplicação de qualquer método de deteção de anomalias existente no espaço transformado.
* Os métodos espectrais podem ser utilizados num ambiente sem supervisão.
 
As desvantagens são:
 
* Métodos espectrais são úteis apenas se as instâncias normais e anormais são separáveis na incorporação dimensional inferior dos dados.
* Métodos espectrais normalmente têm alta complexidade computacional.


== Referências ==
== Referências ==


<references/>
<references/>

Edição atual desde as 16h12min de 22 de março de 2016

Detecção de anomalias
Sigla DA
Aplicações Processamento de dados, Análise de Dados
Conceitos relacionados Dados, Anomalias, Mineração de Dados


Anomalias

A deteção de anomalias consiste na identificação de padrões em dados com um comportamento diferente do esperado. Estes padrões são muitas vezes referidos como anomalias, outliers, exceções, aberrações, observações discordantes, entre outros, variando de acordo com o contexto. Os termos anomalia e outlier são os mais utilizados no contexto de deteção de anomalias.

Vários fatores contribuem para a caracterização do problema, tais como a natureza dos dados de entrada, a disponibilidade de rótulos e as restrições e requisitos.

Natureza dos dados

Os atributos podem ser binários, categóricos ou contínuos. Um dado pode consistir em apenas um atributo (univariável) ou múltiplos atributos (multivariada). No caso de dados multivariados, todos os atributos podem ser do mesmo tipo ou pode ser uma mistura de diferentes tipos de dados.

A natureza dos atributos determina a aplicabilidade dos métodos de deteção de anomalias.

Os dados de entrada também podem ser categorizados com base na relação presente entre instâncias de dados[1]. A maioria dos métodos de deteção de anomalias existentes lida com dados pontuais, em que nenhum relacionamento é assumido entre os tipos de dados.

Em geral, as instâncias de dados podem ser ligadas umas às outras. Alguns exemplos são dados sequenciais, dados espaciais, e dados gráficos. Em dados sequenciais, as instâncias dos dados são linearmente ordenáveis, por exemplo, as séries cronológicas, sequências do genoma ou sequências proteicas. Em dados espaciais, cada tipo de dados está relacionado com as suas instâncias vizinhas, por exemplo, os dados de tráfego de veículos ou dados ecológicos. Quando os dados espaciais têm uma componente temporal, são referidos como dados espaço-temporais, por exemplo, dados sobre o clima. Nos dados gráficos, instâncias de dados são representados como vértices de um grafo e ligados a outros vértices com arestas.

Tipos de anomalias

Anomalias pontuais

Figura 1 - Exemplo de anomalias em uma série de dados de duas dimensões.

Se um tipo de dado individual pode ser considerado como anormal relativamente ao resto dos dados, o tipo é designado por anomalia pontual. Esta classificação de anomalia é a mais simples e é o foco da maioria das pesquisas sobre deteção de anomalias. Por exemplo, na Figura 1, os pontos O1 e O2, bem como pontos na região O3, estão fora o limite de regiões normais N1 e N2 e, portanto, são anomalias pontuais, uma vez que são diferentes dos dados normais.

Como exemplo real temos a deteção de fraude no uso do cartão de crédito. Suponhamos que o conjunto de dados corresponde às transações com o cartão de crédito de um indivíduo. Por uma questão de simplicidade, vamos supor que os dados são univariáveis, e são caraterizados como sendo o montante gasto. Se uma transação para a qual o montante gasto é muito elevado em comparação com o intervalo normal de despesas para esta pessoa, será uma anomalia pontual.

Anomalias contextuais

Se uma instância de dados é anômala num contexto específico, mas não de outra forma é denominado por anomalia contextual (também é referida como anomalia condicional[2]. A noção de um contexto é induzida pela estrutura do conjunto de dados e tem de ser especificada como parte da formulação do problema. Cada instância de dados é definida usando os dois seguintes conjuntos de atributos:

Atributos contextuais

São usados para determinar o contexto para essa instância. Por exemplo, em conjuntos de dados geográficos, a longitude e latitude de um local são os atributos do contexto. Em dados de séries temporais, o tempo é um atributo contextual que determina a posição de uma instância em toda a sequência.

Atributos comportamentais

Figura 2 - Anomalia contextual t2 em uma série de dados temporal de temperaturas.

Definem as características não contextuais de uma instância. Por exemplo, num conjunto de dados geográficos descrevendo a precipitação média de todo o mundo, a quantidade de precipitação em qualquer local é um atributo comportamental.

A Figura 2 mostra um exemplo de uma série de tempo-temperatura que indica a temperatura mensal de uma área ao longo dos últimos anos. Uma temperatura de 35°F pode ser normal durante o inverno (no momento t1) naquele local, mas o mesmo valor durante o verão (no tempo t2) seria uma anomalia. Um exemplo semelhante pode ser encontrado no domínio de deteção de fraude no cartão de crédito. Um atributo contextual no domínio do cartão de crédito pode ser o momento da compra. Suponha que um indivíduo geralmente tem um gasta em regra 100 euros por semana exceto durante a semana do Natal, quando se chega 1000 euros. Uma nova compra de 1000 numa semana em julho será considerada uma anomalia contextual, uma vez que não se conforma com o comportamento normal do indivíduo no contexto de tempo, embora o mesmo valor gasto durante a semana do Natal será considerado normal.

Anomalia coletiva

Figura 3 - Anomalia coletiva correspondente a Contração Atrial Prematura em um eletrocardiograma humano.

Se uma coleção de instâncias de dados relacionados é anómala no que diz respeito a todo o conjunto de dados é denominado por anomalia coletiva. As instâncias de dados individuais numa anomalia coletiva podem não ser anomalias por si mesmos, mas a sua instância num conjunto, como uma coleção é anômalo. A Figura 3 é um exemplo que mostra uma saída de eletrocardiograma humano[3]. A região em destaque indica uma anomalia, pois existe o mesmo valor baixo para um tempo anormalmente longo (correspondente a uma contração prematura atrial). Nota-se que o baixo valor por si só não é uma anomalia.

Rótulos de dados

Os rótulos associados a um tipo de dados vão informar se este é normal ou anormal. A rotulagem dos dados normalmente é feita por um expert, e, portanto, é necessário um grande esforço para se obter dados rotulados.

Com base na disponibilidade de dados rotulados, os métodos de deteção de anomalias podem operar das seguintes formas:

Deteção supervisionada

Estes métodos assumem que existe uma série de dados de treino com instancias rotuladas como normais e anormais. A abordagem típica nestes casos, é construir um modelo preditivo para classes normais vs. anomalia. Há duas grandes questões que surgem na deteção de anomalias supervisionadas. Em primeiro lugar, os exemplos de anomalias são muito menos em comparação com os casos normais nos dados de treino. Em segundo lugar, a obtenção de rótulos precisos e representativos, especialmente para a classe anomalia é um desafio. Alguns métodos foram propostos introduzindo anomalias artificiais num conjunto de dados normais para obter um conjunto de dados de treino rotulado[4][5][6]. Para além destas duas questões, o problema de deteção de anomalias supervisionado é semelhante à construção de modelos preditivos.

Deteção semi-supervisionada

Assume-se que os dados de treino só têm tipos de dados da classe normal. Uma vez que estas não necessitam de rótulos para as classes de anomalias. Por exemplo, na deteção de falhas em naves espaciais[7], um cenário de anomalia significaria um acidente grave, o que não é fácil de modelar. A abordagem típica usada em tais métodos é a construção de um modelo para a classe correspondente ao comportamento normal, e utilizar o modelo para identificar anomalias nos dados de teste.

Deteção não-supervisionada

Estes métodos não requerem dados de treino pelo que são amplamente aplicáveis. Os métodos nesta categoria fazem a suposição implícita de que os tipos normais são muito mais frequentes do que as anomalias nos dados de teste. Se esta hipótese não for verdadeira, então tais métodos sofrem com uma taxa elevada de falsos alarmes. Muitos métodos semi-supervisionados podem ser adaptados para operar num modo sem supervisão utilizando uma amostra dos dados não marcados criados como dados de treino. Esta adaptação assume que os dados de teste contêm muito poucas anomalias e o modelo aprendido durante o treino é robusto para estas poucas anomalias.

Resultados da Deteção de anomalias:

Os resultados produzidos pelos métodos de deteção de anomalias são de um dos dois tipos seguintes:

  • Pontuações: os métodos de pontuação atribuem uma pontuação de anomalia para cada instância no teste de dados, dependendo do grau da anomalia. O analista pode optar por analisar as anomalias mais “pontuadas” ou usar um ponto de corte para as selecionar.

  • Rótulos: os métodos usados atribuem um rótulo (normal ou anormal) para cada instância de teste.

Exemplos de aplicação das métodos de deteção de anomalias

Para cada aplicação é importante perceber o significado da anomalia, a natureza, os desafios/obstáculos associados à sua deteção e quais os métodos de deteção mais apropriados.

Alguns exemplos de aplicações e métodos mais utilizadas:

Deteção de intrusos

Os métodos de deteção semi-supervisionada e não-supervisionadas são as mais utilizadas. Nestes casos, estão geralmente disponíveis dados rotulados correspondentes ao comportamento normal/esperado, mas não existem dados rotulados para as intrusões. Ex.: Aplicações num contexto de segurança.

Em 1987 Denning classificou os sistemas de deteção de intrusos em host-based (no hospedeiro) e network-based (na rede).

Deteção de fraudes

Um exemplo concreto é a deteção de fraudes a cartões de crédito.

Neste domínio os dados são geralmente compostos por registos de várias dimensões, tais como a identificação do cliente (ID), o valor gasto, o tempo entre transações, entre outras. As fraudes representam tipicamente transações, correspondentes a anomalias pontuais, onde se verificam pagamentos de valores elevados, compra de produtos nunca antes adquiridos pelo utilizador, elevadas taxas de compras, entre outros. Para a sua deteção as organizações baseiam-se na monitorização e no comportamento “padrão” do cliente em questão, rotulando-o. Cada cliente é associado a um “perfil”, permitindo a utilização de métodos de agrupamento. Existem duas abordagens para a resolução deste problema. A primeira é conhecida por by-owner, e consiste na rotulagem de cada cliente consoante o histórico de transações. Esta abordagem é geralmente cara, pois implica a consulta de um repositório central de dados a cada transação, para a comparação de comportamentos. A segunda, conhecida por by-operation, deteta transações invulgares com base na localização geográfica. Estes, são métodos de deteção contextuais em que na primeira o contexto é o utilizador, e na segunda o contexto é a localização geográfica[8].

O conceito de monitorização de atividade como uma abordagem geral para a deteção de fraudes nestes domínios foi introduzido por Fawcett et al. (1999).

Na tabela 1 esta representados alguns exemplos de métodos utilizadas para a deteção de fraudes a cartão de crédito.

Método Referência
Tabela 1 - Exemplos de métodos de detecção de anomalias utilizadas em detecção de fraudes a cartões de crédito (adaptada de Chandola et al., 2009)[8]
Neural Networks Aleskerov et al. (1997), Ghosh et al. (1994), Brause et al. (1999), Dorronsoro et al. (1997)
Rule-Based System Brause et al. (1999)
Clustering Bolton et al. (1999)

Deteção de anomalias médicas e de saúde publica

A deteção de anomalias no domínio médico e de saúde publica trabalha normalmente com registos de pacientes. Os dados podem ter anomalias com diferentes origens, tais como a condição anormal do paciente, erros de instrumentação ou erros de registo. Vários métodos têm também sido desenvolvidas para a deteção de surtos de doenças em locais específicos[9]. A natureza dos dados e as consequências que as anomalias nesta área podem representar exigem um alto grau de precisão nos métodos de deteção utilizados.

Os dados consistem habitualmente em registos de diversos tipos de características, tais como a idade, o grupo sanguíneo e o peso, e podem ter um carácter temporal ou espacial. A maioria dos métodos de deteção de anomalias nesta área pretendem detetar registos invulgares (anomalias pontuais), com o auxilio de dados rotulados de indivíduos saudáveis - deteção semi-supervisionada. Os dados de series temporais, como os Eletrocardiogramas (ECG) e Eletroencefalogramas (EEG), são também suscetíveis da aplicação de métodos de deteção de anomalias. Alguns métodos de deteção de anomalias coletivas têm sido utilizados neste tipo de dados[10].

O grande desafio da deteção de anomalias em medicina prende-se com o facto de a classificação de uma anomalia como um evento normal poder acarretar custos e consequências muito significativas.

Na tabela 2 estão representados alguns métodos utilizados nesta área.

Método Referência
Tabela 2 - Exemplos de métodos de deteção de anomalias utilizadas em medicina e saúde pública (adaptada de [8])
Parametric Statistical Modeling Horn et al. (2001)[11], Laurikkala et al. (2000), Solberg et al. (2005)[12], Roberts et al. (2002), Suzuki et al. (2003)
Neural Networks Campbell et al. (2001)
Bayesian Networks Wong et al. (2003)[9]
Rule-Based Systems Aggarwal et al. (2005)
Nearest Neighbor Based Techniques Lin et al. (2005)[10]

Deteção de danos industriais

Os dados neste domínio são geralmente de carácter temporal, possibilitando a aplicação de métodos com base na análise de series temporais [Keogh et al. 2002, 2006; Basu et al. 2007]. Os dados relativos aos componentes “normais”, sem defeitos, estão disponíveis permitindo a utilização de métodos semi-supervisionadas. Ex.: Monitorização dos sistemas industriais a nível de estruturas mecânicas e de performance[8].

Deteção de anomalias em processamento de imagem

Os dados têm características temporais e espaciais. As anomalias de interesse neste domínio podem ser pontuais ou contextuais. Ex.: análise de imagens de satélite, imagiologia médica e vigilância de vídeo[8].

Deteção de anomalias de texto

Os dados podem ter um carácter temporal, uma vez que os documentos são recolhidos ao longo do tempo. São geralmente dados de grandes dimensões, e um dos grandes desafios referentes a este domínio é a grande variação de dados e dos documentos em si. Ex.: deteção de eventos, noticias ou tópicos específicos em coleções de documentos[8].

Redes de sensores

Os dados são geralmente transmitidos por streaming. Permite a deteção de falhas, defeitos e intrusões nos sistemas. Os métodos de deteção de anomalias neste domínio representam um grande desafio devido à natureza, às características e ao contexto dos dados. Estes métodos operam normalmente em ambiente online. Ex.: rede composta por diversos sensores com diferentes tipos de dados (binário, contínuo, discreto, áudio, vídeo, entre outros)[8].

Deteção de anomalias por Classificação

Figura 4 - Deteção de anomalias com métodos de classificação (imagem adaptada de Chandola et al., 2009)[8].

Estes métodos compreendem duas fases:

  1. Fase de treino: construção de um classificador com dados de treino previamente rotulados
  2. Fase de teste: Classificação dos objetos de teste como “normal” ou “anómalo”.

Com base nos rótulos disponíveis para a fase de treino, os métodos de deteção de anomalias podem ser divididos em duas categorias[8]:

  1. Multi-classe: assume que os dados de treino contêm objetos rotulados pertencentes a várias classes normais[13][14]. O objeto de teste é considerado anómalo se não pertencer a nenhuma das classes normais (Figura 4a). Alguns métodos associam uma pontuação de confiança à previsão do classificador.
  2. Classe única: assume que todos os objetos de treino pertencem apenas a uma classe, rotulada de normal. Qualquer objeto de teste que não se encontre dentro do limite da classe de treino é declarado anómalo. Estes métodos utilizam algoritmos que definem um limite discriminativo em torno dos casos normais (Figura 4b). Alguns exemplos são o Support Vector Machines (SVMs)[15] e o discriminante de Núcleo de Fisher[16][17].

Alguns métodos de deteção de anomalias que utilizam algoritmos de classificação são:

Redes Neuronais (Neural Networks-Based)

Este método é aplicado tanto numa abordagem multi-classe, como em classe única.

A deteção de anomalias com um método básico de multi-classe através de redes neuronais divide-se em dois passos. No primeiro, a rede neuronal é “ensinada” com os dados de treino para identificar as classes normais. No segundo, cada objeto de teste é fornecido como input à rede neuronal. Se a rede aceitar o input, o objeto é normal, se por outro lado o rejeitar o objeto é considerado anómalo[14].

O método Replicator Neural Networks é utilizado para a deteção de anomalias com uma única classe[18][19].

Falhou a verificação gramatical (SVG com PNG como alternativa (MathML pode ser ativado através de uma extensão do ''browser''): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://api.formulasearchengine.com/v1/":): {\displaystyle \delta _i = \frac{1}{n}\sum\limits_{j = 1}^n {\left( {x_{ij} - o_{ij} } \right)} ^2 }

Redes Bayesianas

As redes bayesianas são utilizadas na deteção de anomalias em situações com mais de uma classe (multi-classe). Calculam a probabilidade posterior de se observar uma determinada classe, no objeto de teste, baseando-se num conjunto de dados rotulados como normais e anómalos[8].

O método básico para uma série de dados categóricos univariados consiste em estimar a probabilidade posterior de uma classe em comparação com a probabilidade das outras classes e da “classe” rotulada como anomalia. A classe com maior probabilidade é selecionada. As probabilidades zero, em especial para a classe anomalia, são suavizadas com o método de Laplace Smoothing. Este método pode ser generalizado para dados categóricos multivariados agregando-se a probabilidade posterior por atributo, utilizando este novo valor para se atribuir a classe.

Muitas variantes deste método tem sido propostas para deteção de intrusos[13][20], anomalia textual [Baker et al. (1999)] e surtos de doenças[21][9][8].

Support Vector Machines (classe única)

As Support Vector Machines têm sido utilizadas em deteção de anomalias com uma classe. Este algoritmo aprende as fronteiras dos dados normais. Os algoritmos Kernel podem ser utilizados para delimitar regiões complexas.

O método básico determina se uma instância cai dentro da região definida como normal. Se cair fora dela, é classificada como anomalia.

Variantes deste método básico foram propostas para a deteção de anomalias em áudio, deteção de intrusos e anomalias temporais em estações de geração de energia.

Rule-Based

Os métodos de deteção baseados em regras “aprendem” as regras que caracterizam um comportamento normal num sistema. Um objeto de teste que não cumpra nenhuma das regras é considerado anómalo. Estes métodos são aplicados em dados com características multi-classe e de classe única[8].

Vantagens dos métodos de deteção de anomalias por classificação[8]:

  • Os métodos de classificação, especialmente as de multi-classe, podem utilizar poderosos algoritmos para distinguir objetos de diferentes classes.
  • A fase de teste é rápida, desde que os objetos de teste sejam comparados com um modelo previamente construído.

Desvantagens dos métodos de deteção de anomalias por classificação[8]:

  • Os métodos de classificação em múltiplas classes dependem da disponibilidade de rótulos precisos para as várias classes normais, o que muitas vezes não é possível.

  • Os métodos de classificação atribuem um rótulo a cada objeto de teste, o que também é uma desvantagem quando se é desejado um valor de anormalidade para as instâncias alguns métodos de classificação que obtém uma predição probabilística podem ser utilizados para resolver esta questão [Platt et al. (2000)].

Deteção de anomalias pela distância do vizinho mais próximo (k-NN)

Figura 5 - Distância de p1 e p2 para k=4. (imagem adaptada de Breunig et al., 2000)[22].
Figura 6 - Ilustração do teorema. (imagem adaptada de Breunig et al., 2000)[22].
Figura 7 - Vantagem dos métodos de densidade local vs. densidade global. (imagem adaptada de Breunig et al., 2000)[22].

Inicialmente proposto por Knorr et al. (1997)[23], tem como pressupostos que os dados normais tem uma vizinhança densa, e que as anomalias estão afastados dos seus vizinhos.

O modelo básico de Knorr[23] considera que a instância é definida como uma anomalia (baseada em distância) se ao menos uma fração β das observações da série de dados está afastada para além de r. Tal definição está baseada em um único critério global, determinado pelos parâmetros r e β. Esta definição levanta algumas dificuldades como a determinação do valor de r e a falta de um ranking para as anomalias. Sua complexidade computacional é de O(pn2), onde p é o número de atributos e n o tamanho da amostra, sendo, portanto, inadequado para grandes séries de dados.

Perspetiva global vs. perspetiva local: um objeto pode parecer anómalo em relação a todos os objetos, mas não em relação aos objetos vizinhos. Por exemplo, uma pessoa com 1,95m de altura é anormalmente alto em relação a população geral, mas não em relação a jogadores de basketball profissionais[1]. Desta forma, os métodos atuais baseados em distância procuram abordar ambas as situações.

k-Vizinho mais próximo (k-Nearest Neighbor: k-NN)

Proposta por Ramaswamy et al. (2000)[24], é uma abordagem global, que considera que as anomalias são as n observações que possuem as maiores distâncias ao seu k-ésimo vizinho mais próximo. Uma deficiência deste método é que ele só considera a distância do k-ésimo vizinho e ignora a informação das observações mais próximas. Uma alternativa também utilizada é obter a distância média dos k vizinhos mais próximos, com a vantagem de ser mais robusto a flutuações estatísticas, e a desvantagem de levar mais tempo para ser calculado. Possui uma complexidade computacional variável dependendo do algoritmo de procura do vizinho mais próximo[25].

Fator de Anomalia Local (Local Outlier Factor: LOF)

Foi o primeiro algoritmo baseado em densidade, proposto em 2000 por Breunig et al.[22], e é provavelmente o método atualmente mais utilizado.

Este método compara a densidade local de uma instância com a densidade dos seus vizinhos, dado que a densidade é inversamente proporcional a média das distâncias dos k-vizinhos mais próximos. O valor LOF atribuído à instância é dado pela razão da densidade local desta observação pela média das densidades dos seus vizinhos. A Figura 5 demonstra a ideia da "distância de acessibilidade" com k = 4. Intuitivamente, se o objeto p está longe de o (ex.: p2 na figura), então a "distância de acessibilidade" entre os dois é simplesmente a sua distância. Entretanto se estiverem suficientemente perto (ex.: p1 na figura), a "distância de acessibilidade" é representada por k-distance de o. A Figura 6 ilustra de forma mais global o teorema.

Isto resulta em que as observações normais tem LOF próximo de 1, e as anomalias um valor maior que 1. Para série de dados suficientemente grandes, um LOF de até 2 pode ser considerado normal.

As vantagens deste algoritmo são a facilidade da interpretação dos valores de LOF e sua habilidade em detetar anomalias previamente não detetadas pela abordagem global[26]. Na Figura 7 podemos verificar que a abordagem global detetaria apenas o ponto p2 como anomalia, enquanto que na abordagem local, ambos os pontos p1 e p2 são identificados. Sua complexidade computacional depende do método de k-NN escolhido, sendo dado por O(n*tempo k-NN)

Deteção de anomalias por Clustering

Figura 8 - Método de deteção de anomalias Cluster-Based Local Outlier Factor (CBLOF) (imagem adaptada de Amer et al., 2012)[26].
Figura 9 - Comparação do CBLOF com o unweighted-CBLOF. O unweighed-CBLOF (b) é uma variante do algoritmo de (a). O segundo pretende corrigir a discriminação resultante da multiplicação pelo número de objetos do cluster do ponto de teste (imagem adaptada de Amer et al., 2012)[26].

Os métodos de deteção de anomalias por Clustering assumem que os objetos anómalos estão agrupados em clusters pequenos e dispersos, longe do cluster centroide, ou que não pertencem a qualquer cluster. Dois dos métodos utilizados são o Cluster-Based Local Outlier Factor (CBLOF) e o Local Density Cluster-Based Outlier Factor (LDCOF). O passo inicial destes algoritmos é a classificação dos clusters em: cluster de grandes dimensões (large cluster) e cluster de pequenas dimensões (small cluster)[26].

O método Cluster-Based Local Outlier Factor (CBLOF) atribui um score de anomalia com base na distância ao cluster de maior dimensão mais próximo, multiplicada pelo tamanho do cluster ao qual o objeto pertence.

Falhou a verificação gramatical (SVG com PNG como alternativa (MathML pode ser ativado através de uma extensão do ''browser''): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://api.formulasearchengine.com/v1/":): {\displaystyle {\rm{CBLOF}}\left( {\rm{p}} \right) = \left\{ \begin{array}{l} {\rm{ }}\left| {{\rm{C}}_{\rm{i}} } \right|\min \left( {d\left( {p,C_j } \right)} \right){\rm{se }}p \in SC{\rm{ onde }}C_j \in LC \\ \left| {C_i } \right|\left( {d\left( {p,C_i } \right)} \right){\rm{se }}p \in C_i \in LC \\ \end{array} \right. }

Na figura 8 podemos ver uma imagem ilustrativa onde:

O ponto p se situa no cluster de pequenas dimensões C2. Assim, o score de anomalia é igual à distância do ponto central do cluster C1, cluster grande mais próximo, a multiplicar por 5, que é o tamanho do C2. Neste exemplo são identificados dois clusters de grandes dimensões C1 e C3[26].

Não há consenso quanto ao facto de este ser um método local uma vez que a quantidade de objetos de um cluster não está necessariamente relacionada com a sua densidade[27][26].

Na Figura 9 podemos ver o ponto A e o ponto B. O ponto A é claramente mais outlier que o B, no entanto, o tamanho da bolha (score de anomalia) é maior em B do que em A. Isto é explicado pelo facto de o ponto B ser multiplicado pelo tamanho do cluster branco. Assim os outliers pertencentes a clusters mais pequenos são discriminados, mesmo quando são indubitavelmente mais anómalos. Desta forma, Amer et al. (2012)[26] propuseram uma variante para o algoritmo existente, unweighed-CBLOF:

Falhou a verificação gramatical (SVG com PNG como alternativa (MathML pode ser ativado através de uma extensão do ''browser''): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://api.formulasearchengine.com/v1/":): {\displaystyle {\rm{unweighted - CBLOF}}\left( {\rm{p}} \right) = \left\{ \begin{array}{l} {\rm{ }}\min \left( {d\left( {p,C_j } \right)} \right){\rm{se }}p \in SC{\rm{ onde }}C_j \in LC \\ \min \left( {d\left( {p,C_i } \right)} \right){\rm{se }}p \in C_i \in LC \\ \end{array} \right. }

O método Local Density Cluster-Based Outlier Factor (LDCOF) baseia-se na densidade local, sendo que o score de anomalia é normalizado relativamente aos objetos vizinhos. Neste caso, o score de anomalia tem um threshold que indica se o objeto é o outlier ou não. O score LDCOF é definido pela distância do objeto de teste ao ponto central do cluster mais próximo de maior dimensão, a dividir pela distância média dos objetos do cluster grande ao seu ponto central[26].

Falhou a verificação gramatical (SVG com PNG como alternativa (MathML pode ser ativado através de uma extensão do ''browser''): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://api.formulasearchengine.com/v1/":): {\displaystyle {\rm{LDCOF}}\left( {\rm{p}} \right) = \left\{ \begin{array}{l} \frac{{\min \left( {d\left( {p,C_j } \right)} \right)}}{{{\rm{distance}}_{avg} \left( {C_j } \right)}}{\rm{ se }}p \in C_i \in SC{\rm{ onde }}C_j \in LC \\ \frac{{\min \left( {d\left( {p,C_i } \right)} \right)}}{{{\rm{distance}}_{avg} \left( {C_i } \right)}}{\rm{ se }}p \in C_i \in LC \\ \end{array} \right. }

Deteção de anomalias por métodos estatísticos

O princípio subjacente para qualquer método estatística de deteção de anomalia é: “An anomaly is an observation which is suspected of being partially or wholly irrelevant because it is not generated by the stochastic model assumed”[28].

Esta deteção baseia-se na seguinte premissa: as instâncias de dados normais aparecem em regiões de alta probabilidade de um modelo estocástico, enquanto que as anomalias ocorrem nas regiões de baixa probabilidade.

Métodos Paramétricos

Nas técnicas paramétricas assume-se que os dados ditos normais são gerados por uma distribuição paramétrica com parâmetros Ω e uma função de densidade de probabilidade f(x,Ω), em que x é uma observação. A pontuação de anomalia da ocorrência x é o inverso da função de densidade de probabilidade, f (x,Ω). os parâmetros Ω são estimados a partir dos dados fornecidos.

Alternativamente, os testes de hipóteses (referido como teste de discordância na literatura deteção outlier[29] podem ser utilizados. A hipótese nula (H0) para esses testes é que a instância dos dados x foi gerada com a distribuição estimada (com parâmetrosΩ). Se o teste estatístico rejeita H0, x é declarado ser anomalia. Um teste de hipótese está associado a um teste estatístico, o qual pode ser utilizado para se obter uma pontuação de anomalia probabilística para a instância de dados x.

Modelo baseado na distribuição normal:

Assume-se que os dados são gerados por uma distribuição normal, os parâmetros são estimados usando estimativas de máxima verossimilhança. A distância de uma instância de dados para a média estimada é a pontuação anomalia para essa instância. É aplicado um valor limite para a pontuação da anomalia para assim se determinar as anomalias.

Existem diferentes métodos para determinar esta distância.

Um método simples de deteção de outliers, muitas vezes utilizado no domínio do processo de controle de qualidade[30], é assumir que todas as instâncias de dados que estão a um a distância da média μ ,superior a 3σ , onde σ é o desvio padrão para a distribuição, são outliers. A região μ ± 3σ contém 99,7% das instâncias de dados.

A regra da plot-box (Figura 9) é o método estatística mais simples que tem sido aplicada

para detetar anomalias uni e multivariadas em dados do domínio médico[31][11][12]. A plot-box representa graficamente os dados usando um resumo de atributos, como a menor observação não-anomalia (min), o primeiro quartil (Q1), a mediana, o terceiro quartil (Q3), e maior instância não-anomalia (máx). A amplitude interquartil (AIQ), isto é, Q3 - Q1. O limite inferior da plot-box é m=Q1-1,5 * AIQ e limite superior é M=Q3-+1,5 * AIQ. Assim, as instâncias que se encontrem foram do intervalo [m,M] são tratadas como anomalias, este intervalo contém 99,3% de observações e, consequentemente, a escolha destes limites faz com que a plot-box seja equivalente a usar método baseada na distribuição normal.

O teste de Grubbs é usado para detetar anomalias em dados univariáveis[32][33], sob a suposição de que os dados são gerados por uma distribuição normal Para cada testar a instância x, é calculada a sua pontuação z da seguinte forma:

Falhou a verificação gramatical (SVG com PNG como alternativa (MathML pode ser ativado através de uma extensão do ''browser''): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://api.formulasearchengine.com/v1/":): {\displaystyle z = \frac{{\left| {x - \bar x} \right|}}{s}} onde Falhou a verificação gramatical (SVG com PNG como alternativa (MathML pode ser ativado através de uma extensão do ''browser''): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://api.formulasearchengine.com/v1/":): {\displaystyle \bar x} e Falhou a verificação gramatical (SVG com PNG como alternativa (MathML pode ser ativado através de uma extensão do ''browser''): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://api.formulasearchengine.com/v1/":): {\displaystyle s} são a média e o desvio padrão da amostra, respetivamente. A instância é anómala se Falhou a verificação gramatical (SVG com PNG como alternativa (MathML pode ser ativado através de uma extensão do ''browser''): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://api.formulasearchengine.com/v1/":): {\displaystyle z > \frac{{N - 1}}{{\sqrt N }}\sqrt {\frac{{\mathop t_{\alpha /\left( {2N} \right),N - 2}^2 }}{{N - 2 + \mathop t_{\alpha /\left( {2N} \right),N - 2}^2 }}}} , onde N é o tamanho da amostra e Falhou a verificação gramatical (SVG com PNG como alternativa (MathML pode ser ativado através de uma extensão do ''browser''): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://api.formulasearchengine.com/v1/":): {\displaystyle \mathop t_{\alpha /\left( {2N} \right),N - 2}^{}} é o limite usado para declarar que uma instância é anormal ou normal. O limite é calculado com a t-distribuição com um nível de significância de Falhou a verificação gramatical (SVG com PNG como alternativa (MathML pode ser ativado através de uma extensão do ''browser''): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://api.formulasearchengine.com/v1/":): {\displaystyle \alpha /\left( {2N} \right)} . O nível de significância reflete a confiança associada ao limite e indiretamente controla o número de observações que são consideradas anómalas.

Modelo baseado na regressão:

A deteção de anomalias baseada em regressão tem sido investigada para dados de séries temporais[34][35][36].

O método básico para deteção de anomalias baseada em regressão consiste de duas partes. Na primeira, um modelo de regressão é ajustado para os dados. Na segunda parte, para cada instância de teste, o resíduo para a instância é usado para calcular a ranking da anomalia. O resíduo é a parte da instância que não é explicado pelo modelo de regressão. A magnitude deste resíduo pode ser usada como o próprio ranking da anomalia para a instância de teste, embora haja testes estatísticos propostos para determinar objetos fora do padrão com certa confiança[28][37][38][39].

A presença de anomalias nos dados de treino pode influenciar os parâmetros da regressão e, portanto, o modelo pode não produzir resultados precisos. Um método popular para manipular essa anomalia é chamado de regressão robusta[40]. Um outro método similar para uma abordagem mais robusta é chamada de Autoregressive Integrated Moving Avarage (ARIMA)[41][42]. O modelo Autoregressive Moving Avarage (ARMA) é uma outra variante que deteta anomalias em base de dados multivariados[43].

Distribuição baseada em parâmetros mistos:

Tais métodos usam a mistura de parâmetros de distribuição estatística para modelar os dados. Elas podem ser agrupadas em duas subcategorias. A primeira modela observações normais e as anormais como distribuições paramétricas separadas, enquanto que a segunda modela somente as instancias normais como uma distribuição de parâmetros mistos.

A respeito da primeira subcategoria, a fase de teste envolve determinar a qual distribuição, normal ou anormal, a instância de teste pertence. Em Abraham et al. (1979)[35] é determinado que a instância normal é gerada a partir de uma distribuição normal com os parâmetros e os dados anormais também são gerados por uma normal, porém com uma variância maior.

A segunda subcategoria de métodos modela as observações normais como uma mistura de parâmetros de distribuição. Uma instância de teste que não pertence a nenhum dos modelos aprendidos é declarada como anomalia.

Métodos Não-Paramétricos

O método não paramétrico mais simples é usar histogramas para preservar o perfil dos dados normais. Tais métodos também são referenciados como baseados na frequência relativa ou absoluta. Os métodos baseados em histogramas são particularmente populares na comunidade de deteção de intrusão e fraudes, uma vez que o comportamento dos dados é gerido por determinados perfis (utilizadores ou softwares) que podem ser capturados usando um histograma.

O método básico de deteção de anomalias baseada em histograma para dados univariáveis consiste de duas etapas. O primeiro passo implica construir um histograma baseado nos diferentes valores contidos nos atributos para os dados de treino. No segundo passo, o método verifica se uma instância de teste pertence a qualquer um dos bins do histograma. Em caso afirmativo, a instância é considerada normal, caso contrário não é. Uma variação desse método básico é atribuir um ranking à anomalia a cada instância de teste baseada na frequência dos bins à qual ela pertence.

O tamanho do bin usado na construção do histograma é a chave para a identificação da anomalia. Se os bins forem curtos, muitas observações de teste normais irão pertencer a bins vazios ou raros, resultando numa taxa alta de falsos positivos. Se os bins forem largos, muitos testes de observações anormais irão pertencer a bins frequentes, gerando uma alta taxa de falsos negativos. Então o desafio derradeiro para os métodos baseados em histogramas é determinar o tamanho ótimo dos bins para construir os histogramas que mantém uma taxa baixa de falsos positivos e de falsos negativos.

Para dados multivariados, o método básico é construir histogramas de atributos moderados. Durante o teste, para cada instância, o ranking da anomalia para cada valor de atributo é calculado como a altura do bin que contém o atributo. Os rankings da anomalia por atributo são agrupados para obter um ranking de anomalia global para a instância de teste.

Outro método não-paramétrico de deteção de anomalias é a baseada em funções Kernel, que são similares aos métodos paramétricos descritas anteriormente. A única diferença está na utilização do método de estimativas de densidade. Proposto por Desforges et al. (1998)[44] um método de deteção de anomalias semi-supervisionado, que usa as funções Kernel para calcular a função de distribuição de probabilidade para os dados normais. Uma nova instância, que corresponde a uma pequena área de probabilidade dessa função de distribuição de probabilidade é considerada como sendo uma anomalia.

Vantagens e desvantagens de métodos estatísticas:

As vantagens de métodos estatísticas são:

  • Se os pressupostos sobre a distribuição de dados subjacente forem verdadeiros os métodos estatísticas fornecem uma solução estatisticamente justificável para a deteção de anomalias.
  • A pontuação da anomalia fornecida por um método estatístico está associada a um intervalo de confiança, a qual pode ser utilizado como informação adicional para tomar uma decisão em relação àquela instância testada.
  • Se a etapa da estimativa de distribuição é robusta para a deteção de anomalias nos dados, os métodos estatísticas pode operar num ambiente sem vigilância, sem qualquer necessidade de dados de treino rotulados.

As desvantagens de métodos estatísticas são:

  • Baseiam-se na suposição de que os dados são gerados a partir de uma distribuição específica. Esta suposição, muitas vezes não é verdadeira, especialmente para dados reais de grandes dimensões.

  • Mesmo quando o pressuposto estatístico pode ser razoavelmente justificado, existem vários testes de hipóteses que podem ser aplicadas para deteção de anomalias; escolher o melhor muitas vezes não é uma tarefa simples[45].

  • os métodos baseados em histograma são relativamente simples de implementar, mas para dados multivariados não são capazes de capturar as interações entre diferentes atributos. Uma anomalia pode ter valores de atributo que são individualmente muito frequentes, mas cuja combinação é muito rara, não sendo possível detetá-la usando a método do histograma

Deteção de anomalias por métodos de teoria da informação

Para analisar o conteúdo de informação de um conjunto de dados usa-se teorias diferentes, tais como:

  • Complexidade de Kolmogorov;
  • Entropia;
  • Entropia relativa.

Esses métodos baseiam-se na suposição seguinte:

Num conjunto de dados as anomalias induzem irregularidades no conteúdo da informação.

C(D). Seja C a complexidade de um dado conjunto de dados, D.

Uma informação teórica método básica pode ser descrita como se segue.

Dado um conjunto de dados D, encontrar o subconjunto mínimo de casos, I, tal que C(D) - C(D-I) é máxima.

Todas as instâncias do subconjunto assim obtido, são consideradas como anômalas.

O problema abordado baseado neste método é para encontrar uma solução ótima de Pareto, a qual não tem uma única solução, uma vez que são dois objetivos diferentes que precisam de ser otimizados.

Neste método, a complexidade de um conjunto de dados (C) pode ser medido de diferentes maneiras.

Segundo Arning et al. (1996) usa o tamanho da expressão regular para medir a complexidade de Kolmogorov dos dados (representada como uma expressão) para a deteção de anomalias.

Keogh et al. (2004) usa o tamanho do ficheiro de dados comprimido (usando qualquer algoritmo de compressão padrão), como uma medida do conjunto de dados da complexidade de Kolmogorov.

Outras medidas das teorias da informação, tais como: a entropia; a incerteza relativa; e assim por diante, têm também sido usadas para medir a complexidade de um conjunto de dados categóricos.

Este método envolve a otimização dupla para minimizar o tamanho do subconjunto de dados enquanto maximiza a redução da complexidade do conjunto de dados.

Assim, numa abordagem exaustiva em que cada subconjunto possível do conjunto de dados fosse considerado seria executado em tempo exponencial. Vários métodos têm sido propostos para executar uma busca aproximada ao subconjunto mais anômalo.

He et al. (2006) usa um algoritmo de aproximação chamado de Local Search Algorithm (LSA), para determinar aproximadamente tal subconjunto de uma forma linear, utilizando a entropia como medida de complexidade.

Um método semelhante que usa uma medida de informação gargalo foi proposta por Ando et al. (2007).

Métodos da teoria de informação também têm sido utilizados em conjuntos de dados, em que os dados instâncias são naturalmente ordenados, por exemplo, dados sequenciais e dados espaciais.

Em tais casos, os dados são divididos em subestruturas (segmentos de sequências, subgraphs para gráficos, etc.), e o método de deteção de anomalias encontra a subestrutura, I, tal que C(D)-C(D-I) é máxima.

Um dos principais desafios de tais métodos é encontrar o tamanho ótimo da subestrutura que resultaria na deteção de anomalias.

Complexidade computacional.

Como mencionado anteriormente, o método baseado na teoria da informação para a deteção de anomalias tem complexidade de tempo exponencial, contudo métodos aproximados têm sido propostos e que têm complexidade de tempo linear.

Vantagens e desvantagens de métodos de Teoria da Informação.

As vantagens são as seguintes:

  • Podem operar em um ambiente sem supervisão.
  • Não fazem quaisquer suposições sobre a distribuição estatística subjacente para os dados.

As desvantagens são as seguintes:

  • O desempenho de tais métodos é muito dependente da escolha das medidas de teoria da informação. Muitas vezes, essas medidas podem detetar a presença de anomalias apenas quando existe um número significativamente grande de anomalias presente nos dados.

  • Métodos de teoria da informação aplicados a sequências e conjuntos de dados espaciais dependem do tamanho da subestrutura, o que não é muitas vezes trivial de se obter.

  • É difícil associar uma pontuação de anomalias a uma instância de teste usando o método da teoria da informação.

Deteção de anomalias por métodos espectrais

Tentam encontrar uma aproximação dos dados usando uma combinação de atributos que captura a maior parte da variabilidade dos dados.

Esses métodos baseiam-se na suposição seguinte:

Os dados podem ser incorporados num subespaço dimensional inferior em que casos normais e anomalias aparecem significativamente diferentes.

Assim, a abordagem adotada pelos métodos de deteção de anomalias espectrais é determinar tais subespaços (incorporações, projeções, etc.) em que as instâncias anômalas podem ser facilmente identificadas Agovic et al. (2007). Esses métodos podem trabalhar num ambiente sem vigilância, bem como num supervisionado.

Vários métodos usam Principal Component Analysis (PCA) Jolliffe et al. (2002) para projetar dados num espaço dimensional mais baixo. Um tal método [Parra et al. 1996] analisa a projeção de cada instância de dados ao longo das principais componentes com baixa variância. Um exemplo normal que satisfaz a estrutura de correlação dos dados terá um valor baixo para essas projeções enquanto uma instância anômala que se desvia da estrutura de correlação terá um grande valor.

Dutta et al. (2007) adotou esta abordagem para detetar anomalias em catálogos de astronomia.

Ide et al. (2004) propõem um método espectral para detetar anomalias num momento numa série de gráficos. Cada gráfico é representado como uma matriz de adjacência para um dado tempo. Em cada instante de tempo, o componente principal da matriz é escolhido como o vetor de atividade para o gráfico dado.

A série temporal dos vetores de atividade é considerada como uma matriz e o principal vetor singular esquerdo é obtido para capturar as dependências normais ao longo do tempo nos dados. Para um novo gráfico de teste, o ângulo entre o vetor de atividade e o principal vetor singular esquerdo obtidos a partir dos gráficos anteriores é calculado e utilizado para determinar a pontuação de anomalia do gráfico de teste.

Numa abordagem semelhante, Sun et al. (2007) propõem um método de deteção de anomalias numa sequência de gráficos executando Compact Matrix Decomposition (CMD) sobre a matriz de adjacência para cada gráfico e obtendo-se assim uma aproximação da matriz original.

Para cada gráfico na sequência, os autores realizam CMD e calculam o erro de aproximação entre matriz original de adjacência e a matriz aproximada. Os autores construem uma série temporal dos erros de aproximação e das anomalias detetadas numa série de erros no tempo; o gráfico correspondente ao erro de aproximação de anomalias é declarado ser anômalo. Shyu et al. (2003) apresentam um método de deteção de anomalias onde os autores realizam robusto PCA [Huber (1974)] para estimar os componentes principais da matriz covariância dos dados de treino normal.

A fase de testes consiste em comparar cada ponto com os componentes e atribuir uma pontuação às anomalias baseada na distância do ponto a partir dos componentes principais. Assim, se a projeção de x sobre os componentes principais é Y1, Y2,. . . , Yp e os valores eigen correspondentes são λ1, λ2,. . . , Λp, então,

Falhou a verificação gramatical (SVG com PNG como alternativa (MathML pode ser ativado através de uma extensão do ''browser''): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://api.formulasearchengine.com/v1/":): {\displaystyle \sum\limits_{i = 1}^q {\frac{{y_i^2 }}{{\lambda _i }}} = \frac{{y_1^2 }}{{\lambda _1 }} + \frac{{y_2^2 }}{{\lambda _2 }} + ... + \frac{{y_q^2 }}{{\lambda _q }},{\rm{ }}q \le p }

tem uma distribuição chi-square [Hawkins 1974]. Usando este resultado, os autores propõem que, para um dado nível de significância α, a instância de X é uma anomalia se

Falhou a verificação gramatical (SVG com PNG como alternativa (MathML pode ser ativado através de uma extensão do ''browser''): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://api.formulasearchengine.com/v1/":): {\displaystyle \sum\limits_{i = 1}^q {\frac{{y_i^2 }}{{\lambda _i }}} {\rm{ > }}\chi _{\rm{q}}^2 \left( \alpha \right) }

Pode-se mostrar que a quantidade calculada na 1ª Equação é igual a distância de Mahalanobis da instância x da média da amostra quando q=p Shyu et al. (2003). O robusto método PCA-based foi aplicada ao domínio da deteção de intrusão de rede Shyu et al. (2003); Lakhina et al. (2005); Thottan et al. (2003) e para a deteção de anomalias em componentes artesanais espaciais Fujimaki et al. (2005)[7].

Complexidade computacional

Métodos baseados no PCA padrão são tipicamente lineares no tamanho dos dados, mas muitas vezes quadráticas no número de dimensões.

Métodos não-lineares podem melhorar a complexidade de tempo para serem lineares no número de dimensões, mas polinomiais no número de componentes principais Gunter et al. (2007). Os métodos que realizam SVD sobre os dados são tipicamente quadráticas no tamanho dos dados.

Vantagens e desvantagens dos métodos espectrais

As vantagens são:

  • Métodos de espectrometria realizam automaticamente a redução da dimensionalidade e, portanto, são adequadas para lidar com altos conjuntos de dados dimensionais. Além disso, elas também podem ser utilizadas como uma etapa de pré-processamento, seguido pela aplicação de qualquer método de deteção de anomalias existente no espaço transformado.
  • Os métodos espectrais podem ser utilizados num ambiente sem supervisão.

As desvantagens são:

  • Métodos espectrais são úteis apenas se as instâncias normais e anormais são separáveis na incorporação dimensional inferior dos dados.
  • Métodos espectrais normalmente têm alta complexidade computacional.

Referências

  1. 1,0 1,1 Pang-Ning T, Steinbach M, Kumar V: Introduction to Data Mining. 2006.
  2. Xiuyao S, Mingxi W, Jermaine C, Ranka S: Conditional anomaly detection. IEEE Trans Knowl Data Eng 2007, 19:631–644.
  3. Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PC, Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley H.: PhysioBank, PhysioToolkit, and PhysioNet: Components of a New Research Resource for Complex Physiologic Signals. Circulation 2000, 101:215–220.
  4. Theiler JP, Cai DM: Resampling approach for anomaly detection in multispectral images. Proc SPIE 2003, 5093:230–240.
  5. Abe N, Zadrozny B, Langford J: Outlier detection by active learning. Proc 12th ACM SIGKDD Int Conf Knowl Discov data Min - KDD ’06 2006:504.
  6. Steinwart I, Gov D, Scovel C, Gov J: A Classification Framework for Anomaly Detection Don Hush. J Mach Learn Res 2005, 6:211–232.
  7. 7,0 7,1 Fujimaki R, Yairi T, Machida K: An approach to spacecraft anomaly detection problem using kernel feature space. Proceeding Elev ACM SIGKDD Int Conf Knowl Discov data Min - KDD ’05 2005:401.
  8. 8,00 8,01 8,02 8,03 8,04 8,05 8,06 8,07 8,08 8,09 8,10 8,11 8,12 8,13 Chandola V, Banerjee A, Kumar V: Anomaly detection. ACM Comput Surv 2009, 41:1–58.
  9. 9,0 9,1 9,2 Wong W, Moore a, Cooper G, Wagner M: Bayesian network anomaly pattern detection for disease outbreaks. Icml 2003:808–815.
  10. 10,0 10,1 Lin J, Keogh E, Fu A, Van Herle H: Approximations to Magic: Finding Unusual Medical Time Series. 18th IEEE Symp Comput Med Syst 2005:329–334.
  11. 11,0 11,1 Horn PS, Feng L, Li Y, Pesce AJ: Effect of outliers and nonhealthy individuals on reference interval estimation. Clin Chem 2001, 47:2137–2145.
  12. 12,0 12,1 Solberg HE, Lahti A: Detection of outliers in reference distributions: Performance of horn’s algorithm. Clin Chem 2005, 51:2326–2332.
  13. 13,0 13,1 Barbará D, Wu N, Jajodia S: Detecting novel network intrusions using bayes estimators. First SIAM Conf Data Min 2001:1–17.
  14. 14,0 14,1 De Stefano C, Sansone C, Vento M: To reject or not to reject: that is the question - an answer in case of neural classifiers. IEEE Trans Syst Man Cybern Part C Appl Rev 2000, 30:84–94.
  15. Schölkopf B, Platt JC, Shawe-Taylor J, Smola a J, Williamson RC: Estimating the support of a high-dimensional distribution. Neural Comput 2001, 13:1443–1471.
  16. Roth V: Outlier detection with one-class kernel Fisher discriminants. Adv Neural Inf Process Syst 2005:1169–1176.
  17. Roth V: Kernel Fisher Discriminants for Outlier Detection. Neural Comput 2006, 18:942–960.
  18. Hawkins S, He H, Williams G, Baxter R: Outlier Detection Using Replicator Neural Networks. Data Warehous … 2002:170–180.
  19. Williams G, Baxter R, He H, al et: A comparative study of RNN for outlier detection in data mining. Data Min 2002.
  20. Bronstein A, Das A, Duro M, Friedrich R, Kleyner G, Mueller M, Singhal S, and Cohen I, “Self-aware services: using Bayesian networks for detecting anomalies in Internet-based services,” in 2001 IEEE/IFIP International Symposium on Integrated Network Management Proceedings. Integrated Network Management VII. Integrated Management Strategies for the New Millennium (Cat. No.01EX470).
  21. Wong W-K, Moore A, Cooper G, Wagner M: Rule-based anomaly pattern detection for detecting disease outbreaks. Proc Eighteenth Natl Conf Artif Intell 2002:217–223.
  22. 22,0 22,1 22,2 22,3 Breunig MM, Kriegel H-P, Ng RT, Sander J: LOF: Identifying Density-Based Local Outliers. In Proceedings of the 2000 ACM SIGMOD international conference on Management of data - SIGMOD ’00. New York, New York, USA: ACM Press; 2000(February):93–104.
  23. 23,0 23,1 Knorr E., Ng R., ”A unified approach for mining outliers,” In Proceedings Knowledge Discovery KDD, 219-222, 1997.
  24. Ramaswamy S, Rastogi R, Shim K: Efficient algorithms for mining outliers from large data sets. ACM SIGMOD Rec 2000, 29:427–438.
  25. Weber R, Schek HJ, Blott S: A Quantitative Analysis and Performance Study for Similarity-Search Methods in High-Dimensional Spaces. Proc 24th VLDB Conf 1998, New York C:194–205.
  26. 26,0 26,1 26,2 26,3 26,4 26,5 26,6 26,7 Amer M, Goldstein M: Nearest-Neighbor and Clustering based Anomaly Detection Algorithms for RapidMiner. In Proceedings of the 3rd RapidMiner Community Meeting and Conferernce (RCOMM 2012); 2012.
  27. He Z, Xu X, Deng S: Discovering cluster-based local outliers. Pattern Recognit Lett 2003, 24.
  28. 28,0 28,1 Anscombe FJ, Guttman I: Rejection of Outliers. Technometrics 1960, 2:pp. 123–147.
  29. Beniger JR, Barnett V, Lewis T: Outliers in Statistical Data. Contemp Sociol 1980, 9:560.
  30. Shewhart W: Economic Quality Control of Manufactured Product. Bell System Technical Journal1 1930:364–389.
  31. Laurikkala J, Juhola M, Kentala E, Lavrac N, Miksch S, and Kavsek B, “Informal identification of outliers in medical data,” in Fifth International Workshop on Intelligent Data Analysis in Medicine and Pharmacology, 2000, pp. 20–24.
  32. Grubbs FE: Procedures for Detecting Outlying Observations in Samples. Technometrics 1969, 11:1–21.
  33. Stefansky W: Rejecting outliers in factorial designs. Technometrics 1972, 14:469–479.
  34. Abraham B, Chuang A: Outlier Detection and Time Series Modeling. Technometrics 1989, 31:241–248.
  35. 35,0 35,1 Abraham B, Box GEP: Bayesian Analysis of Some Outlier Problems in Time Series. Biometrika 1979, 66:229–237.
  36. Fox AJ: Outliers in time series. J R Stat Soc Ser B 1972, 34:350–363.
  37. Beckman RJ, Cook RD: OUTLIER. . . . . . . . . . S. Technometrics 1983, 25:119–149.
  38. Enderlein G, “Hawkins, D M: Identification of Outliers. Chapman and Hall, London – New York 1980, 188 S., £ 14, 50,” Biom. J., vol. 29, no. 2, pp. 198–198, Jan. 1987.
  39. Torr PHS, Murray DW: Outlier Detection and Motion Segmentation. Sens Fusion VI 1993, 2059:432–443.
  40. Wainer H, “Book Reviews: Robust Regression & Outlier Detection: Peter J. Rousseeuw and Annick M. Leroy New York: Wiley, 1987. xiv + 329 pp,” J. Educ. Behav. Stat., vol. 13, no. 4, pp. 358–364, Dec. 1988.
  41. Bianco AM, García Ben M, Martínez EJ, Yohai VJ: Outlier detection in regression models with ARIMA errors using robust estimates. J Forecast 2001, 20:565–579.
  42. Chen D, Shao X, Hu B, Su Q: Simultaneous wavelength selection and outlier detection in multivariate regression of near-infrared spectra. Anal Sci 2005, 21:161–166.
  43. Galeano P, Peña D, Tsay R: Outlier detection in multivariate time series by projection pursuit. J Am Stat Assoc 2006, 101:654–669.
  44. Desforges MJ, Jacob PJ, Cooper JE: Applications of probability density estimation to the detection of abnormal conditions in engineering. Proc Inst Mech Eng Part C J Mech Eng Sci 1998, 212:687–703.
  45. Motulsky H: Intuitive Biostatistics: Choosing a Statistical Test. Volume 17; 1995.