En su sistema de tiempo real, ¿son los tiempos de observación no homogéneos y los datos no estacionarios? Si desea algo simple y rápido, sugiero utilizar los operadores de tipo EMA no homogéneos:
Operadores en series de tiempo no homogéneas
Actualizan la EMA ( ) con cada nueva observación de acuerdo con,valor
valor+ = α( newData - valor ) ,α = 1 - exp( -Δ tτ)
con un parámetro de suavizado / ajuste. Es una forma simple de estimar una expectativa.τ
También se puede crear una estimación mediana simple en línea a través de la actualización
sgmed += s gn ( newData - med )= ϵ( sg - med )
En la práctica, desea pequeño (o en descomposición con más observaciones). Idealmente, debería depender de qué tan asimétricas sean las actualizaciones; es decir, si realidad es igual a la mediana, entoncesϵϵmedicinasg debe ser uniforme en { - 1 , 1 }. Luego puede extender esto a una profundidadre estructura de tipo de árbol binario equilibrado para obtener 2re+ 1- 1 cuantiles uniformemente espaciados.
La combinación de lo anterior debería proporcionarle una distribución en línea decente de sus datos. El árbol es difícil de entender, tengo implementaciones de ambos en C ++ si estás interesado. Utilizo mucho ambos en la práctica (datos de tick financieros en tiempo real) y han funcionado bien.