TSFeaturesTransformer
Transformer for extracting time series features via tsfeatures.
Direct interface to tsfeatures.tsfeatures [1] as an sktime transformer. This transformer works with Series with 1 column and a datetime index.
By default, this transformer uses 17 feature functions that extract approximately 34 features (42 for seasonal data with freq > 1). The default feature functions include:
Autocorrelation Features:
acf_features:Autocorrelation function features (6-7 features)pacf_features:Partial autocorrelation function features (3-4 features)
Model-based Features:
arch_stat:ARCH model test statisticheterogeneity:ARCH/GARCH heterogeneity features (4 features)holt_parameters:Holt exponential smoothing parameters (2 features)hw_parameters:Holt-Winters parameters (3 features, only if freq > 1)stl_features:Seasonal-trend decomposition features (8-11 features)
Statistical Features:
crossing_points:Number of median crossingsentropy:Spectral entropyflat_spots:Number of flat spotshurst:Hurst exponentlumpiness:Variance of variances across windowsnonlinearity:Terasvirta nonlinearity teststability:Variance of means across windowsunitroot_kpss:KPSS unit root test statisticunitroot_pp:Phillips-Perron unit root test statistic
Basic Features:
series_length:Length of the time series
Other supported features (non-default):
count_entropy:Entropy using only positive data.intervals:Mean and Standard Deviation of intervals with positive values.frequency:Wrapper of freq parameter.guerrero:Applies Guerrero’s (1993) method to select the lambda which
minimises the coefficient of variation for subseries of x. - sparsity: Average obs with zero values.
Quickstart
from sktime.transformations.tsfeatures import TSFeaturesTransformer
estimator = TSFeaturesTransformer(features=None, scale=True)Parameters(2)
- featureslist of callable, optional
- List of feature functions to compute. If None, uses default feature set.
- scalebool, optional (default=True)
- Whether to (mean-std) scale data before computing features.
Examples
>>> from sktime.transformations.tsfeatures import TSFeaturesTransformer
>>> from sktime.utils._testing.series import _make_series
>>> X = _make_series ()
>>> transformer = TSFeaturesTransformer ()
>>> Xt = transformer. fit_transform (X)
>>> # Example using specific features
>>> from tsfeatures.tsfeatures import acf_features
>>> acf_transformer = TSFeaturesTransformer (
... features = [acf_features ],
... )
>>> acf_Xt = acf_transformer. fit_transform (X)