Écart type d'une moyenne pondérée exponentiellement

10

J'ai écrit une fonction simple en Python pour calculer la moyenne pondérée exponentiellement:

def test():
  x = [1,2,3,4,5]
  alpha = 0.98
  s_old = x[0]

  for i in range(1, len(x)):
    s = alpha * x[i] + (1- alpha) * s_old
    s_old = s

  return s

Cependant, comment puis-je calculer le SD correspondant?

Mariska
la source
Êtes-vous après l'erreur standard de la moyenne ou une estimation de l'écart type du processus?
Glen_b -Reinstate Monica
@Glen_b J'essaie de l'utiliser pour voir dans quelle mesure le cours d'une action s'écarte de la moyenne pondérée exponentiellement par un multiple de l '"écart-type". Lequel recommanderiez-vous?
Mariska
1
D'après ce que je peux voir, il y a un conflit fondamental (ou incohérence) sous-jacent à cette question. Les gens utilisent l'EWM lorsqu'ils ne se soucient pas d'analyser les données pour caractériser et quantifier la corrélation en série, mais pour répondre à cette question, la corrélation en série doit être estimée; mais alors pourquoi voudriez-vous utiliser l'EWM en premier lieu?
whuber

Réponses:

12

Vous pouvez utiliser la formule récurrente suivante:

σje2=Sje=(1-α)(Sje-1+α(Xje-μje-1)2)

Xjejeμje-1Sje-1

Roman Shapovalov
la source
en utilisant la formule ci-dessus et la liste [1,2,3,4,5], j'ai obtenu SD = 0,144, tandis que l'échantillon SD normal est de 1,58. Il y a un facteur 10x entre les deux SD différentes. Est-ce normal?
Mariska
3
α=0,98αα=0,2α=0,01