F1 Lap-Time Forecasting β Chronos Fine-tune
One-step-ahead lap time forecasting for Formula 1 races, fine-tuned from autogluon/chronos-bolt-base.
|
|
| Run ID |
20260419_211104 |
| Base model |
autogluon/chronos-bolt-base |
| Task |
Next-lap time regression (ms) within a stint |
| Repository |
pablog86/oaa2 |
Dataset
Sourced from the consolidated f1-race-data/latest.parquet Parquet produced by the Airflow ingestion DAG (SPEC-008/SPEC-009).
|
|
| Train / val seasons |
[2022, 2023] |
| Test seasons |
[2024] |
| Session types |
RACE |
| Object ETag |
a6b0d597d06b934476b5e77a928c9659 |
| Last modified |
2026-04-19T04:22:53+00:00 |
Features
The model receives a sliding context window of pit-corrected lap times (lap_time_ex_pit_ms) within the current stint, plus the covariates listed below.
| Feature |
Type |
lap_time_ex_pit_ms (context window) |
Target signal β sliding window of pit-stop-corrected lap times within the current stint |
circuit_id |
Static |
constructor_id |
Static |
grid_position |
Static |
circuit_season_max_laps |
Static |
lap, lap_position, lap_in_race_pct |
Dynamic observed |
lap_in_stint, is_pit_out_lap, is_pit_in_lap |
Dynamic observed |
cumulative_pit_count, laps_since_last_pit |
Dynamic observed |
elapsed_race_time_ms |
Dynamic observed |
lag_1/2/3_lap_time_ex_pit_ms |
Historical |
rolling_mean_3/5_lap_time_ex_pit_ms |
Historical |
rolling_std_3_lap_time_ex_pit_ms |
Historical |
delta_vs_prev_lap_ex_pit_ms |
Historical |
delta_vs_rolling_mean_3_ex_pit_ms |
Historical |
Training Configuration
| Hyperparameter |
Value |
model_id |
autogluon/chronos-bolt-base |
learning_rate |
0.0001 |
batch_size |
32 |
max_epochs |
15 |
patience |
3 |
weight_decay |
0.0001 |
gradient_clip_val |
1.0 |
context_length |
20 |
prediction_length |
1 |
loss_function |
huber |
random_seed |
42 |
| Early stopping at epoch |
8 / 15 |
Evaluation Results
Validation
| Metric |
Value |
| MAE (ms) |
8377.9 |
| RMSE (ms) |
80676.4 |
| MAPE (%) |
8.07 |
| Within Β±500 ms (%) |
55.7 |
| Within Β±1000 ms (%) |
70.7 |
| Samples |
8873 |
Test
| Metric |
Value |
| MAE (ms) |
4619.8 |
| RMSE (ms) |
55007.5 |
| MAPE (%) |
4.54 |
| Within Β±500 ms (%) |
60.3 |
| Within Β±1000 ms (%) |
75.6 |
| Samples |
25241 |
Test β by season
| Segment |
mae (ms) |
mape (%) |
pct_within_500ms |
n_samples |
| 2024 |
4619.8 |
4.5 |
60.3 |
25241 |
Test β by stint length
| Segment |
mae (ms) |
mape (%) |
pct_within_500ms |
n_samples |
| long (>30) |
4393.4 |
4.5 |
62.0 |
9235 |
| medium (15β30) |
3189.5 |
3.3 |
61.8 |
12629 |
| short (<15) |
10587.5 |
9.2 |
50.3 |
3377 |
Baseline Comparison (test set)
| Metric |
Model |
last_lap |
rolling_mean_3 |
rolling_mean_5 |
| MAE (ms) |
4619.8 |
5167.4 |
3152.9 |
2975.1 |
| MAPE (%) |
4.5 |
5.6 |
3.5 |
3.4 |
| Within Β±500 ms (%) |
60.3 |
58.7 |
62.4 |
59.5 |
Run History
| run_id |
model |
val MAE (ms) |
test MAE (ms) |
test MAPE (%) |
within Β±500 ms (%) |
20260419_211104 |
chronos-bolt-base |
8377.9 |
4619.8 |
4.54 |
60.3 |
Reproducibility