Monday, 13 May 2019

Exponencial móvel médio irregular tempo série


As médias móveis exponenciais para a série de tempo irregular. Na análise da série de tempo há frequentemente uma necessidade para alisar as funções que reagem rapidamente às mudanças no sinal. Na aplicação típica, você pode processar um sinal de entrada no tempo real, e quer computar tais coisas Como o valor médio recente, ou obter uma inclinação instantânea para ele Mas os sinais do mundo real são muitas vezes ruidosos Algumas amostras barulhentas fará com que o valor atual do sinal, ou a sua inclinação, variam amplamente. Moving Averages. The função de suavização mais simples é uma janela Média móvel Como as amostras vêm em você tomar uma média dos mais recentes valores de N Isto vai suavizar picos, mas introduz um atraso ou latência Sua média será sempre atrasada pela largura de sua média móvel. O exemplo acima é relativamente caro para calcular Para cada amostra você tem que iterar sobre o tamanho inteiro da janela Mas há maneiras mais baratas manter a soma de todas as amostras na janela em um buffer, e ajustar a soma como novas amostras com E in. Outro tipo de média móvel é a média móvel ponderada que pondera para cada posição na janela de amostra Antes de calcular a média você multiplica cada amostra pelo peso daquela posição de janela Tecnicamente isso é chamado de convolução. Uma função de ponderação típica aplica uma curva de sino Para a janela de amostra Isto dá um sinal que está mais sintonizado para o centro da janela, e ainda um pouco tolerante de amostras barulhentas Na análise financeira que muitas vezes usam uma função de ponderação que as amostras mais recentes valores mais, para dar uma média móvel que acompanha mais de perto Amostras recentes amostras mais antigas são dadas progressivamente menos peso Isso minimiza um pouco os efeitos da latência, enquanto ainda dando razoavelmente boa suavização. Com uma média ponderada, você sempre tem que iterar sobre o tamanho da janela inteira para cada amostra a menos que você pode restringir os pesos permitidos para Determinadas funções. A média móvel exponencial. Um outro tipo de média é a média móvel exponencial, ou EMA Isto é frequentemente u Onde a latência é crítica, como em análise financeira em tempo real. Nesta média, os pesos diminuem exponencialmente. Cada amostra é avaliada em alguns por cento menor do que a próxima amostra mais recente. Com essa restrição, você pode calcular a média móvel de forma muito eficiente. Constante que descreve como os pesos das janelas diminuem ao longo do tempo Por exemplo, se cada amostra foi ponderada em 80 do valor da amostra anterior, você deve definir alfa 0 2 O alfa menor torna-se mais a sua média móvel é por exemplo torna-se mais suave, Mas menos reativo a novas amostras. Os pesos para um EMA com alfa 0 20. Como você pode ver, para cada nova amostra você só precisa de média com o valor da média anterior So computação é muito muito rápido. Em teoria todos os anteriores Amostras contribuem para a média atual, mas sua contribuição torna-se exponencialmente menor ao longo do tempo. Esta é uma técnica muito poderosa, e provavelmente o melhor se você quiser obter uma média móvel que responde qui Ckly para novas amostras, tem boas propriedades de suavização e é rápido para computar. O código é trivial. EMA para Irregular Time Series. O padrão EMA é bom quando o sinal é amostrado em intervalos de tempo regular Mas e se suas amostras vêm em intervalos irregulares. Imagine um sinal contínuo que é amostrado em intervalos irregulares Esta é a situação usual na análise financeira Em teoria, há uma função contínua para o valor de qualquer instrumento financeiro, mas você só pode provar esse sinal sempre que alguém realmente executa um comércio Assim, seu fluxo de dados Consiste em um valor, mais o tempo em que ele foi observado. Uma maneira de lidar com isso é converter o sinal irregular para um sinal regular, interpolando entre observações, e reamostragem. Mas isso perde dados e re-introduz latência. É possível computar um EMA para uma série de tempo irregular diretamente. Nesta função, você passa a amostra atual de seu sinal, ea amostra anterior, ea quantidade de tempo decorrido betw Een os dois eo valor anterior retornado por esta função. Então o quão bem este trabalho para demonstrar I ve gerou uma onda senoidal, em seguida, amostrados em intervalos irregulares, e introduziu cerca de 20 ruído que é o sinal irá variar aleatoriamente - 20 de O sinal de seno verdadeiro original. Como bem a média móvel exponencial irregular recuperar o sinal. A linha vermelha é a onda sinusoidal original amostrada em intervalos irregulares A linha azul é o sinal com o ruído adicionado A linha azul é o único sinal que a EMA vê A linha verde é o EMA suavizado Você pode ver que recupera o sinal muito bem Um pouco vacilante, mas o que você pode esperar de um sinal de fonte tão ruidosa. É deslocado cerca de 15 para a direita, porque a EMA introduz alguma latência O mais suave Você quer isso, mais latência você verá Mas a partir deste você pode, por exemplo, calcular uma inclinação instantânea para um sinal ruidoso irregular. O que você pode fazer com que Hmm. I m tentando extrair algumas métricas que olham para a forma confiável Os clientes se conectam a um serviço. Os dados brutos estão na forma de cliente A, ficou off-line offline no momento X A conexão é altamente confiável, e eu quero algum tipo de média móvel para mostrar se a conexão está melhorando ou não ao longo do tempo Os clientes são Nem sempre conectado, então simplesmente ficar off-line não significa que seja uma falha. Até agora, eu tomei dados e apliquei algumas suposições para ajudar a simplificá-lo, suponho que se um cliente reconecta dentro de um minuto de desconectar, então isso é uma falha. Eu modelado como um impluses simples, ou seja, o cliente A tinha falha no momento X. A parte que eu estou lutando com é como transformar este lote em uma média móvel eu estou jogando com R para crunch os números. Eu acredito que eu deveria ser capaz de Fazer isso com um filtro passa baixa, ou usar o pacote zoo e rollmean No entanto, eu não sei como lidar com os casos em que o cliente simplesmente não queria estar online. I estou tentando extrair algumas métricas que olham para a forma confiável Os clientes se conectam a um serviço. Os dados brutos são Cliente A, ficou off-line offline no momento X A conexão é altamente confiável, e eu quero algum tipo de média móvel para mostrar se a conexão está melhorando ou não ao longo do tempo Os clientes nem sempre estão conectados, então simplesmente ir offline não significa que é uma falha Até agora, eu tomei dados então e apliquei alguns pressupostos para ajudar a simplificá-lo, eu assumo que se um cliente reconecta dentro de um minuto de desconectar então que é uma falha Estes eu ve modelado como um impluses simples, isto é cliente A teve falha em Tempo X. The parte que estou lutando com é como transformar este lote em uma média móvel eu estou jogando com R para triturar os números. Eu acredito que eu deveria ser capaz de fazer isso com um filtro passa baixa, ou usar o pacote zoo e No entanto, eu não sei como lidar com os casos em que o cliente simplesmente não queria estar online.

No comments:

Post a Comment