Selected project
Teus
Research & model serving
Hourly river-discharge forecasting, evaluated on the rare flood events that average scores hide.
Teus forecasts hourly river discharge and evaluates every model on the rare flood events that average scores hide. It is a TÜBİTAK 1832 R&D project that I co-lead with a hydraulic engineer; I own the data, modeling, evaluation, and serving work.
The problem
Floods are a small fraction of each station’s hourly record, which creates three traps:
- A model that repeats normal conditions scores well on the full series and still misses every flood.
- Flashy basins go from baseflow to peak within hours, so discharge history alone gives little warning; rainfall has to be an input.
- Ordinary MAPE explodes near zero flow. Teus reports thresholded MAPE, scored only on hours above a station’s discharge-quantile threshold.
What it does
- Compares classical and neural models, from Ridge baselines to a seq2seq LSTM with attention, on discharge and basin-weighted rainfall.
- Scores peak-event windows with expanding-window backtests, separately from ordinary flow.
- Writes every run’s predictions, metrics, plots, fitted model, and manifest to an inspectable report.
- Serves checkpoints that pass loading and input-contract checks through a FastAPI forecast service.
Historical experiments covered 24–72-hour horizons. The current generation targets 1–12-hour forecasts across eight stations.
Results and limits
Selected events show both sides of the model. At D22A114 it matched a sharp peak closely. At D08A084, a small and flashy basin, it caught the timing but not the magnitude:
These are conditional experiments. Historical runs use observed future rainfall rather than archived weather forecasts, and flood thresholds are computed on the full series. No station yet passes the strict high-flow gate: at least 24 distinct targets, P99-event MAPE under 10%, and finite, non-negative predictions. The evaluation interval has also been reused for diagnostics, so the next accuracy claim needs a fresh, locked holdout.
Checkpoint serving works. An operational warning system still needs domain review and authorized use.