Tuesday 24 October 2017

Detecção Ambulatorial Média Em Movimento


Estou trabalhando com uma grande quantidade de séries temporais. Essas séries temporais são basicamente medidas de rede que chegam a cada 10 minutos, e algumas delas são periódicas (ou seja, a largura de banda), enquanto algumas outras arent (ou seja, a quantidade de tráfego de roteamento). Gostaria de um algoritmo simples para fazer uma detecção outlier online. Basicamente, eu quero manter na memória (ou no disco) todos os dados históricos para cada série temporal, e eu quero detectar qualquer outlier em um cenário ao vivo (cada vez que uma nova amostra é capturada). Qual é a melhor maneira de alcançar esses resultados Estou atualmente usando uma média móvel para remover algum ruído, mas depois o que aconteceu Simples coisas como desvio padrão, louco. Contra todo o conjunto de dados não funciona bem (eu não posso assumir que as séries temporais estão estacionárias) e eu gostaria de algo mais preciso, idealmente uma caixa preta como: onde o vetor é a matriz de dois que contém os dados históricos e o valor de retorno é A pontuação de anomalia para o novo valor da amostra. Perguntou 2 de agosto 10 às 18:03 Sugiro o esquema abaixo, que deve ser implementável em um dia ou assim: coletar tantas amostras quanto você pode segurar na memória remover outliers óbvias usando o desvio padrão para cada atributo Calcular e armazenar a matriz de correlação E também a média de cada atributo Calcule e armazene as distâncias de Mahalanobis de todas as suas amostras Calculando a outguraza: Para a amostra única de que você quer saber a sua outorância: Recupere os meios, a matriz de covariância e a distância de Mahalanobis do treinamento Calcule a distância de Mahalanobis d Para a sua amostra Retorne o percentil em que d cai (usando as distâncias de Mahalanobis do treino). Esse será o seu resultado anormal: 100 é um outlier extremo. PS. Ao calcular a distância Mahalanobis. Use a matriz de correlação, não a matriz de covariância. Isso é mais robusto se as medidas da amostra variarem na unidade e no número. Avalie o estimador e sua aplicação na Detecção Outlier Este é o acompanhamento da última publicação na Visão geral da detecção de fraude. Neste artigo, nos concentraremos nos dados da série temporal e em alguns métodos para encontrar outliers em dados da série temporal. Dados da série temporal. O que é um dado da série temporal. A série temporal é definida como uma coleção de pontos de dados que é observada durante um intervalo de tempo contínuo. Os dados da série temporária são freqüentemente usados ​​para encontrar as mudanças de dados ao longo do tempo. Por exemplo, podemos medir a quantidade de calorias que queimamos todos os dias para ver se o ajuste está em nós, também podemos calcular o dinheiro que gastamos todos os dias para encontrar nossos comportamentos de gastos Câmbio (Euro para VN). Fonte: google A figura acima se um exemplo de dados de séries temporais (ilustrado pelo gráfico de linha à direita). Também podemos identificar muitos outros recursos no gráfico. Por exemplo, olhando para o gráfico, podemos achar que, após 5 anos, o valor do Euro foi reduzido (de 30.000 VND a 25.000 VND). Além disso, houve mudanças drásticas no final de 2014 (o que corresponde à sua crise). Mesmo a tendência dos dados no ano passado também pode ser identificada. O que é um outlier nos dados da série temporal Na última publicação, definimos um outlier como um ponto de observação distante de outras observações. Conforme mencionado na última seção, usando dados de séries temporais, poderíamos detectar a tendência de mudança de dados ao longo do tempo. Combine esses dois, um outlier em dados de séries temporais é um ponto de dados que está distante da tendência geral de todo o conjunto de dados. Usando a definição acima, poderíamos criar um método geral para encontrar valores temporários nos dados da série temporal da seguinte maneira: colete dados da série temporal com ruídos e valores esporádicos. Normalize os dados de valor Encontre a tendência geral de dados Identifique os pontos que não seguem a tendência geral (pontos que são muito distantes para os valores estimados de acordo com a tendência geral) Detectando outlier em dados da série temporária Existem várias maneiras de calcular o movimento Tendência de dados. Nesta seção, vamos falar sobre dois métodos: média móvel e regressão. Para ilustrar o algoritmo, vamos definir os dados de entrada. Suponha que nos dêmos: Mover média A média móvel é um dos métodos mais simples para calcular e visualizar a tendência dos dados das séries temporais. Sua idéia é simples, o valor correspondente de um carimbo de data / hora é calculado como o valor médio dos pontos circundantes. Por exemplo, deixe 2k ser as janelas da média móvel. No timestamp xi podemos calcular yi como: Aplicar esta equação a todos os pontos dados, alcançamos os valores estimados de cada marca de tempo. Encontrar um outlier nos dados fornecidos agora é bastante simples. Basta predefinir um limite e, em seguida, identificar todo o ponto de dados j que possui: Usar pontos circundantes não é uma obrigação. Podemos também usar pontos k observados antes (ou depois) do ponto selecionado. Existem várias melhorias para o algoritmo de média móvel. Você pode encontrá-los aqui Median filter A média móvel oferece uma maneira fácil de estimar e visualizar a tendência dos dados da série temporal. No entanto, tem uma grande desvantagem que é: outlier geralmente introduz uma mudança drástica no valor médio. Por isso, você pode acabar detectando alguns pontos de dados que não devem ser filtrados. Por sorte, o filtro mediano poderia resolver esse problema estimando os valores observados como a mediana dos valores circundantes. Em outras palavras, temos: Semelhante à média móvel, agora temos que definir um limiar e, em seguida, encontrar o outlier de acordo com o limite. Tanto a média móvel quanto o filtro mediano devem enfrentar o mesmo problema: eles não podem fornecer uma maneira efetiva de prever o valor no futuro porque não temos dados no futuro. Por exemplo, o valor do Euro em comparação com o VND está aumentando de acordo com o gráfico na última seção. A aplicação da média móvel ou algoritmos de filtro mediano para o próximo passo resultará em um valor previsto que seja menor do que o último tempo medido. Portanto, o valor previsto não seguirá a tendência geral dos dados. Para resolver este problema, podemos usar o método de regressão. Regressão Ao contrário da média móvel e do filtro médio, a regressão calcula a relação entre cada par de dados observados no conjunto de dados. Entre os métodos de regressão, a regressão linear é considerada como o método mais fácil. Ele simplesmente estima uma linha direta que pode ser considerada como a tendência de mudança de dados. Em outras palavras, tentamos estimar uma linha que é: Dado os dados, podemos calcular a taxa de erro: e o erro total é: Minimizar o erro total. Detecção Outlier com Gaussian Process. A regressão linear fornece um método para encontrar a tendência de mudança De dados. No entanto, é apenas uma linha reta. Nos dados do mundo real, vimos muitos dados que não devem ser estimados como uma linha reta. O gráfico de moeda acima é um exemplo. Portanto, precisamos de um método de regressão melhor que não apenas capture a natureza do determinado conjunto de dados, mas também seja robusto para o ruído (ou outlier) Gaussian Process é um método não paramétrico para descobrir a tendência dos dados. Também oferece um bom modelo probabilístico robusto ao ruído de entrada (que pode ser considerado como outlier). Permite mover o algoritmo do próprio Processo gaussiano. No processo gaussiano, assumimos que os pontos de dados são uma coleção de variáveis ​​aleatórias, cujo número finito possui distribuição Gaussiana comum Rasmussen. Semelhante à Distribuição Gaussiana, o Processo Gaussiano é definido por sua função média e função de covariância. Eles podem ser calculados como: neste momento, um processo gaussiano é controlado pela função de covariância. Vamos considerar a função de covariância mais comum: função RBF (ou função gaussiana). Na função RBF, k (xi, xj) é calculado pela seguinte equação: suponha que queremos prever o valor ym em xm. Precisamos preparar Então, podemos calcular o ym previsto por: Observe que: todos os parâmetros do processo gaussiano podem ser aprendidos a partir dos dados dados usando o método de subida de gradiente marginal. Na estatística, temos a regra 67-95-99.7. Aplicando esta regra em nosso problema teremos a confiança preditiva de ym. Isso também nos ajuda a identificar o outlier nos dados (os dados observados não permanecem dentro do intervalo de confiança selecionado dos dados de entrada previstos. Criar uma entrada usando python Mudança média Filtro médio Regressão linear Processo gaussiano Detecção de atraso e estimativa do valor perdido no tempo Dados de contagem de tráfego série: Relatório final do projeto SERC GRG23180. Tight, MR Redfern, EJ Watson, SM e outros. (Mais 1 autor) (1993) Detecção de Outlier e estimativa de valor em falta na série de tempo Dados de contagem de trânsito: Relatório final do projeto SERC O grave problema na análise dos dados de contagem de tráfego é o que fazer quando faltam ou ocorrem valores extremos, talvez como resultado de uma quebra no equipamento de contagem automática. O GRG23180. O documento de trabalho. Institute of Transport Studies, Universidade de Leeds. Os objetivos deste trabalho atual foram tentar procurar maneiras de resolver esse problema por: 13 1) estabelecer a aplicabilidade de séries temporais e influenciar técnicas de função para Estimando os valores faltantes e detectando valores abertos em dados de tráfego de séries temporais 13 2) fazer uma avaliação comparativa de novas técnicas com as utilizadas pelos engenheiros de tráfego na prática para sistemas de contagem de tráfego locais, regionais ou nacionais13. Duas abordagens alternativas foram identificadas como potencialmente úteis e estas foram Avaliado e comparado com os métodos atualmente empregados para a limpeza das séries de contagem de tráfego. Estes foram baseados na avaliação do efeito de indivíduos ou grupos de observações sobre a estimativa da estrutura de auto-correlação e eventos que influenciam um modelo paramétrico (ARIMA). 13 Estes foram comparados com os métodos existentes, que incluíram técnicas de inspeção visual e suavização, como a média móvel ponderada exponencialmente, na qual os meios e variâncias são atualizados usando observações da mesma hora e dia da semana. 13 Os resultados mostraram vantagens e desvantagens para cada um dos métodos.13 O método da média móvel ponderada exponencialmente tendeu a detectar valores aberrantes não razoáveis ​​e também sugeriu substituições que eram consistentemente maiores do que o que poderia razoavelmente ser esperado. 13 Métodos baseados na estrutura de autocorrelação foram razoavelmente bem sucedidos na detecção de eventos, mas os valores de substituição eram suspeitos particularmente quando havia grupos de valores que precisavam ser substituídos. Os métodos também tiveram problemas na presença de não-estacionaridade, muitas vezes detectando valores aberrantes que foram realmente resultado do nível de mudança dos dados em vez de valores extremos. Na presença de outros eventos, como mudança de nível ou sazonalidade, tanto a função de influência como a mudança na autocorrelação apresentam problemas de interpretação, uma vez que não há como distinguir esses eventos de outliers. 13 É claro que o problema do outlier não pode ser separado do de identificar mudanças estruturais, pois muitas das estatísticas usadas para identificar outliers também respondem a mudanças estruturais. O ARIMA (1,0,0) (0,1,1) 7 foi encontrado para descrever a grande maioria das séries de contagem de tráfego, o que significa que o problema de identificar um modelo inicial pode ser evitado em grande parte com um alto grau de segurança. 13 Infelizmente, é claro que uma abordagem de caixa preta para validação de dados é propensa ao erro, mas métodos como os descritos acima se prestam a uma técnica de validação de dados gráfica interativa na qual outliers e outros eventos são destacados exigindo aceitação ou, de outra forma, manualmente. Uma abordagem adaptativa para encaixar o modelo pode resultar em algo que pode ser mais automático e isso permitiria que mudanças no modelo subjacente fossem acomodadas. 13 Em conclusão, verificou-se que os métodos baseados na estrutura de autocorrelação são os mais eficientes computacionalmente, mas levam a problemas de interpretação tanto entre diferentes tipos de eventos quanto na presença de não-estacionaridade. Usar os resíduos de um modelo ARIMA equipado é o método mais bem-sucedido na busca de outliers e distinguindo-os de outros eventos, sendo menos caro do que a exclusão de casos. Os valores de substituição derivados do modelo ARIMA foram os mais precisos.

No comments:

Post a Comment