CoolFace
Modelpublic

albertooooz/chronos-2-lora-pl-day-ahead

sourceHugging Faceapache-2.0updated 3mo agoView on Hugging Face
0likes7downloads
Model Card

Chronos-2 LoRA — Poland day-ahead electricity prices

LoRA adapter for 24-hour-ahead hourly day-ahead (DA) electricity price forecasting in Poland (ENTSO-E bidding zone PL). Fine-tuned on top of `amazon/chronos-2` using ENTSO-E price history. Weather covariates were not used during training but can be supplied at inference.

Intended use

  • —Univariate DA price forecasting for the Polish bidding zone (PL)
  • —Load with the Chronos-2 pipeline (PEFT LoRA adapter, not a standalone full model)
  • —Optional Open-Meteo weather covariates at inference via predict_df
  • —Research and prototyping — not financial or trading advice

Usage

Install dependencies:

bash
pip install chronos-forecasting peft torch

Load the adapter (Chronos merges the LoRA weights automatically):

python
from chronos import Chronos2Pipeline
import numpy as np

pipeline = Chronos2Pipeline.from_pretrained("albertooooz/chronos-2-lora-pl-day-ahead")

# Univariate context: shape (n_series, n_variates, history_length)
context = np.array(your_hourly_prices, dtype=np.float64).reshape(1, 1, -1)
forecast = pipeline.predict(inputs=context, prediction_length=24)

Training data

FieldValue
SourceENTSO-E Transparency Platform (day-ahead prices)
ZonePL
Frequency1h (resampled from 15min where needed)
Train rows85,523
Date range2015-01-04 → 2025-07-31
HoldoutLast 12 months excluded from training (benchmark eval window)
Weather at trainnone

Training hyperparameters

ParameterValue
Fine-tuning modelora
LoRA rank (r)8
LoRA alpha16
Learning rate1e-05
Steps1000
Batch size64
Context length2048
Prediction length24
HardwareRunPod CUDA (PyTorch 2.4.1+cu124)

Target modules: self_attention.q/k/v/o, output_patch_embedding.output_layer.

Evaluation

Walk-forward backtest on the held-out 12 months: 2 random origin days per calendar month, horizon 24h, random_seed=42, 1h frequency — same protocol as benchmark v1.

ModelCovariatesZeroshot MASELoRA MASEΔ MASE
chronos-2-smallactual_weather0.8140.609+25.1%
chronos-2-smallnone0.8430.632+25.0%
chronos-2actual_weather0.7790.578+25.8%
chronos-2none0.8240.614+25.5%

Metrics: MASE (primary), MAE. MASE scale uses in-sample seasonal naive on context up to each origin.

See eval_results.json in this repository for structured metrics.

Limitations

  • —Trained only on Polish (PL) day-ahead prices; do not expect strong transfer to other zones or markets without retraining
  • —Does not model fundamental drivers (fuel, outages, cross-border flows) beyond price history (and optional weather at inference)
  • —Outputs are probabilistic point/quantile forecasts — validate before production use
  • —Not a substitute for professional energy market forecasting or risk management

Base model

This is a LoRA adapter — load it together with `amazon/chronos-2`. If you use this adapter in research, cite the Chronos-2 foundation model.

Model card contact

albertooooz