29 de setembro de 2013.Movendo média por convolução. Qual é a média móvel e o que é bom para. Como é a média móvel feito usando convolution. Moving média é uma operação simples usado geralmente para suprimir o ruído de um sinal que definimos o valor de cada Aponte para a média dos valores em sua vizinhança Por uma fórmula. Here x é a entrada ey é o sinal de saída, enquanto o tamanho da janela é w, suposto ser estranho A fórmula acima descreve uma operação simétrica as amostras são tomadas A partir de ambos os lados do ponto real. Below é um exemplo de vida real O ponto em que a janela é colocada na verdade é vermelho Valores fora x são supostamente zeros. To brincar e ver os efeitos da média móvel, dê uma olhada neste Demonstração interativa. Como fazê-lo por convolução. Como você pode ter reconhecido, calculando a média móvel simples é semelhante à convolução em ambos os casos uma janela é deslizada ao longo do sinal e os elementos na janela são resumidos Então, dar-lhe uma tentativa Para fazer o A mesma coisa usando a convolução Use os parâmetros a seguir. A saída desejada é. Como primeira aproximação, vamos tentar o que nós obtemos convolvendo o sinal de x pelo seguinte k kernel. A saída é exatamente três vezes maior do que o esperado Pode ser também Visto que os valores de saída são o resumo dos três elementos na janela É porque durante a convolução a janela é deslizada ao longo, todos os elementos nele são multiplicados por um e, em seguida, resumido. Yk 1 cdot x 1 cdot x 1 cdot x. Para obter os valores desejados de y a saída deve ser dividido por 3.Por uma fórmula incluindo a divisão. Mas não seria ótimo para fazer a divisão durante convolução Aqui vem a idéia por Rearranjando a equação. Então vamos usar o seguinte k kernel. In desta forma, vamos obter a saída desejada. Em geral, se queremos fazer a média móvel por convolução tendo um tamanho de janela de w vamos usar o seguinte k kernel. A simples A função que faz a média móvel é. Um uso do exemplo é. Carrega o movAv m vê também movAv2 - uma versão updated permitindo o weighting. Description Matlab inclui funções chamadas movavg e tsmovavg time-series que movem a média na caixa de ferramentas financeira, movAv é projetado replicate o básico Funcionalidade destes O código aqui fornece um bom exemplo de gerenciamento de índices dentro de loops, que pode ser confuso para começar com eu ve deliberadamente mantido o código curto e simples para manter este processo clear. movAv executa uma média móvel simples que pode Ser usado para recuperar dados ruidosos em algumas situações Trabalha tomando a média da entrada y sobre uma janela de tempo deslizante, cujo tamanho é especificado por n Quanto maior n é, maior a quantidade de suavização do efeito de n é Relativamente ao comprimento do vetor de entrada y e efetivamente bem, tipo de cria um filtro de frequência de passagem baixa - veja a seção de exemplos e considerações. Como a quantidade de suavização fornecida por cada valor de n é relativa ao comprimento do vetor de entrada, Vale lembrar também que n pontos são perdidos em cada média se n é 100, os primeiros 99 pontos do vetor de entrada não contêm dados suficientes para uma média de 100pt Isso pode ser evitado um pouco por empilhamento Por exemplo, o código eo gráfico abaixo comparam um número de diferentes médias de janela de comprimento Observe como liso 10 10pt é comparado a um único 20pt média Em ambos os casos 20 pontos de dados são perdidos no total. Criar xaxis x 1 0 01 5 Gerar ruído noiseReps 4 ruído repmat randn 1, ceil numel x ruídoReps, noiseReps, 1 ruído remodelar ruído, 1, comprimento ruído noiseReps gerar ruído ydata y exp x 10 ruído 1 comprimento x Perfrom médias y2 movAv y, 10 10 pt y3 movAv y2, 10 10 10 pt y4 movAv y, 20 20 pt y5 movAv y, 40 40 pt y6 movAv y, 100 100 pt Figura de plotagem x, y, y2, y3, y4, y5, y6 legend Raw Dados, média móvel 10pt, 10 10pt, 20pt, 40pt, 100pt xlabel x ylabel y título Comparação de médias móveis. movAv m função de execução de código de saída movAv y, n A primeira linha define o nome da função s, entradas e saídas A entrada X deve ser um vetor de dados para realizar a média em, n deve ser o número de pontos a realizar a média sobre a saída conterá os dados médios retornados pela função Prealocar a saída de saída NaN 1, numel y Encontrar ponto médio de n round midPoint N 2 O trabalho principal da função é feito no loop for, mas antes de iniciar duas coisas são preparadas Fir A saída é pré-alocada como NaNs, isso serviu dois propósitos Em primeiro lugar preallocation é geralmente boa prática, uma vez que reduz a memória malabarismo Matlab tem que fazer, em segundo lugar, torna muito fácil de colocar a média de dados em uma saída do mesmo tamanho como O vetor de entrada Isso significa que o mesmo xaxis pode ser usado posteriormente para ambos, o que é conveniente para plotar, alternativamente os NaNs podem ser removidos posteriormente em uma linha de saída de saída de código. O midPoint variável será usado para alinhar os dados no vetor de saída Se n 10, 10 pontos serão perdidos porque, para os primeiros 9 pontos do vetor de entrada, não há dados suficientes para tomar uma média de 10 pontos Como a saída será menor que a entrada, ela precisa ser alinhada corretamente Ser usada para que uma quantidade igual de dados seja perdida no início e no fim ea entrada é mantida alinhada com a saída pelos buffers NaN criados quando a saída de pré-alocação é. Saída média MidPoint mean yab end No loop for, uma média é tomada sobre cada segmento consecutivo da entrada O loop será executado para a que é definido como 1 até o comprimento da entrada y, menos os dados que serão perdidos n If A entrada é de 100 pontos de comprimento e n é 10, o loop será executado a partir de um 1 a 90. Isso significa que a fornece o primeiro índice do segmento a ser média O segundo índice b é simplesmente um n-1 Assim na primeira iteração, A 1 n 10 so b 11-1 10 A primeira média é tomada sobre yab ou x 1 10 A média deste segmento, que é um único valor, é armazenada na saída no índice a midPoint ou 1 5 6. Na segunda iteração , A 2 b 2 10-1 11 de modo que a média é tomada sobre x 2 11 e armazenada na saída 7 Na última iteração do laço para uma entrada de comprimento 100, a 91 b 90 10-1 100 assim que a média é tomada Sobre x 91 100 e armazenado na saída 95 Isso deixa a saída com um total de n 10 valores NaN no índice 1 5 e 96 100.Exemplos e considerações As médias móveis são úteis em algumas situações, Re nem sempre a melhor escolha Aqui estão dois exemplos onde eles não são necessariamente otimizado. Calibração de microfone Este conjunto de dados representa os níveis de cada freqüência produzida por um alto-falante e gravado por um microfone com uma resposta linear conhecida A saída do alto-falante varia com Freqüência, mas podemos corrigir para esta variação com os dados de calibração - a saída pode ser ajustada em nível para ter em conta as flutuações na calibração. Observe que os dados brutos são ruidosos - isso significa que uma pequena mudança na freqüência parece exigir um Grande, errático, a mudança no nível a ser considerado isto é realista Ou é isto um produto do ambiente de gravação É razoável neste caso aplicar uma média móvel que suavize para fora a curva da freqüência do nível para fornecer uma curva de calibração que seja ligeiramente menos errática Mas por que não é o ideal neste exemplo. Mais dados seriam melhores - múltiplas calibrações executadas em média juntos iria destruir o ruído no sistema, enquanto ele s ran Dom e fornecer uma curva com menor detalhe sutil perdeu A média móvel só pode aproximar isso, e pode remover alguns mergulhos de maior freqüência e picos da curva que realmente existem. Sine waves Usando uma média móvel em ondas senoidal destaca dois pontos. Questão de escolher um número razoável de pontos para executar a média over. It s simples, mas existem métodos mais eficazes de análise de sinal do que a média dos sinais oscilantes no domínio do tempo. Em este gráfico, a onda senoidal original é plotada em azul Noise is Adicionado e plotado como a curva laranja Uma média móvel é executada em números diferentes de pontos para ver se a onda original pode ser recuperada 5 e 10 pontos fornecem resultados razoáveis, mas don t remover o ruído completamente, onde como um maior número de pontos começam a Perder detalhe de amplitude como a média se estende ao longo de diferentes fases lembrar a onda oscila em torno de zero, e média -1 1 0. Uma abordagem alternativa seria a construção de um filtro passa-baixa do que pode ser Aplicado ao sinal no domínio da freqüência não vou entrar em detalhes porque ultrapassa o escopo deste artigo, mas como o ruído é freqüência consideravelmente mais alta do que a freqüência fundamental das ondas, seria bastante fácil, neste caso, construir Um filtro passa-baixa que irá remover o ruído de alta freqüência. Simples Moving Average - SMA. BREAKING DOWN Média Móvel Simples - SMA. A média móvel simples é personalizável na medida em que pode ser calculado para um número diferente de períodos de tempo, simplesmente adicionando o fechamento Preço do título por um certo número de períodos de tempo e, em seguida, dividindo este total pelo número de períodos de tempo, o que dá o preço médio do título ao longo do período Uma média móvel simples suaviza a volatilidade e torna mais fácil ver o preço Tendência de uma segurança Se a média móvel simples aponta para cima, isso significa que o preço da segurança está aumentando Se ele está apontando para baixo significa que o preço da segurança está diminuindo Quanto mais tempo o timefram E para a média móvel, mais suave a média móvel simples A média móvel de curto prazo é mais volátil, mas a sua leitura está mais próxima dos dados de origem. Análtica Significance. Moving médias são uma importante ferramenta analítica utilizada para identificar as tendências de preços atuais e os Potencial para uma mudança em uma tendência estabelecida A forma mais simples de usar uma média móvel simples na análise é usá-lo para identificar rapidamente se uma segurança está em uma tendência de alta ou baixa Uma outra ferramenta analítica popular, embora um pouco mais complexa, é comparar um par de Se uma média de longo prazo acima de uma média de longo prazo é superior a uma média de longo prazo, uma tendência de alta é esperada Por outro lado, uma média de longo prazo acima de uma média de curto prazo sinaliza um movimento descendente em A tendência. Popular Trading Patterns. Two padrão de negociação popular que usam médias móveis simples incluem a cruz de morte e uma cruz de ouro Uma cruz de morte ocorre quando o movimento de 50 dias simples av A cruz de ouro ocorre quando uma média móvel de curto prazo quebra acima de uma média móvel de longo prazo Reforçada por altos volumes de negociação, isso pode sinalizar Outros ganhos estão na loja.
Comments
Post a Comment