smithery/intent-solutions-io

nixtla-timegpt-finetune-lab

Fine-tunes TimeGPT on custom datasets to improve forecasting accuracy. Use when TimeGPT's zero-shot performance is insufficient or domain-specific accuracy is needed. Trigger with "finetune TimeGPT", "train TimeGPT", "adapt TimeGPT".

Installation

$ npx skills add smithery/intent-solutions-io --skill nixtla-timegpt-finetune-lab

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/intent-solutions-io · top by installs.

npx skills add smithery/intent-solutions-io

Browse all from smithery/intent-solutions-io

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0
Allowed toolsRead,Write,Bash,Glob,Grep

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,820 B
  • docs SUMMARY.md 270 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Nixtla TimeGPT Fine-Tuning Lab

Adapts the TimeGPT model to specific datasets for enhanced forecasting performance.

Purpose

Improves forecasting accuracy by fine-tuning the pre-trained TimeGPT model on custom time series data.

Overview

This skill guides users through the process of fine-tuning TimeGPT on their own datasets. It handles data preprocessing, training configuration, and evaluation. Use when domain-specific accuracy is crucial or when the general TimeGPT model underperforms. It outputs a fine-tuned model and performance metrics.

Prerequisites

Tools: Read, Write, Bash, Glob, Grep

Environment: NIXTLATIMEGPTAPI_KEY

Packages:

pip install nixtla pandas scikit-learn matplotlib

Instructions

Step 1: Prepare data

Load and preprocess time series data into Nixtla format (unique_id, ds, y).

python {baseDir}/scripts/prepare_data.py \
  --input data.csv \
  --train_output train_data.csv \
  --val_output val_data.csv

Requirements:

  • CSV file with columns: unique_id, ds, y
  • ds column in recognizable datetime format
  • y column with numeric values
  • No missing values (will be dropped automatically)

Output:

  • train_data.csv (80% split)
  • val_data.csv (20% split)
  • timeseriesvisualization.png (first 3 series)

Step 2: Configure training

Create or validate training configuration.

# Create default config
python {baseDir}/scripts/configure_training.py \
  --create_default \
  --output config.json

# Or validate existing config
python {baseDir}/scripts/configure_training.py \
  --config config.json

Configuration parameters:

  • learning_rate: 0.001 (default)
  • epochs: 10 (default)
  • batch_size: 32 (default)
  • num_workers: 4 (default)
  • model_name: TimeGPT
  • freq: D (daily), H (hourly), etc.

Step 3: Execute fine-tuning

Run the fine-tuning process using prepared data and configuration.

export NIXTLA_TIMEGPT_API_KEY=your_api_key

python {baseDir}/scripts/finetune_model.py \
  --train_data train_data.csv \
  --config config.json \
  --output finetuned_model.pkl

Output: finetuned_model.pkl (serialized fine-tuned model)

Step 4: Evaluate and save

Evaluate the fine-tuned model on validation data and save metrics.

python {baseDir}/scripts/evaluate_model.py \
  --val_data val_data.csv \
  --model finetuned_model.pkl \
  --config config.json \
  --output metrics.json

Output: metrics.json (MAE, RMSE metrics)

Output

  • train_data.csv: Training dataset (80% split)
  • val_data.csv: Validation dataset (20% split)
  • timeseriesvisualization.png: Visualization of training data
  • config.json: Training configuration
  • finetuned_model.pkl: Fine-tuned TimeGPT model
  • metrics.json: Evaluation metrics (MAE, RMSE)

Error Handling

  1. Error: NIXTLATIMEGPTAPI_KEY not set

Solution: export NIXTLATIMEGPTAPIKEY=yourapi_key

  1. Error: Invalid data format

Solution: Ensure data has columns: unique_id, ds, y

  1. Error: Insufficient training data

Solution: Provide a larger training dataset (at least 50 time series points per series)

  1. Error: Fine-tuning failed

Solution: Adjust the fine-tuning parameters (learning rate, epochs) in config.json

  1. Error: Missing required column

Solution: Verify CSV has unique_id, ds, y columns with correct data types

Examples

Example 1: Fine-tuning on Retail Sales Data

Input:

unique_id,ds,y
store_1,2023-01-01,100
store_1,2023-01-02,110

Command:

python {baseDir}/scripts/finetune_model.py \
  --train_data train_data.csv \
  --config config.json \
  --output finetuned_model.pkl

Output: finetuned_model.pkl (a serialized, fine-tuned TimeGPT model)

Example 2: Fine-tuning on Energy Consumption Data

Input:

unique_id,ds,y
building_1,2023-01-01 00:00,50
building_1,2023-01-01 01:00,55

Command:

python {baseDir}/scripts/evaluate_model.py \
  --val_data val_data.csv \
  --model finetuned_model.pkl \
  --config config.json \
  --output metrics.json

Output: metrics.json (performance metrics of the fine-tuned model)

Resources

  • Data preparation: {baseDir}/scripts/prepare_data.py
  • Training configuration: {baseDir}/scripts/configure_training.py
  • Fine-tuning execution: {baseDir}/scripts/finetune_model.py
  • Model evaluation: {baseDir}/scripts/evaluate_model.py