Catch22
Canonical Time-series Characteristics (Catch22).
Overview: Input n series with d dimensions of length m Transforms series into the 22 Catch22 [1] features extracted from the hctsa [R884fa2ffb9c0-2] toolbox.
Quickstart
from sktime.transformations.catch22 import Catch22
estimator = Catch22(features: int | str | list [int | str ]='all', catch24: bool=False, outlier_norm: bool=False, replace_nans: bool=False, col_names: str='range')Parameters(6)
- featuresint/str or List of int/str, optional, default=”all”
The Catch22 features to extract by feature index, feature name as a str or as a list of names or indices for multiple features. If “all”, all features are extracted. Valid features and their corresponding short feature names are as follows:
{ “DN_HistogramMode_5”: “mode_5”, “DN_HistogramMode_10”: “mode_10”, “SB_BinaryStats_diff_longstretch0”: “stretch_decreasing”, “DN_OutlierInclude_p_001_mdrmd”: “outlier_timing_pos”, “DN_OutlierInclude_n_001_mdrmd”: “outlier_timing_neg”, “CO_f1ecac”: “acf_timescale”, “CO_FirstMin_ac”: “acf_first_min”, “SP_Summaries_welch_rect_area_5_1”: “centroid_freq”, “SP_Summaries_welch_rect_centroid”: “low_freq_power”, “FC_LocalSimple_mean3_stderr”: “forecast_error”, “CO_trev_1_num”: “trev”, “CO_HistogramAMI_even_2_5”: “ami2”, “IN_AutoMutualInfoStats_40_gaussian_fmmi”: “ami_timescale”, “MD_hrv_classic_pnn40”: “high_fluctuation”, “SB_BinaryStats_mean_longstretch1”: “stretch_high”, “SB_MotifThree_quantile_hh”: “entropy_pairs”, “FC_LocalSimple_mean1_tauresrat”: “whiten_timescale”, “CO_Embed2_Dist_tau_d_expfit_meandiff”: “embedding_dist”, “SC_FluctAnal_2_dfa_50_1_2_logi_prop_r1”: “dfa”, “SC_FluctAnal_2_rsrangefit_50_1_logi_prop_r1”: “rs_range”, “SB_TransitionMatrix_3ac_sumdiagcov”: “transition_matrix”, “PD_PeriodicityWang_th0_01”: “periodicity”,
} Additionally, if catch24 is true, two additional features are available: {
“DN_Mean”: “mean”, “DN_Spread_Std”: “std”,
} The overview of these features is available at: https://time-series-features.gitbook.io/catch22-features/feature-overview-table
- catch24bool, optional, default=False
- Extract the mean and standard deviation as well as the 22 Catch22 features if true. If a List of specific features to extract is provided, “Mean” and/or “StandardDeviation” must be added to the List to extract these features.
- outlier_normbool, optional, default=False
- Normalise each series during the two outlier Catch22 features: _DN_OutlierInclude_p_001_mdrmd and _DN_OutlierInclude_n_001_mdrmd, which can take a while to process for large values.
- replace_nansbool, optional, default=True
- Replace NaN or inf values from the Catch22 transform with 0.
- col_namesstr, one of {“range”, “int_feat”, “str_feat”, “short_str_feat”, “auto”},
- optional, default=”range”
- The type of column names to return. If “range”, column names will be a regular range of integers, as in a RangeIndex. If “int_feat”, column names will be the integer feature indices, as defined in pycatch22. If “str_feat”, column names will be the string feature names. If “short_str_feat”, column names will be the short string feature names as defined in pycatch22. If “auto”, column names will be the same as defined in features.
References
Lubba, C. H., Sethi, S. S., Knaute, P., Schultz, S. R., Fulcher, B. D., &
Jones, N. S. (2019). catch22: Canonical time-series characteristics. Data Mining and Knowledge Discovery, 33(6), 1821-1852... [R884fa2ffb9c0-2] Fulcher, B. D., Little, M. A., & Jones, N. S. (2013). Highly comparative time-series analysis: the empirical structure of time series and their methods. Journal of the Royal Society Interface, 10(83), 20130048.