Sunday 20 August 2017

Média Em Movimento Irregular


Eu tenho um grande número de arquivos (1200) que cada um contém um grande horário com dados sobre a altura da água subterrânea. A data de início e o comprimento da série são diferentes para cada arquivo. Pode haver amplos intervalos de dados entre as datas, por exemplo (pequena parte desse arquivo): eu quero calcular a altura média em 5 anos. Então, no caso do exemplo 14-1-1980 5 anos, 14-1-1985 5 anos. A quantidade de pontos de dados é diferente para cada cálculo da média. É muito provável que a data 5 anos depois não esteja no conjunto de dados como um datapoint. Por isso, acho que preciso dizer a R de alguma maneira que leve uma média em determinado período de tempo. Procurei na internet, mas não encontrei algo que corresponda às minhas necessidades. Muitos pacotes úteis como o uts, o zoológico, o lubridate e o agregado de funções aprovado. Em vez de me aproximar da solução, fico cada vez mais confuso sobre qual abordagem é a melhor para o meu problema. Muito adiantado perguntou 5 de novembro às 17: 41 Médias móveis exponentes para séries temporais irregulares Na análise de séries temporais, muitas vezes há necessidade de funções de suavização que reagem rapidamente às mudanças no sinal. No aplicativo típico, você pode estar processando um sinal de entrada em tempo real e quer calcular coisas como o valor médio recente ou obter uma inclinação instantânea para isso. Mas os sinais do mundo real são frequentemente ruidosos. Algumas amostras ruidosas farão com que o valor atual do sinal, ou sua inclinação, varie amplamente. Médias móveis A função de suavização mais simples é uma média móvel com janelas. À medida que as amostras chegam, você toma uma média dos valores N mais recentes. Isso suavizará os picos, mas introduz um atraso de 8211 ou latência. Sua média sempre será adiada pela largura da sua média móvel. O exemplo acima é relativamente caro para calcular. Para cada amostra, você deve iterar em todo o tamanho da janela. Mas há formas mais baratas de manter a soma de todas as amostras na janela em um buffer e ajustar a soma como novas amostras entrar: Outro tipo de média móvel é a média móvel 8220weighted8221 que pesa cada posição na janela de amostra. Antes de calcular a média, multiplique cada amostra pelo peso dessa posição da janela. Tecnicamente isso é chamado de 8220convolution8221. Uma função de ponderação típica aplica uma curva de sino à janela de amostra. Isso dá um sinal que está mais ajustado ao centro da janela, e ainda é um pouco tolerante às amostras ruidosas. Na análise financeira, você geralmente usa uma função de ponderação que valora mais as amostras recentes, para dar uma média móvel que rastreia mais as amostras recentes. As amostras mais antigas recebem progressivamente menos peso. Isso mitiga um pouco os efeitos da latência, embora ainda dê um bom alisamento razoavelmente: com uma média ponderada, você sempre precisa repetir todo o tamanho da janela para cada amostra (a menos que você possa restringir os pesos permitidos a certas funções). A média móvel exponencial Outro tipo de média é a média móvel exponencial, ou EMA. Isso geralmente é usado onde a latência é crítica, como na análise financeira em tempo real. Nesta média, os pesos diminuem exponencialmente. Cada amostra é avaliada um pouco 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. Onde alfa é uma constante que descreve como os pesos das janelas diminuem ao longo do tempo. Por exemplo, se cada amostra fosse ponderada em 80 do valor da amostra anterior, você definiu alfa 0.2. O alfa menor torna-se maior a sua média móvel. (Por exemplo, torna-se mais suave, mas menos reactivo para novas amostras). Os pesos para uma EMA com alpha0.20 Como você pode ver, para cada nova amostra, você só precisa de média com o valor da média anterior. Então, a computação é muito rápida. Em teoria, todas as amostras anteriores contribuem para a média atual, mas sua contribuição se torna exponencialmente menor ao longo do tempo. Esta é uma técnica muito poderosa, e provavelmente a melhor se você deseja obter uma média móvel que responda rapidamente a novas amostras, possui boas propriedades de suavização e é rápido para calcular. O código é trivial: EMA para Série de Tempo Irregular O EMA padrão é bom quando o sinal é amostrado em intervalos de tempo regulares. Mas e se suas amostras vierem em intervalos irregulares Imagine um sinal contínuo que seja amostrado em intervalos irregulares. Esta é a situação habitual 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. Portanto, seu fluxo de dados consiste em um valor, além do tempo em que foi observado. Uma maneira de lidar com isso é converter o sinal irregular em um sinal regular, interpolando entre observações e reescrevendo. Mas isso perde dados e re-introduz a latência. É possível calcular uma EMA para uma série de tempo irregular diretamente: nesta função, você passa a amostra atual do seu sinal e a amostra anterior e a quantidade de tempo decorrido entre os dois e o valor anterior retornado por este função. Então, quão bem isso funciona. Para demonstrar que I8217ve gerou uma onda senoidal, então a amostra em intervalos irregulares e introduziu cerca de 20 ruídos. Esse é o sinal variará aleatoriamente - 20 do sinal seno original 8220true8221. Quão bem a média móvel exponencial irregular recupera o sinal. A linha vermelha é a onda senoidal original 8211 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 vê-lo recuperar o sinal muito bem. Um pouco bamboleante, mas o que você pode esperar de um sinal de fonte tão ruidoso. Ele é deslocado cerca de 15 para a direita, porque o EMA apresenta alguma latência. Quanto mais suave você quiser, mais latência você verá. Mas disso, você pode, por exemplo, calcular uma inclinação instantânea para um sinal irregular ruidoso. O que você pode fazer com esse Hmm8230. Recursos:

No comments:

Post a Comment