Skip to content
Back to skills

Multiband Tsfresh Fft

ASecurity

Apply tsfresh per-passband feature extraction with FFT coefficients to capture multi-band periodicity from irregular time series

  • 61 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 12, 2026
developmentpython

Security analysis

A100/100

Scanned September 12, 2026

npx -y skills add wenmin-wu/ds-skills --skill multiband-tsfresh-fft --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Multiband Tsfresh Fft?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Multiband Tsfresh Fft
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wenmin-wu-multiband-tsfresh-fft/badge)](https://www.skillsdirectory.com/skills/wenmin-wu-multiband-tsfresh-fft)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: timeseries-multiband-tsfresh-fft
description: Apply tsfresh per-passband feature extraction with FFT coefficients to capture multi-band periodicity from irregular time series
domain: timeseries
---

# Multiband tsfresh FFT Features

## Overview

Use tsfresh's `extract_features` with the `column_kind` parameter to automatically compute features per frequency band in parallel. Include FFT coefficient magnitudes alongside standard statistics (kurtosis, skewness) to capture periodic structure. The per-band FFT features are especially useful for irregularly sampled multi-band data where time-domain periodicity detection is noisy.

## Quick Start

```python
from tsfresh import extract_features

def multiband_tsfresh(df, id_col='object_id', time_col='mjd',
                      band_col='passband', value_col='flux'):
    """Extract per-band features including FFT coefficients.
    
    Args:
        df: DataFrame with multi-band time series
        id_col: entity identifier
        time_col: timestamp column
        band_col: passband/channel column
        value_col: measurement value column
    """
    fcp = {
        'fft_coefficient': [
            {'coeff': 0, 'attr': 'abs'},
            {'coeff': 1, 'attr': 'abs'},
        ],
        'kurtosis': None,
        'skewness': None,
    }
    
    features = extract_features(
        df,
        column_id=id_col,
        column_sort=time_col,
        column_kind=band_col,
        column_value=value_col,
        default_fc_parameters=fcp,
        n_jobs=4,
    )
    return features
```

## Key Decisions

- **column_kind**: tells tsfresh to compute features per band independently
- **FFT coeff 0**: DC component (mean level); coeff 1: dominant frequency amplitude
- **Minimal feature set**: kurtosis + skewness + 2 FFT coefficients keeps dimensionality manageable
- **n_jobs=4**: parallelize across entities; increase for large datasets
- **Extend fcp**: add `'maximum'`, `'minimum'`, `'standard_deviation'` for richer features

## References

- Source: [ideas-from-kernels-and-discussion-lb-1-135](https://www.kaggle.com/code/iprapas/ideas-from-kernels-and-discussion-lb-1-135)
- Competition: PLAsTiCC Astronomical Classification

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.