RollingSkew

Description

The RollingSkew class computes the skewness, or asymmetry, of data within a specified moving window. This calculation captures the extent and direction of asymmetry in the data distribution over the window, with a bias correction applied for small sample sizes.

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

RollingSkew 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.