Dans votre système en temps réel, les temps d'observation sont-ils inhomogènes et les données non stationnaires? Si vous voulez quelque chose de simple et rapide, je suggère d'utiliser les opérateurs de type EMA non homogènes:
Opérateurs sur des séries chronologiques non homogènes
Ils mettent à jour l'EMA ( ) à chaque nouvelle observation selon,valeur
valeur+ = α( newData - valeur ) ,α = 1 - exp( -Δ tτ)
avec un paramètre de lissage / réglage. C'est un moyen simple d'estimer une attente.τ
On peut également créer une simple estimation médiane en ligne via la mise à jour
sgmed += s gn ( newData - med )= ϵ( sg - med )
En pratique, vous voulez petit (ou en décomposition avec plus d'observations). Idéalement, devrait dépendre de la façon dont les mises à jour sont déséquilibrées; c'est-à-dire si fait égal à la médiane, alors devrait être uniforme sur . Vous pouvez ensuite l'étendre à une structure de type arbre binaire équilibré en profondeur pour obtenir quantiles uniformément espacés.ϵϵmedsg{ - 1 , 1 }ré2ré+ 1- 1
La combinaison de ce qui précède devrait vous donner une distribution en ligne décente de vos données. L'arbre est difficile à obtenir correctement, j'ai des implémentations des deux en C ++ si cela vous intéresse. J'utilise beaucoup les deux en pratique (données financières en temps réel) et ils ont bien fonctionné.