Je voudrais détecter une anomalie en utilisant une moyenne mobile pondérée exponentielle.Détection d'anomalies utilisant une moyenne mobile pondérée exponentielle
Pour une instance de temps t, je vais avoir la valeur du point de données (DP).
La constante EWMA sera de 0,85 (en supposant).
Pour exemple,
Time(t) DataPoint(t) EMA(t-1) EMA(t)
1 120 0 102
. . . .
. . . .
. . . .
. . . .
. . . .
10 300 150 277.5
Je ne veux pas prendre la série de points de données dans le calcul.
À tout moment par exemple dire 10, je veux savoir si le point de données 300 (dans ce cas) est une anomalie ou non. J'ai également l'EMA (9) = 150 et EMA (10) = 277,5 pour le calcul (si nécessaire)
Y at-il une logique pour le calculer?
Merci d'avance!
Mise à jour:
Je pensais que la logique ci-dessous, mais pas sûr que cela fonctionnerait sûr
ABS (DP-EMA (nouveau))> 3 * SD {EMA (ancienne), EMA (nouveau)}
(ou)
ABS (DP-EMA (nouveau))> 3 * EMWSD {EMA (ancienne), EMA (nouveau)}
DP - Point de données
EMA - Exponentielle moyenne mobile pondérée
Merci pour la réponse, j'ai mis à jour la question avec quelques exemples de données .. Toutes les suggestions maintenant? – Aravind
OK mis à jour ma réponse. Vous auriez dû demander cela avant, mais y a-t-il une raison pour laquelle vous ne pouvez pas conserver un enregistrement? – wckd
Raisons pour lesquelles je n'ai pas gardé d'enregistrement 1. Je dois prendre en compte les anciennes valeurs du début de la série chronologique, 2. Je ne veux pas de modèle basé sur une fenêtre. 3.Also Je ne veux pas chercher toute la série de données pour chaque instance de temps pour le calcul Je me demandais si la logique suivante serait en fait fonctionner, mais pas sûr Anomaly est vrai si: ABS (DP-EMA (nouveau))> 3 * SD {EMA (ancien), EMA (nouveau)} (ou) ABS (DP-EMA (nouveau))> 3 * EMWSD {EMA (ancien), EMA (nouveau)} DP - Point de données EMA - Moyenne mobile pondérée exponentielle – Aravind