O parâmetro alfa de uma média móvel exponencial define a suavização que a média aplica a uma série temporal. De maneira semelhante, o tamanho da janela de uma janela em movimento também define a suavização.
Existe alguma maneira de ajustar o parâmetro alfa, de modo que a suavização seja aproximadamente a mesma que a média de uma janela em movimento de um determinado tamanho? (Não está procurando resultados idênticos, obviamente, e as compensações estão corretas). Então, diga sintonizar alfa para que a série cronológica resultante seja o mais próxima possível do resultado fornecido por uma janela móvel de três meses?
edit : context: Estou tentando gerar proxy múltiplo para a umidade do solo, a partir de dados de chuva, que abstratamente representam profundidades diferentes (que eu suponho que estejam relacionadas a médias de chuva a longo prazo). Uma janela móvel permite-me calcular, por exemplo, a precipitação total nos últimos 3 dias, 3 meses ou ano, o que pode corresponder aos poucos centímetros de solo, ao medidor superior e à coluna de solo estendida, respectivamente. No entanto, uma janela em movimento requer dados do passado, que nem sempre estão disponíveis (por exemplo, no início de uma série). Se uma média exponencial for usada, é necessário armazenar apenas um valor para cada média (a média da etapa anterior), e esse valor pode ser inicializado com a média de longo prazo.
Respostas:
Deixeix ser a série temporal original e xm seja o resultado de uma suavização com uma média móvel simples com alguma largura da janela. Deixeif(x,α) ser uma função que retorna uma versão suavizada do x usando o parâmetro de suavização α .
Definir uma função de perdaL que mede a diferença entre a média móvel com janelas e a média móvel exponencial. Uma escolha simples seria o erro ao quadrado:
Se você quiser que o erro seja invariável ao deslocamento / escala, defina como algo negativo da altura do pico da correlação cruzada normalizada.L
Encontre o valor de que minimiza :α L
Aqui está um exemplo usando um sinal sinusoidal barulhento e o erro quadrado médio como função de perda:
Outro exemplo usando ruído branco como sinal:
A função de perda parece ser bem comportada e tem um único mínimo global para esses dois sinais diferentes, sugerindo que um solucionador de otimização 1d padrão possa funcionar (como eu costumava selecionar aqui). Mas não verifiquei que esse deve ser o caso. Em caso de dúvida, plote a função de perda e use um método de otimização mais sofisticado, se necessário.α
Editar :
Aqui está um gráfico do alfa ideal (para suavização exponencial) em função do tamanho da janela (para média móvel simples). Traçado para cada um dos sinais mostrados acima.
fonte
Se eu entendi a pergunta corretamente, o problema é tentar ajustar uma série de pesos que diminui exponencialmente a um uniforme discreto (peso constante com ponto de corte):
Claramente, um EWMA diminui rapidamente (se encaixa mal em defasagens mais antigas, onde a média móvel comum ainda tem alto peso) ou tem uma cauda muito mais distante no passado, ajustando mal a distribuição de peso, onde a média móvel comum não tem peso).
Exatamente qual opção fará melhor na correspondência dos resultados de pesos uniformes dependerá crucialmente de como você mede o desempenho e (naturalmente) das características da série (a média móvel comum e a EWMA seriam apenas razoavelmente adequadas para séries estacionárias, por exemplo, mas que abrange muitos casos com desempenho relativo potencialmente diferente para valores diferentes )α α
A questão deixa essas duas coisas vagas, então suspeito que não há muito mais a ser dito do que "depende" - sobre a semelhança da média condicional ou o tamanho da variação condicional aqui.
fonte
Podemos pensar nisso como um problema de otimização de hiperparâmetros.
Temos um X_mean alvo que é o valor alvo.
Também temos uma função de perda, por exemplo, L2 (X_exponential - X_mean).
Estamos procurando um hiperparâmetro (alfa) para a média móvel exponencial para minimizar a perda.
fonte