← Về thư mục
📄 / / profiles / r-and-d / raw_evidence / scientific-agent-skills / skills / aeon / references / transformations.md

Transformations

Aeon provides extensive transformation capabilities for preprocessing, feature extraction, and representation learning from time series data.

Transformation Types

Aeon distinguishes between: - CollectionTransformers: Transform multiple time series (collections) - SeriesTransformers: Transform individual time series

Collection Transformers

Convolution-Based Feature Extraction

Fast, scalable feature generation using random kernels:

Use when: Need fast, scalable features for any ML algorithm, strong baseline performance.

Statistical Feature Extraction

Domain-agnostic features based on time series characteristics:

Use when: Need interpretable features, domain-agnostic approach, or feeding traditional ML.

Dictionary-Based Representations

Symbolic approximations for discrete representations:

Use when: Need discrete/symbolic representation, dimensionality reduction, interpretability.

Shapelet-Based Features

Discriminative subsequence extraction:

Use when: Need interpretable discriminative patterns, phase-invariant features.

Interval-Based Features

Statistical summaries from time intervals:

Use when: Predictive patterns localized to specific windows.

Preprocessing Transformations

Data preparation and normalization:

Use when: Need standardization, missing value handling, format conversion.

Specialized Transformations

Advanced analysis methods:

Class Imbalance Handling

Use when: Classification with imbalanced classes.

Pipeline Composition

Series Transformers

Transform individual time series (e.g., for preprocessing in forecasting).

Statistical Analysis

Smoothing and Filtering

Use when: Need noise reduction, trend extraction, or frequency filtering.

Dimensionality Reduction

Transformations

Pipeline Composition

Quick Start: Feature Extraction

from aeon.transformations.collection.convolution_based import RocketTransformer
from aeon.classification.sklearn import RotationForest
from aeon.datasets import load_classification

# Load data
X_train, y_train = load_classification("GunPoint", split="train")
X_test, y_test = load_classification("GunPoint", split="test")

# Extract ROCKET features
rocket = RocketTransformer()
X_train_features = rocket.fit_transform(X_train)
X_test_features = rocket.transform(X_test)

# Use with any sklearn classifier
clf = RotationForest()
clf.fit(X_train_features, y_train)
accuracy = clf.score(X_test_features, y_test)

Quick Start: Preprocessing Pipeline

from aeon.transformations.collection import (
    MinMaxScaler,
    SimpleImputer,
    CollectionTransformerPipeline
)

# Build preprocessing pipeline
pipeline = CollectionTransformerPipeline([
    ('imputer', SimpleImputer(strategy='mean')),
    ('scaler', MinMaxScaler())
])

X_transformed = pipeline.fit_transform(X_train)

Quick Start: Series Smoothing

from aeon.transformations.series import MovingAverage

# Smooth individual time series
smoother = MovingAverage(window_size=5)
y_smoothed = smoother.fit_transform(y)

Algorithm Selection

For Feature Extraction:

For Preprocessing:

For Symbolic Representation:

Best Practices

  1. Fit on training data only: Avoid data leakage python transformer.fit(X_train) X_train_tf = transformer.transform(X_train) X_test_tf = transformer.transform(X_test)

  2. Pipeline composition: Chain transformers for complex workflows python pipeline = CollectionTransformerPipeline([ ('imputer', SimpleImputer()), ('scaler', Normalizer()), ('features', RocketTransformer()) ])

  3. Feature selection: TSFresh can generate many features; consider selection python from sklearn.feature_selection import SelectKBest selector = SelectKBest(k=100) X_selected = selector.fit_transform(X_features, y)

  4. Memory considerations: Some transformers memory-intensive on large datasets

  5. Use MiniRocket instead of ROCKET for speed
  6. Consider downsampling for very long series
  7. Use ROCKETGPU for GPU acceleration

  8. Domain knowledge: Choose transformations matching domain:

  9. Periodic data: Fourier-based methods
  10. Noisy data: Smoothing filters
  11. Spike detection: Wavelet transforms