Data drift
Also known as: dataset shift, distribution shift
The slow or sudden change in real-world data after a model goes live, so it no longer looks like what the model learned from.
Draft - this entry has not been reviewed yet.
Formal
A change over time in the inputs a model sees at inference, or in how those inputs relate to the right answer, compared with its training data; it lowers quality without any change to the model itself.
In plain English
Like an old city map that was right when it was printed, but the streets have been rebuilt since, so following it faithfully now gets you lost.
In practice
A model that guessed how many calls a support desk would get was trained before a new self-service website opened; afterwards the calls change in number and kind, and its guesses quietly go wrong.
Why it matters
A model that passed every test can still fail months later with no error message, so its live inputs and results must be watched and it must be retrained.
Technical deep dive
The umbrella term in the literature is dataset shift (Quiñonero-Candela et al., eds., Dataset Shift in Machine Learning, MIT Press, 2009): the joint distribution P(X, Y) at deployment differs from the one in training. It is usually split into covariate shift, where P(X) changes but P(Y | X) stays the same (a new customer segment arrives); prior or label shift, where P(Y) changes (fraud becomes more common); and concept drift, where P(Y | X) itself changes, so the same inputs now call for different answers (what counts as spam evolves). Google's ML glossary defines concept drift as a shift in the relationship between features and the label that reduces model quality over time. Gama et al. (2014) classify drift by its timing as sudden, gradual, incremental or recurring (seasonal), and distinguish real drift, which changes the decision boundary, from virtual drift, which only changes the input distribution.
Detection compares live data with a reference window, usually the training or validation data. Common checks are per-feature statistical tests (Kolmogorov-Smirnov for numeric features, chi-squared for categorical), distance measures such as the population stability index, Jensen-Shannon or Wasserstein distance, drift in the model's output distribution, and, where labels arrive late, the actual decline in accuracy or error. Stream-learning detectors such as DDM and ADWIN watch the error rate and signal when it changes significantly. Univariate tests on many features raise many false alarms, so thresholds are usually tuned or corrected for multiple comparisons.
Data drift is related to but different from training-serving skew, where the pipeline itself produces different features at training and serving time; Google's production ML guidance treats both as monitoring targets and recommends applying the same statistical checks to training and serving data. Responses include scheduled or triggered retraining on recent data, weighting recent examples, online learning, and human review of whether the change is real or a data quality bug such as a broken upstream field.
For generative and language models the same idea appears as knowledge that ages: the world moves past the training cutoff, user behaviour changes, and prompts shift toward tasks absent from training.
What to learn first
Everything this builds on, foundations first.
- Inference
- →Training data
- →Data drift
Relationships
- Requires
- Training dataInference
- Don't confuse with
- Overfitting
- Used with
- Model evaluation (evals)
Sources & further reading
Official documentation
- Machine Learning Glossary (concept drift) · Google for Developers
Reference works
- Gama, Zliobaite, Bifet, Pechenizkiy & Bouchachia (2014), A Survey on Concept Drift Adaptation · ACM Computing Surveys
- Machine Learning Crash Course: Production ML systems, Monitoring pipelines · Google for Developers
Textbooks
- Quiñonero-Candela, Sugiyama, Schwaighofer & Lawrence (eds.), Dataset Shift in Machine Learning · MIT Press, 2009
Where this data comes from
This entry was drafted by an AI from the sources above and has not yet been checked by a person. Treat it as a starting point, and check anything important against the sources.
See the review queueSuggest a correction on GitHubThis term as JSON
Check yourself
Loading…