Detecção de séries temporais e anomalias

15

Gostaria de configurar um algoritmo para detectar uma anomalia em séries temporais, e pretendo usar o cluster para isso.

  • Por que devo usar uma matriz de distância para agrupar e não os dados brutos de séries temporais ?,

  • Para a detecção da anomalia, usarei o cluster baseado em densidade, um algoritmo como DBscan, então isso funcionaria nesse caso? Existe uma versão online para streaming de dados?

  • Gostaria de detectar a anomalia antes que ela aconteça; portanto, usar um algoritmo de detecção de tendência (ARIMA) seria uma boa opção?

napsterockoeur
fonte
Está escrito corretamente DBSCAN. É uma abreviação. Não tenho certeza do que você está tentando fazer. Detecte anomalias em uma série temporal ou séries anômalas gerais.
Anony-Mousse -Reinstala Monica
Sim DBSCAN, exacte! O que estou tentando fazer é uma anomalia de detecção on-line em um conjunto de dados de séries temporais! assim! qualquer pedido ? graças relação
napsterockoeur
Online como no crescimento timeseries ou como em outras séries a ser adicionado? Novamente, estes são muito diferentes, e você precisa ser muito claro sobre o que quer dizer.
Anony-Mousse -Reinstala Monica
Quer dizer por linha (corrente), uma crescente série vezes provenientes de um sensor de cada uma hora .. um conjunto de dados (vector) é recebido ..
napsterockoeur

Respostas:

12

Em relação à sua primeira pergunta, recomendo que você leia este famoso artigo (O agrupamento de subseqüências de séries temporais não tem sentido) antes de fazer agrupamentos em séries temporais. Está claramente escrito e ilustra muitas armadilhas que você deseja evitar.

gui11aume
fonte
6

A detecção de anomalias ou "Intervention Detection" foi defendida pelo GCTiao e outros. Fazer ciência é buscar padrões repetidos. Detectar anomalias é identificar valores que não seguem padrões repetidos. Aprendemos com Newton: "Quem conhece os caminhos da natureza notará mais facilmente seus desvios e, por outro lado, quem conhece seus desvios descreverá com mais precisão seus caminhos". Aprende-se as regras observando quando as regras atuais falham. Considere a série temporal 1,9,1,9,1,9,5,9. Para identificar a anomalia, é necessário ter um padrão. O "5" é tanto uma anomalia quanto "14" seria. Para identificar o padrão, basta usar o ARIMA e, neste caso, a "anomalia" se torna óbvia. Experimente diferentes softwares / abordagens e veja qual deles sugere um modelo ARIMA de ordem 1,0, 0 com um coeficiente de -1,0. Use os procedimentos do google / search para encontrar "arima automático" ou "detecção automática de intervenção". Você pode se decepcionar com coisas grátis, pois pode valer a pena o que você paga por isso. Escrever você mesmo pode ser interessante se você tiver um histórico pesado de séries temporais e alguns anos a perder. Existem sérias limitações nos métodos baseados em distânciahttp://www3.ntu.edu.sg/SCE/pakdd2006/tutorial/chawla_tutorial_pakddslides.pdf

IrishStat
fonte
Muito obrigado Sir IrishStat, estou totalmente de acordo com você, que existem grandes limitações nos métodos baseados em distância e eu acho que os outros métodos também, é por isso que estou testando o método de base de densidade, vi muitos artigos falando sobre detecção de anomalias em séries temporais, como pesquisa da nasa, universidades .. etc, mas há um pequeno progresso, para problemas específicos de dados E recentemente descobri, um bom software livre para detecção de outliers: MOA da Weka! Você testou isso antes? É um software de código aberto, eu estou tentando usá-lo para desenvolver e integrar a minha detecção pequena anomalia algoritmo,
napsterockoeur
oh: FYI: eu estou tratando um fluxo de dados
napsterockoeur