Filtering (Filter
)
Filtering removes or reduces some unwanted components (such as noise) from an observation sequence according to some window size and one of two methods: median and mean filtering.
Suppose we have an observation sequence \(\mathbf{o}^{(1)}\mathbf{o}^{(2)}\ldots\mathbf{o}^{(T)}\) and we are filtering with a window size of \(n\). Filtering replaces every observation \(\mathbf{o}^{(t)}\) with either the mean or median of the window of observations of size \(n\) containing \(\mathbf{o}^{(t)}\) in its centre.
For median filtering: \(\mathbf{o}^{(t)\prime}=\mathrm{med}\underbrace{\left[\ldots, \mathbf{o}^{(t-1)}, \mathbf{o}^{(t)}, \mathbf{o}^{(t+1)}, \ldots\right]}_n\)
For mean filtering: \(\mathbf{o}^{(t)\prime}=\mathrm{mean}\underbrace{\left[\ldots, \mathbf{o}^{(t-1)}, \mathbf{o}^{(t)}, \mathbf{o}^{(t+1)}, \ldots\right]}_n\)
API reference
- class sequentia.preprocessing.Filter(window_size, method='median')[source]
Applies a median or mean filter to the input observation sequence(s).
- Parameters
- window_size: int > 0
The size of the filtering window.
- method: {‘median’, ‘mean’}
The filtering method.
Examples
>>> # Create some sample data >>> X = [np.random.random((10 * i, 3)) for i in range(1, 4)] >>> # Filter the data with window size 5 and median filtering >>> X = Filter(window_size=5, method='median')(X)
- transform(x)[source]
Applies the transformation to a single observation sequence.
- Parameters
- X: numpy.ndarray (float)
An individual observation sequence.
- Returns
- transformed:class:numpy:numpy.ndarray (float)
The transformed input observation sequence.
- __call__(X, validate=True)
Applies the transformation to the observation sequence(s).
- Parameters
- X: numpy.ndarray (float) or list of numpy.ndarray (float)
An individual observation sequence or a list of multiple observation sequences.
- validate: bool
Whether or not to validate the input sequences.
- Returns
- transformed:class:numpy:numpy.ndarray (float) or list of
numpy.ndarray
(float) The transformed input observation sequence(s).
- transformed:class:numpy:numpy.ndarray (float) or list of