Weather, 30 steps ahead

Time series76 · variables forecast jointly

Overview

A Seq2Seq GRU in PyTorch that reads 90 steps of history and forecasts 76 weather variables 30 steps ahead, for 422 stations. Built for the Kaggle challenge of a deep learning course.

weather variables forecast by one model
76
stations, 192,432 training sequences
422
best validation MAE over 30 steps
0.557

The problem

Forecast 76 weather variables at once for 422 stations. The variables depend on each other, so predicting them one at a time throws information away. The challenge ranked entries by mean absolute scaled error (MASE).

The approach

approach.md
  1. 01Standardized all 76 variables and split every station’s series by time: 192,432 sequences for training, and the last 90 + 30 steps of each station for validation.
  2. 02Encoded the 90 input steps with a GRU (hidden size 128, dropout 0.4) and decoded the 30 output steps with a second GRU, using teacher forcing that starts at 0.5 and decays.
  3. 03Added Gaussian noise to the inputs, trained with AdamW and ReduceLROnPlateau, and stopped after 10 epochs without improvement.

The result

One model forecasts all 76 variables over the 30-step horizon, with a best validation MAE of 0.557.

Data ScienceAI EngineeringGenerative AILLM pipelinesMachine LearningStatisticsForecastingOptimizationData ScienceAI EngineeringGenerative AILLM pipelinesMachine LearningStatisticsForecastingOptimizationData ScienceAI EngineeringGenerative AILLM pipelinesMachine LearningStatisticsForecastingOptimizationData ScienceAI EngineeringGenerative AILLM pipelinesMachine LearningStatisticsForecastingOptimization