Voici encore une autre réponse qui commente comment Muis , Abdullah Al-Ageel y Flip La réponse de la Commission est c'est mathématiquement la même chose sauf qu'il est écrit différemment.
Bien sûr, nous avons José Manuel Ramos L'analyse de l'auteur explique comment les erreurs d'arrondi affectent chacune d'entre elles de manière légèrement différente, mais cela dépend de la mise en œuvre et changerait en fonction de la manière dont chaque réponse est appliquée au code.
Il y a cependant une différence assez importante
C'est dans Muis 's N
, Flip 's k
y Abdullah Al-Ageel 's n
. Abdullah Al-Ageel n'explique pas vraiment ce que n
devrait être, mais N
y k
diffèrent en ce que N
est " le nombre d'échantillons où vous voulez faire la moyenne sur " tandis que k
est le nombre de valeurs échantillonnées. (Bien que je doute que l'appel à N
le nombre d'échantillons est exacte).
Et nous en arrivons à la réponse ci-dessous. C'est essentiellement la même vieille moyenne mobile pondérée exponentielle que les autres, donc si vous cherchiez une alternative, arrêtez-vous ici.
Moyenne mobile pondérée exponentielle
Initialement :
average = 0
counter = 0
Pour chaque valeur :
counter += 1
average = average + (value - average) / min(counter, FACTOR)
La différence est que min(counter, FACTOR)
partie. C'est la même chose que de dire min(Flip's k, Muis's N)
.
FACTOR
est une constante qui affecte la vitesse à laquelle la moyenne "rattrape" la dernière tendance. Plus le nombre est petit, plus la vitesse est grande. (A 1
ce n'est plus une moyenne et devient simplement la dernière valeur).
Cette réponse nécessite le compteur de fonctionnement counter
. Si cela pose problème, le min(counter, FACTOR)
peut être remplacé par un simple FACTOR
en le transformant en Muis Réponse de la Commission. Le problème, c'est que la moyenne mobile est affectée par ce que vous voulez. average
est initialisé à . S'il a été initialisé à 0
ce zéro peut prendre beaucoup de temps pour sortir de la moyenne.
Comment cela se présente-t-il ?
![Exponential moving average]()