Signal processing moving operators¶
Moving functionalities with moving sum, mean, variance, standard deviation, skew and kurtosis.
- scared.signal_processing.moving_operators.moving_sum(data, window_size, axis=-1)[source]¶
Move sum along specified axis with ‘window_size’ windows length.
- Parameters:
data (numpy.ndarray) – N-dimensional array.
window_size (int) – windows length.
axis (int) – Axis over which to move window (default: -1).
- Returns:
N-dimensional array. The length on ‘axis’ dimension is: data.shape[‘axis’] - ‘window_size’ + 1.
- Return type:
(numpy.ndarray)
- scared.signal_processing.moving_operators.moving_mean(data, window_size, axis=-1)[source]¶
Move mean along specified axis with ‘window_size’ windows length.
- Parameters:
data (numpy.ndarray) – N-dimensional array.
window_size (int) – windows length.
axis (int) – Axis over which to move window (default: -1).
- Returns:
N-dimensional array. The length on ‘axis’ dimension is: data.shape[‘axis’] - ‘window_size’ + 1.
- Return type:
(numpy.ndarray)
- scared.signal_processing.moving_operators.moving_var(data, window_size, axis=-1)[source]¶
Move variance along specified axis with ‘window_size’ windows length.
- Parameters:
data (numpy.ndarray) – N-dimensional array.
window_size (int) – windows length.
axis (int) – Axis over which to move window (default: -1).
- Returns:
N-dimensional array. The length on ‘axis’ dimension is: data.shape[‘axis’] - ‘window_size’ + 1.
- Return type:
(numpy.ndarray)
- scared.signal_processing.moving_operators.moving_std(data, window_size, axis=-1)[source]¶
Move standard deviation along specified axis with ‘window_size’ windows length.
- Parameters:
data (numpy.ndarray) – N-dimensional array.
window_size (int) – windows length.
axis (int) – Axis over which to move window (default: -1).
- Returns:
N-dimensional array. The length on ‘axis’ dimension is: data.shape[‘axis’] - ‘window_size’ + 1.
- Return type:
(numpy.ndarray)
- scared.signal_processing.moving_operators.moving_skew(data, window_size, axis=-1)[source]¶
Move skew along specified axis with ‘window_size’ windows length.
skew
= µ3 / µ2^(2/3) with µi the i^th central moment.
µ2
= σ^2
µ3
= m3 - 3*m2*m1 + 2*m1^3 with mi the i^th moment (m=E[X], m2 = E[X^2])
µ3
= m3 - 3*m2*m1 + 3*m1^3 - 3*m1^3 + 2*m1^3
µ3
= m3 - (3*m2*m1 - 3*m1^3) - 3*m1^3 + 2*m1^3
µ3
= m3 - 3*m1*(m2 - m1^2) - m1^3 Then
skew
= (m3 - 3*m1*σ^2 - m1^3) / (σ^2)^(3/2)
- Parameters:
data (numpy.ndarray) – N-dimensional array.
window_size (int) – windows length.
axis (int) – Axis over which to move window (default: -1).
- Returns:
N-dimensional array. The length on ‘axis’ dimension is: data.shape[‘axis’] - ‘window_size’ + 1.
- Return type:
(numpy.ndarray)
- scared.signal_processing.moving_operators.moving_kurtosis(data, window_size, axis=-1)[source]¶
Move kurtosis along specified axis with ‘window_size’ windows length.
kurtosis
= µ4 / σ^4 with µi the i^th central moment
µ4
= m4 - 4*m3*m1 + 6*m2*m1^2 - 3*m1^4 with mi the i^th moment (m=E[X], m2 = E[X^2])
6*m2*m1^2
= 6*m1^2*m2 - 6*m1^4 + 6*m1^4
6*m2*m1^2
= 6*m1^2*(m2 - m1^2) + 6*m1^4
µ4
= m4 - 4*m3*m1 + 6*m1^2*σ^2 + 3*m1^4
kurtosis
= (m4 - 4*m3*m1 + 6*m1^2*σ^2 + 3*m1^4) / σ^4
- Parameters:
data (numpy.ndarray) – N-dimensional array.
window_size (int) – windows length.
axis (int) – Axis over which to move window (default: -1).
- Returns:
N-dimensional array. The length on ‘axis’ dimension is: data.shape[‘axis’] - ‘window_size’ + 1.
- Return type:
(numpy.ndarray)