Promedio móvil exponencial muestreado en tiempos variables

Tengo un valor continuo para el cual me gustaría calcular unmedia móvil exponencial. Normalmente solo usaría la fórmula estándar para esto:

Sn = αY + (1-α) Sn-1

donde Sn es el nuevo promedio, α es el alfa, Y es la muestra y Sn-1 Es el promedio anterior.

Desafortunadamente, debido a varios problemas no tengo un tiempo de muestra consistente. Puede que sepa que puedo muestrear a lo sumo, digamos, una vez por milisegundo, pero debido a factores fuera de mi control, es posible que no pueda tomar una muestra durante varios milisegundos a la vez. Sin embargo, un caso más común es que simplemente muestro un poco temprano o tarde: en lugar de muestrear a 0, 1 y 2 ms. Muestreo a 0, 0.9 y 2.1 ms. Anticipo que, independientemente de los retrasos, mi frecuencia de muestreo estará muy por encima del límite de Nyquist y, por lo tanto, no debo preocuparme por el alias.

Calculo que puedo lidiar con esto de una manera más o menos razonable variando el alfa de manera apropiada, en función del tiempo transcurrido desde la última muestra.

Parte de mi razonamiento de que esto funcionará es que la EMA "interpola linealmente" entre el punto de datos anterior y el actual. Si consideramos calcular una EMA de la siguiente lista de muestras a intervalos t: [0,1,2,3,4]. Deberíamos obtener el mismo resultado si usamos el intervalo 2t, donde las entradas se convierten en [0,2,4], ¿verdad? Si la EMA hubiera asumido que, en t2 el valor había sido 2 desde t0, eso sería lo mismo que el cálculo del intervalo t que calcula en [0,2,2,4,4], lo que no está haciendo. ¿O eso tiene sentido?

¿Alguien puede decirme cómo variar apropiadamente el alfa? "Por favor muestra tu trabajo". Es decir, muéstrame la matemática que prueba que tu método realmente está haciendo lo correcto.

Respuestas a la pregunta(8)

Su respuesta a la pregunta