mne_denoise.ssa.SingularSpectrumAnalysis#
- class mne_denoise.ssa.SingularSpectrumAnalysis(sfreq: float | None = None, window_length: int | None = None, drop_freq_max: float = 3.0, drop_band: tuple[float, float] | None = None, n_check: int | None = None, max_window: int = 100, verbose: bool | str | int | None = None, *, window_seconds: float | None = None)[source]#
Frequency-guided, channel-wise Basic SSA transformer.
- Parameters:
- sfreqfloat | None, default=None
Sampling frequency in Hz. NumPy input requires it; MNE input supplies it from metadata.
- window_lengthint | None, default=None
Embedding dimension in samples.
- drop_freq_maxfloat, default=3.0
Dominant-frequency upper bound in Hz.
- drop_bandtuple of float | None, default=None
Inclusive dominant-frequency rejection interval in Hz.
- n_checkint | None, default=None
Number of leading numerical-rank components to inspect.
- max_windowint, default=100
Maximum automatic embedding dimension.
- verbosebool, str, int, or None, default=None
Logging level.
- window_secondsfloat | None, default=None
Embedding duration in seconds, mutually exclusive with window_length.
- Attributes:
- sfreq_float
Sampling frequency used for fitting.
- n_channels_in_int
Number of fitted data channels.
- ch_names_in_tuple of str | None
Fitted MNE channel names and order, or None for arrays.
- diagnostics_dict | list of dict
Diagnostics from the most recent transform.
- dropped_counts_ndarray
Number of rejected components per channel or epoch and channel.
- dropped_frequencies_list
Dominant frequencies of rejected components.
See also
LocalSingularSpectrumAnalysisLocal delay-vector clustering and reconstruction.
compute_basic_ssaOne-shot Basic SSA interface.
Notes
The estimator is transductive: fit records the operating point and channel layout, while each transform decomposes its input records independently. [1].
References
Examples
>>> import numpy as np >>> from mne_denoise.ssa import SingularSpectrumAnalysis >>> rng = np.random.default_rng(0) >>> data = rng.standard_normal((8, 2000)) >>> model = SingularSpectrumAnalysis(sfreq=250.0, drop_freq_max=3.0) >>> clean = model.fit_transform(data)