Allan Koetter
Spatio‑Temporal
Machine Learning
Nearly every question worth asking about the physical world is a question
of where, when, and what it is connected to. I build
machine learning systems that treat space, time and topology as first-class
dimensions — and the data pipelines that hold them up. Twenty years of
production data work, an MSc in geology, and a year spent forecasting
time series.
Focus
Four domains and the engineering that carries them. One shape of problem
throughout: a measurement with a coordinate, a timestamp, and often an edge
to whatever it is connected to.
Earth observation and change detection
Multispectral and radar imagery from Sentinel-1
and Sentinel-2: land cover and semantic
segmentation across a scene, then across its revisit cycle — where the
question stops being what is here and becomes what changed,
when, and whether it matters.
Movement and trajectories
Vessel detection in SAR imagery joined against AIS
tracks. A trajectory is a time series with a geometry attached, and in
maritime domain awareness the absence of a signal where the imagery shows
a hull is frequently the whole finding.
Subsurface and groundwater
Hydrogeology: flow and solute transport through aquifers, where the
sedimentary architecture decides where water is and how it moves. The same
two dimensions in a medium nobody can photograph — and the training behind
how I read spatial data everywhere else.
Graph analysis
Where the relations carry the signal and not just the entities. Vessels
meeting at a place and a moment, gauges connected along a river network,
wells drawing on one aquifer — put timestamps on the edges and a graph
becomes a spatio-temporal object in its own right, which makes graph
neural networks the natural architecture rather than a bolt-on.
ML engineering
Tracked experiments, versioned models, orchestrated pipelines and served
inference — the half of the work that decides whether a model ever leaves
the notebook, and the half where spatio-temporal data breaks naive
tooling first.
Background
Twenty years in production data work — SQL, Python, GIS, data engineering,
data management and analytics — built on an MSc in geology. A Diploma in
Data Science and Machine Learning in 2020, and a year as an ML Engineer at
PostNord forecasting parcel volumes: a year spent entirely in the temporal
dimension, on seasonality, lag structure and the discipline of never letting
the future leak backwards into training.
The combination is the point. Space and time each punish carelessness in
their own way — projections and resampling, spatial leakage between training
and test splits, the difference between a pixel and a place on one side;
lookahead bias, irregular sampling and autocorrelation on the other. Handle
one well and the other quietly ruins the result. Both go wrong most often
without anyone noticing, because the metric still looks fine.
Building the pipeline underneath all of that is where a lot of geoscience
stops, and reasoning about the geology is where a lot of machine learning
never starts. I work at both ends.
Stack
Modelling
- Python
- PyTorch
- scikit-learn
- torchgeo
Geospatial
- STAC
- stackstac
- xarray
- rasterio
- geopandas
- GDAL
Platform
- MLflow
- Dagster
- DuckDB
- MinIO
- FastAPI
- PostgreSQL
- Docker
- uv