RollingZscore
Description
The RollingZscore class computes the rolling z-score for each value in a specified moving window, representing how many standard deviations each data point is from the mean of its window. This metric is useful for identifying outliers or deviations in a sequence.
Initial values: The constructor requires a positive integer window_size parameter to define the rolling window.
NaN handling: NaN values are not handled natively and should be preprocessed if necessary.
Usage Example and Plot
Implementation Details
Algorithm
RollingZscore implements cyclic buffers to accumulate windowed statistics.
Complexity
Time Complexity:
O(log(1))per new element due to the insertion and deletion operations in the heaps.Space Complexity:
O(window_size), as only elements within the current window are stored.