One idea I kept coming back to at IPC: we should seriously think about how we do train/test splits in pipeline data for evaluating machine learning models.
Pipeline data is spatially autocorrelated. Measurements from nearby locations tend to be more alike than measurements from locations far apart. With a random split, nearby and highly similar observations can end up in both the training and test sets. That can make a model appear to perform well because the test set contains observations very similar to ones in the training set. The test score may be reassuring, but it may not tell us how well the model will generalize to a genuinely different location.
In our paper, False Confidence in Machine Learning: Autocorrelation and Its Consequences in Pipeline Integrity, we discuss why this matters and how random splitting can lead to overconfident conclusions.
For pipeline data, the validation strategy should respect the spatial structure of the problem. If we want to know how a model performs on new areas, we should hold out spatially distinct areas, not just randomly selected rows.
In the paper, we discuss the Unit of Independence: the smallest grouping of observations that can reasonably be treated as independent and interchangeable between the training and test sets. It helps us decide what should stay together when splitting the data. Keep in mind, this is not easy and it depends on the deployment scenario.
When we do ML, we need to ask ourselves: what, exactly, do we want the model to generalize to, and where will it be used? This is the uncomfortable but most practical question. These days, implementation is less challenging than it used to be, but the fundamentals matter as much as ever. A random split is not mathematically wrong; it may simply answer a different question than the one that matters for deployment. Choose a validation strategy that reflects how and where the model will actually be used.