Skip to main content

Moving average vs iir


O Guia de cientistas e engenheiros para processamento de sinal digital Por Steven W. Smith, Ph. D. Capítulo 28: Arquitetura de Processadores de Sinal Digital do Processador de Sinal Digital Um dos maiores pontos de estrangulamento na execução de algoritmos DSP é a transferência de informações para e da memória. Isso inclui dados. Tais como amostras do sinal de entrada e os coeficientes de filtro, bem como as instruções do programa. Os códigos binários que entram no sequenciador do programa. Por exemplo, suponha que precisemos multiplicar dois números que residem em algum lugar na memória. Para fazer isso, devemos buscar três valores binários da memória, os números a serem multiplicados, além das instruções do programa que descrevem o que fazer. A Figura 28-4a mostra como esta tarefa aparentemente simples é feita em um microprocessador tradicional. Isso geralmente é chamado de arquitetura Von Neumann. Depois do brilhante matemático americano John Von Neumann (1903-1957). Von Neumann orientou a matemática de muitas descobertas importantes do início do século XX. Suas muitas realizações incluem: desenvolver o conceito de um computador de programa armazenado, formalizar a matemática da mecânica quântica e trabalhar com a bomba atômica. Se fosse novo e excitante, Von Neumann estava lá. Como mostrado em (a), uma arquitetura Von Neumann contém uma única memória e um único ônibus para transferir dados para dentro e para fora da unidade central de processamento (CPU). A multiplicação de dois números requer pelo menos três ciclos de relógio, um para transferir cada um dos três números sobre o barramento da memória para a CPU. Não contamos o tempo para transferir o resultado de volta à memória, porque assumimos que permanece na CPU para manipulação adicional (como a soma dos produtos em um filtro FIR). O design Von Neumann é bastante satisfatório quando você se conforma para executar todas as tarefas necessárias em série. Na verdade, a maioria dos computadores hoje são do design Von Neumann. Nós só precisamos de outras arquiteturas quando um processamento muito rápido é necessário e estamos dispostos a pagar o preço de maior complexidade. Isso nos leva à arquitetura de Harvard. Mostrado em (b). Isto é nomeado para o trabalho realizado na Universidade de Harvard na década de 1940 sob a liderança de Howard Aiken (1900-1973). Como mostrado nesta ilustração, Aiken insistiu em memórias separadas para instruções de dados e programas, com ônibus separados para cada um. Uma vez que os ônibus operam de forma independente, as instruções do programa e os dados podem ser obtidos ao mesmo tempo, melhorando a velocidade sobre o design do ônibus único. A maioria dos DSPs atuais usam essa arquitetura de barramento duplo. A Figura (c) ilustra o próximo nível de sofisticação, a arquitetura da Super Harvard. Este termo foi inventado pela Analog Devices para descrever a operação interna do seu ADSP-2106x e novas famílias ADSP-211xx de processadores de sinais digitais. Estes são chamados SHARC DSPs, uma contração do longo prazo, S uper H arvard ARC hitecture. A idéia é construir sobre a arquitetura de Harvard, adicionando recursos para melhorar a taxa de transferência. Enquanto os DSP SHARC são otimizados em dezenas de maneiras, duas áreas são importantes o bastante para serem incluídas na Fig. 28-4c: um cache de instruções. E um controlador de IO. Primeiro, vamos ver como o cache de instruções melhora o desempenho da arquitetura de Harvard. Uma desvantagem do design básico da Harvard é que o barramento de memória de dados é mais ocupado do que o barramento de memória do programa. Quando dois números são multiplicados, dois valores binários (os números) devem ser passados ​​sobre o barramento de memória de dados, enquanto apenas um valor binário (a instrução do programa) é passado sobre o barramento de memória do programa. Para melhorar esta situação, começamos por deslocalizar parte dos dados para programar a memória. Por exemplo, podemos colocar os coeficientes de filtro na memória do programa, mantendo o sinal de entrada na memória de dados. (Os dados retransmitidos são chamados de dados secundários na ilustração). À primeira vista, isso não parece ajudar a situação agora, devemos transferir um valor sobre o barramento de memória de dados (a amostra de sinal de entrada), mas dois valores sobre o barramento de memória do programa (a instrução do programa e o coeficiente). Na verdade, se estivéssemos executando instruções aleatórias, esta situação não seria melhor. No entanto, os algoritmos DSP geralmente gastam a maior parte do tempo de execução em loops, como as instruções 6-12 da Tabela 28-1. Isso significa que o mesmo conjunto de instruções do programa passará continuamente da memória do programa para a CPU. A arquitetura do Super Harvard aproveita essa situação ao incluir um cache de instruções na CPU. Esta é uma pequena memória que contém cerca de 32 das instruções mais recentes do programa. Na primeira vez através de um loop, as instruções do programa devem ser passadas pelo barramento de memória do programa. Isso resulta em uma operação mais lenta devido ao conflito com os coeficientes que também devem ser obtidos ao longo desse caminho. No entanto, em execuções adicionais do loop, as instruções do programa podem ser extraídas do cache de instruções. Isso significa que toda a memória para as transferências de informações da CPU pode ser realizada em um único ciclo: a amostra do sinal de entrada vem no barramento de memória de dados, o coeficiente vem no barramento de memória do programa e a instrução do programa vem do cache de instruções . No jargão do campo, esta transferência eficiente de dados é chamada de alta largura de banda de acesso à memória. A Figura 28-5 apresenta uma visão mais detalhada da arquitetura SHARC, mostrando o controlador IO conectado à memória de dados. É assim que os sinais entram e saem do sistema. Por exemplo, o SHARC DSPs fornece portas de comunicação serial e paralela. Estas são conexões de alta velocidade. Por exemplo, a uma velocidade de clock de 40 MHz, existem duas portas seriais que operam a 40 Mbitsecond cada, enquanto seis portas paralelas fornecem uma transferência de dados de 40 Mbytessecond. Quando as seis portas paralelas são usadas em conjunto, a taxa de transferência de dados é um incrível 240 Mbytessecond. Isso é rápido o suficiente para transferir todo o texto deste livro em apenas 2 milissegundos. Assim como importante, o hardware dedicado permite que esses fluxos de dados sejam transferidos diretamente para a memória (Acesso direto à memória ou DMA), sem ter que passar pelos registradores de CPUs. Em outras palavras, as tarefas 1 amp 14 em nossa lista acontecem de forma independente e simultaneamente com as outras tarefas, nenhum ciclo é roubado da CPU. Os ônibus principais (barramento de memória do programa e barramento de memória de dados) também são acessíveis a partir de fora do chip, fornecendo uma interface adicional para memória e periféricos off-chip. Isso permite que os DSP SHARC usem uma memória de quatro Gigaword (16 Gbytes), acessível em 40 Mwordssecond (160 Mbytessecond), para dados de 32 bits. Uau Este tipo de IO de alta velocidade é uma característica-chave de DSPs. O objetivo primordial é mover os dados, executar a matemática e mover os dados antes que a próxima amostra esteja disponível. Tudo o resto é secundário. Alguns DSPs têm conversores analógico-digital e digital para analógico a bordo, um recurso chamado sinal misto. No entanto, todos os DSPs podem interagir com conversores externos através de portas seriais ou paralelas. Agora vamos olhar dentro da CPU. Na parte superior do diagrama estão dois blocos denominados Data Address Generator (DAG), um para cada uma das duas memórias. Estes controlam os endereços enviados para o programa e as memórias de dados, especificando de onde a informação deve ser lida ou gravada. Em microprocessadores mais simples, esta tarefa é tratada como uma parte inerente do seqüenciador do programa e é bastante transparente para o programador. No entanto, os DSPs são projetados para operar com buffers circulares. E beneficie do hardware extra para gerenciá-los de forma eficiente. Isso evita a necessidade de usar ciclos preciosos de clock da CPU para acompanhar a forma como os dados são armazenados. Por exemplo, nos DSP SHARC, cada um dos dois DAGs pode controlar oito buffers circulares. Isso significa que cada DAG contém 32 variáveis ​​(4 por buffer), além da lógica necessária. Por que tantos buffers circulares Alguns algoritmos DSP são melhor realizados em estágios. Por exemplo, os filtros IIR são mais estáveis ​​se implementados como uma cascata de biquads (um estágio contendo dois pólos e até dois zeros). Vários estágios requerem múltiplos buffers circulares para a operação mais rápida. Os DAGs no SHARC DSPs também são projetados para efetuar eficientemente a transformação de Fourier Rápida. Neste modo, os DAGs são configurados para gerar endereços invertidos em bit nos buffers circulares, uma parte necessária do algoritmo FFT. Além disso, uma abundância de buffers circulares simplifica muito a geração do código DSP, tanto para o programador humano como para os compiladores de idiomas de alto nível, como C. A seção de registro de dados da CPU é usada da mesma maneira que nos microprocessadores tradicionais. Nos DSPs ADSP-2106x SHARC, existem 16 registros de propósito geral de 40 bits cada. Estes podem realizar cálculos intermediários, preparar dados para o processador de matemática, servir como um buffer para transferência de dados, manter bandeiras para o controle do programa e assim por diante. Se necessário, esses registros também podem ser usados ​​para controlar loops e contadores no entanto, os DSP SHARC possuem registros de hardware adicionais para executar muitas dessas funções. O processamento de matemática é dividido em três seções, um multiplicador. Uma unidade de lógica aritmética (ALU). E um shifter de barril. O multiplicador tira os valores de dois registros, os multiplica e coloca o resultado em outro registro. A ALU executa adição, subtração, valor absoluto, operações lógicas (AND, OR, XOR, NOT), conversão entre formatos de ponto fixo e flutuante e funções semelhantes. As operações binárias elementares são realizadas pelo deslocador de cano, como os segmentos de deslocamento, rotação, extração e deposição, e assim por diante. Uma característica poderosa da família SHARC é que o multiplicador e a ALU podem ser acessados ​​em paralelo. Em um único ciclo de relógio, os dados dos registros 0-7 podem ser passados ​​para o multiplicador, os dados dos registros 8-15 podem ser passados ​​para a ALU e os dois resultados retornados para qualquer um dos 16 registros. Há também muitas características importantes da arquitetura da família SHARC que não são mostradas nesta ilustração simplificada. Por exemplo, um acumulador de 80 bits é incorporado no multiplicador para reduzir o erro de arredondamento associado a múltiplas operações de matemática de ponto fixo. Outra característica interessante é o uso de registros sombra para todos os registros das chaves CPUs. Estes são registros duplicados que podem ser comutados com seus equivalentes em um único ciclo de clock. Eles são usados ​​para troca rápida de contexto. A capacidade de lidar com interrupções rapidamente. Quando ocorre uma interrupção em microprocessadores tradicionais, todos os dados internos devem ser salvos antes da interrupção ser manuseada. Isso geralmente envolve pressionar todos os registros ocupados na pilha, um por vez. Em comparação, uma interrupção na família SHARC é tratada movendo os dados internos para os registros sombra em um único ciclo de relógio. Quando a rotina de interrupção é concluída, os registros são restaurados com a mesma rapidez. Esse recurso permite que o passo 4 da nossa lista (gerenciamento da interrupção pronta para amostra) seja gerenciado de forma muito rápida e eficiente. Agora chegamos ao desempenho crítico da arquitetura, quantas das operações dentro do loop (etapas 6-12 da Tabela 28-1) podem ser realizadas ao mesmo tempo. Devido à sua natureza altamente paralela, o SHARC DSP pode executar simultaneamente todas essas tarefas. Especificamente, dentro de um único ciclo de relógio, ele pode realizar uma multiplicidade (passo 11), uma adição (passo 12), dois movimentos de dados (etapas 7 e 9), atualizar dois ponteiros de buffer circular (etapas 8 e 10) e controlar o Loop (etapa 6). Haverá ciclos de relógio adicionais associados ao início e término do loop (etapas 3, 4, 5 e 13, além de valores iniciais móveis), no entanto, essas tarefas também são tratadas de forma muito eficiente. Se o loop for executado mais do que algumas vezes, esta sobrecarga será insignificante. Como exemplo, suponha que você escreva um programa de filtro FIR eficiente usando 100 coeficientes. Você pode esperar que ele exija cerca de 105 a 110 ciclos de relógio por amostra para executar (ou seja, 100 ciclos de coeficiente mais sobrecarga). Isso é muito impressionante, um microprocessador tradicional requer muitos milhares de ciclos de clock para este algoritmo. 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 atípica em linha. 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 um pouco de ruído, mas então o que é seguinte. Simples coisas como o 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: double outlierdetection (double vector, double value) onde vector é a matriz de dupla contendo Os dados históricos e o valor de retorno são a pontuação de anomalia para o novo valor da amostra. Perguntou 2 de agosto 10 às 20:37 Sim, eu assumi que a freqüência é conhecida e especificada. Existem métodos para estimar a frequência automaticamente, mas isso complicaria consideravelmente a função. Se você precisa estimar a freqüência, tente fazer uma pergunta separada sobre isso - e provavelmente vou fornecer uma resposta, mas precisa de mais espaço do que eu tenho disponível em um comentário. Ndash Rob Hyndman 3 de agosto 10 às 23:40 Uma boa solução terá vários ingredientes, incluindo: Use uma janela resistente, móvel, suave para remover a não-estabilidade. Reexpresse os dados originais para que os resíduos em relação ao liso sejam distribuídos aproximadamente de forma simétrica. Dada a natureza dos seus dados, é provável que suas raízes quadradas ou logaritmos dêem resíduos simétricos. Aplique os métodos do gráfico de controle, ou pelo menos o pensamento da tabela de controle, para os resíduos. No que diz respeito ao último, o pensamento do gráfico de controle mostra que os limiares convencionais, como 2 SD ou 1,5 vezes o IQR além dos quartis, funcionam mal porque provocam muitos sinais falsos fora de controle. As pessoas costumam usar 3 SD no trabalho de tabela de controle, daí 2.5 (ou mesmo 3) vezes o IQR além dos quartis seria um bom ponto de partida. Eu esbocei mais ou menos a natureza da solução Rob Hyndmans, ao mesmo tempo em que adicionei dois pontos principais: o potencial precisa reexpressar os dados e a sabedoria de ser mais conservador na sinalização de um outlier. Não tenho certeza de que Loess seja bom para um detector on-line, no entanto, porque não funciona bem nos pontos finais. Você pode, em vez disso, usar algo tão simples como um filtro de medição móvel (como no alisamento resistente de Tukeys). Se os outliers não vierem em rajadas, você pode usar uma janela estreita (5 pontos de dados, talvez, que serão quebrados apenas com uma explosão de 3 ou mais valores atípicos dentro de um grupo de 5). Depois de ter realizado a análise para determinar uma boa reexpressão dos dados, é improvável que você precise alterar a reexpressão. Portanto, seu detector on-line realmente precisa apenas fazer referência aos valores mais recentes (a última janela) porque não usará os dados anteriores. Se você tiver muito tempo, você poderia avançar para analisar a autocorrelação e a sazonalidade (como flutuações diárias ou semanais recorrentes) para melhorar o procedimento. Respondeu 26 de agosto às 18:02 John, 1.5 IQR é a recomendação original da Tukey39 para os bigodes mais longos em um boxplot e 3 IQR é sua recomendação para marcar pontos como quotfar outliersquot (um riff em uma frase popular de 6039s). Isso é incorporado em vários algoritmos boxplot. A recomendação é analisada teoricamente em Hoaglin, Mosteller, amp Tukey, Understanding Robust e Exploratory Data Analysis. Ndash whuber 9830 out 9 12 at 21:38 Isso confirma dados de séries temporais que tentei analisar. A média da janela e também os desvios padrão de uma janela. ((X - avg) sd) gt 3 parecem ser os pontos que eu quero marcar como outliers. Bem, pelo menos, avisar como outliers, eu sinalizador qualquer coisa superior a 10 sd como extremos extremos outliers. O problema em que eu toco é o que é um comprimento de janela ideal I39m jogando com qualquer coisa entre 4-8 pontos de dados. Ndash NeoZenith 29 de junho 16 às 8:00 Neo Sua melhor aposta pode ser experimentar um subconjunto de seus dados e confirmar suas conclusões com os testes no restante. Você também poderia realizar uma validação cruzada mais formal (mas é necessário um cuidado especial com dados da série temporal devido à interdependência de todos os valores). Ndash whuber 9830 29 jun 16 às 12:10 (Esta resposta respondeu a uma pergunta duplicada (agora fechada) na Detecção de eventos pendentes, que apresentou alguns dados em forma gráfica.) A detecção de ultrapassagem depende da natureza dos dados e do que você é Disposto a assumir sobre eles. Os métodos de uso geral dependem de estatísticas robustas. O espírito desta abordagem é caracterizar a maior parte dos dados de uma forma que não é influenciada por valores aberrantes e, em seguida, apontar para valores individuais que não se enquadram nessa caracterização. Como esta é uma série de tempo, ela acrescenta a complicação da necessidade de (re) detectar outliers de forma contínua. Se isso for feito à medida que a série se desenrola, então só podemos usar dados mais antigos para a detecção, não dados futuros. Além disso, como proteção contra os muitos testes repetidos, gostaríamos de usar um método com falso muito baixo Taxa positiva. Essas considerações sugerem a execução de um teste outlier de janela móvel simples e robusto sobre os dados. Existem muitas possibilidades, mas uma simples, fácil de entender e facilmente implementada é baseada em um MAD em execução: desvio absoluto mediano da mediana. Esta é uma medida fortemente robusta de variação dentro dos dados, semelhante a um desvio padrão. Um pico periférico seria vários MAD ou mais maior que a mediana. Ainda há algum ajuste a ser feito. Quanto de um desvio da maior parte dos dados deve ser considerado periférico e em que ponto de volta no tempo deve ser um aspecto, deixe estes como parâmetros para a experimentação. Heres e uma implementação R aplicada a dados x (1,2, ldots, n) (com n1150 para emular os dados) com valores correspondentes y: Aplicada a um conjunto de dados como a curva vermelha ilustrada na pergunta, produz esse resultado: os dados São mostrados em vermelho, a janela de 30 dias dos limiares da mediana5MAD em cinza e os outliers - que são simplesmente esses valores de dados acima da curva de cinza - em preto. (O limite só pode ser calculado começando no final da janela inicial. Para todos os dados nesta janela inicial, o primeiro limiar é usado: é por isso que a curva cinza é plana entre x0 e x30.) Os efeitos da alteração dos parâmetros são (A) o aumento do valor da janela tenderá a suavizar a curva cinza e (b) o limite crescente aumentará a curva cinza. Sabendo disso, pode-se tomar um segmento inicial dos dados e identificar rapidamente os valores dos parâmetros que melhor segregam os picos periféricos do resto dos dados. Aplique esses valores de parâmetros para verificar o resto dos dados. Se um gráfico mostra que o método está piorando ao longo do tempo, isso significa que a natureza dos dados está mudando e os parâmetros podem precisar ser reajustados. Observe o pouco que este método assume sobre os dados: eles não precisam ser normalmente distribuídos, eles não precisam exibir qualquer periodicidade, eles não precisam ser negativos. Tudo o que presume é que os dados se comportam de maneira razoavelmente similar ao longo do tempo e que os picos periféricos são visivelmente maiores do que o resto dos dados. Se alguém quiser experimentar (ou comparar alguma outra solução com a oferecida aqui), aqui está o código que eu usei para produzir dados como os que estão na pergunta. Estou adivinhando que o modelo sofisticado de séries temporais não funcionará para você por causa do tempo necessário para detectar outliers usando esta metodologia. Portanto, aqui está uma solução alternativa: primeiro estabeleça padrões de tráfego de linha de base por um ano com base na análise manual de dados históricos, que responde por hora do dia, semana, fim de semana, mês do ano, etc. Use essa linha de base, juntamente com algum mecanismo simples (Por exemplo, média móvel sugerida por Carlos) para detectar outliers. Você também pode querer rever a literatura de controle de processo estatístico para algumas idéias. Sim, isso é exatamente o que eu estou fazendo: até agora eu dividir manualmente o sinal em períodos, de modo que para cada um deles eu posso definir um intervalo de confiança dentro do qual o sinal deve ser parado e, portanto, eu posso usar métodos padrão, como Como desvio padrão. O problema real é que não consigo decidir o padrão esperado para todos os sinais que eu tenho que analisar, e é por isso que estou procurando por algo mais inteligente. Ndash gianluca 2 de agosto 10 às 21:37 Aqui está uma idéia: Etapa 1: Implementar e estimar um modelo genérico de séries temporais em uma base única com base em dados históricos. Isso pode ser feito offline. Etapa 2: use o modelo resultante para detectar outliers. Passo 3: em algumas frequências (talvez a cada mês), calibre novamente o modelo da série temporal (isso pode ser feito offline), de modo que a detecção de outliers por etapas 2 não ultrapasse os padrões de tráfego atuais. Isso funcionaria para o seu contexto ndash user28 2 de agosto 10 às 22:24 Sim, isso pode funcionar. Eu estava pensando em uma abordagem semelhante (recomputando a linha de base a cada semana, o que pode ser intensivo em CPU se você tiver centenas de séries temporais univariadas para análise). Entretanto, a verdadeira questão difícil é quot qual é o melhor algoritmo de estilo blackbox para modelar um sinal completamente genérico, considerando o ruído, estimativa de tendência e sazonalidade. AFAIK, cada abordagem na literatura requer uma fase de tuningquot quotparameter muito difícil, e o único método automático que encontrei é um modelo ARIMA da Hyndman (robjhyndmansoftwareforecast). Estou faltando algo ndash gianluca 2 de agosto 10 às 22:38 Novamente, isso funciona muito bem se o sinal for suposto ter uma sazonalidade como essa, mas se eu usar uma série de tempo completamente diferente (ou seja, o tempo médio de ida e volta de TCP ao longo do tempo ), Este método não funcionará (uma vez que seria melhor lidar com aquele com uma média global simples e desvio padrão usando uma janela deslizante contendo dados históricos). Ndash gianluca 2 de agosto 10 às 22:02 A menos que você esteja disposto a implementar um modelo de série de tempo geral (que traz seus contras em termos de latência, etc.) Eu sou pessimista que você encontrará uma implementação geral que, ao mesmo tempo, é simples o suficiente Para trabalhar em todos os tipos de séries temporais. Ndash user28 2 de agosto 10 às 22:06 Outro comentário: eu sei que uma boa resposta pode ser porque você pode estimar a periodicidade do sinal e decidir o algoritmo para usar de acordo com isso, mas eu não encontrei uma boa solução para este. Problema (eu joguei um pouco com análise espectral usando DFT e análise de tempo usando a função de autocorrelação, mas minhas séries temporais contêm muito barulho e esses métodos dão alguns resultados loucos dos tempos) ndash gianluca 2 de agosto 10 às 22:06 A Comente para o seu último comentário: por isso estou procurando uma abordagem mais genérica, mas eu preciso de um tipo de caixa de quotblack porque não posso fazer qualquer suposição sobre o sinal analisado e, portanto, não posso criar o conjunto de parâmetros mais velozes para o algoritmo de aprendizagem. Ndash gianluca 2 de agosto 10 às 22:09 Uma vez que é um dado da série temporal, um filtro exponencial simples em. wikipedia. orgwikiExponentialsmoothing irá suavizar os dados. É um filtro muito bom, pois você não precisa acumular pontos de dados antigos. Compare cada valor de dados recentemente suavizado com o seu valor não suavizado. Uma vez que o desvio excede um certo limiar predefinido (dependendo do que você acredita que um valor de seus dados é negativo), seu outlier pode ser facilmente detectado. Respondeu 30 de abril 15 às 8:50 Você poderia usar o desvio padrão das últimas N medidas (você deve escolher um N adequado). Uma boa pontuação de anomalia seria quantos desvios padrão uma medida é da média móvel. Respondeu 2 de agosto 10 às 20:48 Obrigado pela sua resposta, e se o sinal exibir uma alta sazonalidade (ou seja, muitas medidas de rede são caracterizadas por um padrão diário e semanal ao mesmo tempo, por exemplo, noite vs. dia ou fim de semana Vs dias úteis) Uma abordagem baseada no desvio padrão não funcionará nesse caso. Ndash gianluca 2 de agosto 10 às 20:57 Por exemplo, se eu receber uma nova amostra a cada 10 minutos, e I39m fazendo uma detecção outlier do uso de largura de banda da rede de uma empresa, basicamente às 18h, esta medida cairá (isso é esperado Um padrão normal total), e um desvio padrão calculado sobre uma janela deslizante falhará (porque ele irá ativar um alerta com certeza). Ao mesmo tempo, se a medida cair às 16h (desviando-se da linha de base usual), este é um valor de risco real. Ndash gianluca 2 de agosto 10 às 20:58 o que eu faço é agrupar as medidas por hora e dia da semana e comparar os desvios-padrão dessa. Ainda não correto para coisas como feriados e sazonalidade invernal, mas é correto na maioria das vezes. A desvantagem é que você realmente precisa coletar um ano ou mais de dados para ter o suficiente para que o stddev comece a fazer sentido. A análise espectral detecta periodicidade em séries temporais estacionárias. A abordagem de domínio de freqüência com base na estimativa da densidade espectral é uma abordagem que eu recomendaria como seu primeiro passo. Se, por certos períodos, a irregularidade significa um pico muito maior do que o típico nesse período, a série com tais irregularidades não seria estacionária e a análise espacial espectral não seria apropriada. Mas supondo que você tenha identificado o período que tem as irregularidades, você deve determinar aproximadamente qual seria a altura normal do pico e, em seguida, pode definir um limite em algum nível acima dessa média para designar os casos irregulares. Respondeu 3 de setembro às 14:59 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 outlierness: Para a única amostra da qual você quer saber a sua existência: Recuperar os meios, matriz de covariância e Mahalanobis distância s 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 outlier: 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 em unidade e número.

Comments

Popular posts from this blog

Forex nedir vikipedi

Trke karl olarak 8216Dviz Ticareti8217 diyebileceimiz forex piyasas, kresel bir finans piyasasdr ve tm dnya zerinden ynetilmektedir. Kresel bir piyasa olmas gnlk ilem fazenda dier finans piyasalarna gre daha yksek olmasna neden olmaktadr. Bu nedenle de ksa vadeli forex yatrmlarndan yksek kazan salanabilmektedir. Previsões piyasasnda ilem gren dvizler, 3 farkl grupta incelenmektedir geneli tm dnya dvizlerini oluturmaktadr. 7 majr para birimi, minr ve egzotik para birimleri olarak sralandrmak mmkndr. Bu para birimleri pariteler yani iftler halinde ilem grr ve yannda mutlaka bir majr para birimi ile ticareti gerekletirilmektedir. Emtialar ise genel olarak Amerikan dolar zerinden ilem grrler. Altn, gm, bakr, buday, gasolina, msr, pamuk ve kakao gibi em yksek ilem fazende-se emhipara sahiptir. Dviz alverii ile anlan forex piyasasnda geni bir yatrm arac yelpazesi bulunmaktadr. Tm dnya lkelerinin para birimlerinin yan sra ticari mal olarak bilinen emtialarla ve dnyaca nl hisse senedi, borsa e...

Jankone forex trading

Jankone M5 thread menor atualização sep.2017 Espero que vocês, cada um de vocês conheçam uma coisa. ESTE É FORNECIDO ÚNICAMENTE PARA A EDUCAÇÃO, SE VOCÊ COMER ESTE COM DINHEIRO REAL, SEU SEU SEU RISCO. VOCÊ DEVE COMERCIALIZAR PAPEL, BACKTEST ETC. EU DEVO COMPARTILHAR COM VOCÊ MINHAS OPINIÕES E ATITUDE. TODO SEU RISCO. Existem regras simples: o cronograma é m5 (ou m15 o que você quiser) Uma configuração é sobre negociação com tendência, uma configuração é sobre a tendência de contador SOMENTE com a divergência RSI. É sobre ação de preço e troca de um bar. Seu bar chamado quot pin barquot parece assim gt 1º é fácil - pinbar de contra-tendência SEMPRE com divergência RSI Se você quiser ir curto gt (em um círculo azul) Imagem anexa (clique para ampliar) Imagem anexa (clique para ampliar) e Por longo tempo gt Imagem anexa (clique para ampliar) RSI é 6, a linha azul é ema 21, a linha vermelha é sma 50. Regra simples. Tudo que você precisa é pinbar de tendência e agradável. (Note se há div ta...