Hello splunkers!
Is there is a way we can calculate moving/rolling averages such that the current data point, ```x(t)```, is somewhere in the middle of the window, rather than at the boundaries? Ex: If ```window=5```, i want the MA to be calculated like:
MA = avg(x(t-2), x(t-1), x(t), x(t+1), x(t+2))
I am okay with using MLTK or any other method of implementing this.
---------------------------
For reference, in the following query, I show two similar methods of calculating MA - based on previous values of x(t) here
MA = avg(x(t-4), x(t-3), x(t-2), x(t-1), x(t)) | makeresults count=100
| streamstats count as s
| eval n=(random() % 100000) + 1
| table s n
| streamstats window=5 avg(n) as trend
| autoregress n p=1-5
| fillnull value=0
| eval ma = avg(n, n_p1, n_p2, n_p3, n_p4)
| fields s n ma trend
---------
PS: I am aware that in both methods, the absence of earlier/later values at the boundaries will cause the MA model to be inaccurate - I am okay to work around that.
Thanks in advance!
... View more