Wykładnicza średnia ruchoma próbkowana w różnych czasach

Mam ciągłą wartość, dla której chciałbym obliczyćwykładnicza średnia ruchoma. Normalnie używałbym po prostu standardowej formuły:

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

gdzie Sn to nowa średnia, α to alfa, Y to próbka, a Sn-1 to poprzednia średnia.

Niestety z powodu różnych problemów nie mam stałego czasu próbkowania. Mogę wiedzieć, że mogę pobierać próbki co najwyżej, powiedzmy, raz na milisekundę, ale z powodu czynników poza moją kontrolą, może nie być w stanie pobrać próbki przez kilka milisekund na raz. Prawdopodobnym przypadkiem jest jednak to, że próbuję nieco wcześniej lub późno: zamiast próbkowania w 0, 1 i 2 ms. Próbuję w 0, 0.9 i 2.1 ms. Przewiduję, że niezależnie od opóźnień, moja częstotliwość próbkowania będzie daleko, znacznie powyżej limitu Nyquista, a zatem nie muszę się martwić o aliasing.

Uważam, że mogę sobie z tym poradzić w mniej lub bardziej rozsądny sposób, zmieniając odpowiednio alfa, w oparciu o czas, jaki upłynął od ostatniej próbki.

Część mojego rozumowania, że ​​to zadziała, polega na tym, że EMA „interpoluje liniowo” między poprzednim punktem danych a bieżącym. Jeśli rozważymy obliczenie EMA następującej listy próbek w odstępach t: [0,1,2,3,4]. Powinniśmy uzyskać ten sam wynik, jeśli użyjemy interwału 2t, gdzie dane wejściowe staną się [0,2,4], prawda? Jeśli EMA to założyła, t2 wartość wynosiła 2 od t0, to byłoby takie samo jak obliczanie przedziału t w dniu [0,2,2,4,4], którego nie robi. Czy to w ogóle ma sens?

Czy ktoś może mi powiedzieć, jak odpowiednio zmieniać alfa? „Proszę pokazać swoją pracę”. To znaczy, pokaż mi matematykę, która dowodzi, że twoja metoda naprawdę działa dobrze.