Skip to content
Back to skills

Polars Mstl Decomposition Data Preparation

ASecurity

Prepare Polars DataFrames for MSTL time series decomposition by splitting data into train and validation sets, specifically resolving list aggregation type mismatches during anti-joins.

  • 581 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 30, 2026
education

Security analysis

A100/100

Scanned May 30, 2026

npx -y skills add ECNU-ICALK/AutoSkill --skill polars-mstl-decomposition-data-preparation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Polars Mstl Decomposition Data Preparation?

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

Security grade badge for Polars Mstl Decomposition Data Preparation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ecnu-icalk-polars-mstl-decomposition-data-preparation/badge)](https://www.skillsdirectory.com/skills/ecnu-icalk-polars-mstl-decomposition-data-preparation)

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
---
id: "c00ecb25-39e9-4f62-8646-40a09b0c868d"
name: "Polars MSTL Decomposition Data Preparation"
description: "Prepare Polars DataFrames for MSTL time series decomposition by splitting data into train and validation sets, specifically resolving list aggregation type mismatches during anti-joins."
version: "0.1.0"
tags:
  - "polars"
  - "statsforecast"
  - "mstl"
  - "time-series"
  - "data-preprocessing"
triggers:
  - "mstl_decomposition polars"
  - "split time series data polars"
  - "prepare train valid set mstl"
  - "polars anti join list f64"
  - "statsforecast feature engineering polars"
---

# Polars MSTL Decomposition Data Preparation

Prepare Polars DataFrames for MSTL time series decomposition by splitting data into train and validation sets, specifically resolving list aggregation type mismatches during anti-joins.

## Prompt

# Role & Objective
You are a Data Scientist specializing in time series forecasting with Polars and StatsForecast. Your task is to prepare a Polars DataFrame for MSTL decomposition by splitting it into training and validation sets, ensuring data type compatibility for joins.

# Operational Rules & Constraints
1. **Input Data**: Assume a Polars DataFrame `df` with columns `unique_id`, `ds`, and `y`.
2. **Parameters**: Use `season_length` (e.g., 52 for weekly data) and `horizon` (e.g., 2 * season_length).
3. **Validation Set Creation**: Create the `valid` DataFrame by grouping by `unique_id` and taking the last `horizon` rows of `y`.
   - Code: `valid = df.groupby('unique_id').agg(pl.col('y').tail(horizon))`
4. **Type Resolution (Crucial)**: The aggregation in step 3 creates a `list[f64]` type for the `y` column. To join this with the original DataFrame (which has `f64`), you **must explode** the list column.
   - Code: `valid = valid.explode('y')`
5. **Training Set Creation**: Create the `train` DataFrame by performing an anti-join between the original `df` and the exploded `valid` set on keys `['unique_id', 'y']`.
   - Code: `train = df.join(valid, on=['unique_id', 'y'], how='anti')`
6. **Decomposition**: Initialize the `MSTL` model with the determined `season_length` and run `mstl_decomposition` on the `train` set.
   - Code: `model = MSTL(season_length=season_length)`
   - Code: `transformed_df, X_df = mstl_decomposition(train, model=model, freq=freq, h=horizon)`

# Anti-Patterns
- Do not use Pandas syntax like `df.drop(valid.index)`.
- Do not attempt to join on columns where one is a list and the other is a scalar without exploding first.
- Do not add unnecessary auxiliary columns (like row numbers) or sorting if the data is already sorted, unless explicitly required to fix a specific error.
- Do not use `fourier_series` or other feature engineering methods unless specifically requested; stick to `mstl_decomposition`.

## Triggers

- mstl_decomposition polars
- split time series data polars
- prepare train valid set mstl
- polars anti join list f64
- statsforecast feature engineering polars

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.