Back to models
Transformer

SFAFast

Symbolic Fourier Approximation (SFA) Transformer.

Quickstart

python
from sktime.transformations.dictionary_based import SFAFast

estimator = SFAFast(word_length=8, alphabet_size=4, window_size=12, norm=False, binning_method='equi-depth', anova=False, variance=False, bigrams=False, skip_grams=False, remove_repeat_words=False, lower_bounding=True, save_words=False, feature_selection='none', max_feature_count=256, p_threshold=0.05, random_state=None, return_sparse=True, return_pandas_data_series=False, n_jobs=1)

Parameters(17)

word_length: int, default = 8
length of word to shorten window to (using PAA)
alphabet_size: int, default = 4
number of values to discretise each value to
window_size: int, default = 12
size of window for sliding. Input series length for whole series transform
norm: boolean, default = False
mean normalise words by dropping first fourier coefficient
binning_method: {“equi-depth”, “equi-width”, “information-gain”, “kmeans”,

“quantile”}, default=”equi-depth”

the binning method used to derive the breakpoints.

anova: boolean, default = False
If True, the Fourier coefficient selection is done via a one-way ANOVA test. If False, the first Fourier coefficients are selected. Only applicable if labels are given
variance: boolean, default = False
If True, the Fourier coefficient selection is done via the largest variance. If False, the first Fourier coefficients are selected. Only applicable if labels are given
save_words: boolean, default = False
whether to save the words generated for each series (default False)
bigrams: boolean, default = False
whether to create bigrams of SFA words
feature_selection: {“chi2”, “none”, “random”}, default: chi2
Sets the feature selections strategy to be used. Chi2 reduces the number of words significantly and is thus much faster (preferred). Random also reduces the number significantly. None applies not feature selectiona and yields large bag of words, e.g. much memory may be needed.
p_threshold: int, default=0.05 (disabled by default)
If feature_selection=chi2 is chosen, feature selection is applied based on the chi-squared test. This is the p-value threshold to use for chi-squared test on bag-of-words (lower means more strict). 1 indicates that the test should not be performed.
max_feature_count: int, default=256
If feature_selection=random is chosen, this parameter defines the number of randomly chosen unique words used.
skip_grams: boolean, default = False
whether to create skip-grams of SFA words
remove_repeat_words: boolean, default = False
whether to use numerosity reduction (default False)
return_sparse: boolean, default=True
if set to true, a scipy sparse matrix will be returned as BOP model. If set to false a dense array will be returned as BOP model. Sparse arrays are much more compact.
n_jobs: int, optional, default = 1

The number of jobs to run in parallel for both transform. -1 means using all processors.

return_pandas_data_series: boolean, default = False
set to true to return Pandas Series as a result of transform. setting to true reduces speed significantly but is required for automatic test.

References

  1. [1 ] Schäfer, Patrick, and Mikael Högqvist. “SFA: a symbolic fourier approximation and index for similarity search in high dimensional datasets.” Proceedings of the 15th international conference on extending database technology. 2012.