River level forecasting
A hydrological forecasting project based on historical observations, lagged variables, baseline models and rigorous evaluation.
Personal learning and demonstration project. It is not a deployment for a real client.
Data
- Historical observations
- Lagged variables (lags)
Models
- Simple baselines
- Predictive model
- Temporal evaluation
Conceptual diagram of a time-series forecasting workflow. It will be replaced by a diagram of my own.
Overview
A personal project in time-series forecasting applied to hydrology. Its aim is practical and methodological: build a forecast and measure rigorously how much it improves on simpler alternatives.
Problem and goal
A river’s level depends on recent rainfall, upstream flows and its own inertia. Forecasting level in the short term requires using the history without fooling yourself with inflated metrics. The goal is to compare models against simple baselines and keep only what really adds value.
Approach
- Historical observations as the basis of the problem.
- Lagged variables (lags) so the model knows the recent past.
- Comparison baselines, such as assuming tomorrow’s level equals today’s.
- Predictive model trained on the engineered variables.
- Evaluation with temporal validation: train on the past, test on the future, never mix.
I’m happy to walk through the implementation details (engines, models and specific parameters) in a conversation.
Technologies
Python, time-series analysis and predictive modelling.
Challenges and decisions
- Information leakage. Using future data when building variables or validating produces falsely good results. A temporal split avoids this.
- Simple baselines. In series with strong inertia, persistence is hard to beat; a complex model must surpass it to be justified.
- Extreme events. Floods are rare and the ones that matter most; evaluation must look at that tail as well, not only the average error.
Results and evaluation
Evaluation metrics are not published yet: no unvalidated figures are shown.
Relation to services
The same approach — simple baseline, temporal validation and explicit limits — applies to predictive analytics for businesses, for example demand forecasting.