Distributional Shift
Le distributional shift (ou data distribution shift) désigne la divergence entre la distribution statistique des données utilisées pour entraîner un modèle de machine learning et la distribution des données qu’il rencontre en production, ce qui provoque une dégradation de ses performances prédictives.
- Alias
- Dataset shift, data shift, distribution mismatch, domain shift
- Catégorie
- Fiabilité ML / MLOps
- Types principaux
- Covariate shift, label shift, concept drift
- Détection
- Tests statistiques (KS, MMD), monitoring continu, OOD detection
- Correction
- Domain adaptation, DRO, importance weighting, réentraînement
- Domaines touchés
- Vision, NLP, médical, finance, conduite autonome, LLM
Comprendre le distributional shift
Tout modèle de machine learning repose sur une hypothèse fondatrice : les données d’entraînement et les données de test (ou de production) suivent la même distribution. C’est l’hypothèse i.i.d. (independent and identically distributed). En pratique, cette hypothèse est presque toujours violée. Les données changent, les contextes évoluent, les populations se déplacent. Le distributional shift est la manifestation concrète de cette rupture.
Formellement, un modèle est entraîné sur une distribution source PS(X, Y) et déployé dans un environnement où les données suivent une distribution cible PT(X, Y), avec PS ≠ PT. La différence entre ces deux distributions est le distributional shift. Selon la composante qui change (les entrées, les sorties, ou la relation entre les deux), on obtient différents types de shift, chacun avec ses propres implications et stratégies de correction.
Le phénomène est critique parce qu’un modèle peut afficher une précision parfaite en validation (cross-validation sur les données d’entraînement) et pourtant échouer lamentablement en production. L’exactitude mesurée hors contexte ne garantit rien. C’est ce que certains chercheurs appellent « le grand mensonge du machine learning » : l’hypothèse i.i.d. est confortable mais rarement réaliste.
Les trois types de distributional shift
La distribution jointe P(X, Y) peut se décomposer de deux manières : P(X, Y) = P(Y|X) × P(X) ou P(X, Y) = P(X|Y) × P(Y). Selon la composante qui change, on distingue trois types majeurs de shift.
Covariate shift
Le covariate shift se produit quand la distribution des variables d’entrée change (Ptrain(X) ≠ Ptest(X)) tandis que la relation conditionnelle entre entrées et sorties reste stable (P(Y|X) constant). En termes simples : vous recevez des données différentes, mais la « règle du jeu » reste la même.
Exemple concret : un modèle de détection de cancer du sein est entraîné majoritairement sur des patientes de plus de 40 ans. En déploiement, il reçoit des données de patientes de tous âges. La probabilité d’un cancer étant donné les caractéristiques cliniques n’a pas changé, mais le profil type des patientes, lui, a changé. Le modèle est potentiellement sous-performant sur les tranches d’âge mal représentées dans ses données d’entraînement.
Le covariate shift est le type de shift le plus étudié et le plus « facile » à corriger, car vous pouvez comparer directement la distribution des features entre entraînement et production. Des techniques comme l’importance weighting (repondération des exemples) permettent de compenser le décalage.
Label shift (prior probability shift)
Le label shift survient quand la distribution des labels change (Ptrain(Y) ≠ Ptest(Y)) mais que pour un label donné, la distribution des features reste constante (P(X|Y) constant). C’est typique des problèmes anticausaux, où le label « cause » les features (par exemple, une maladie cause des symptômes).
Exemple concret : un modèle de maintenance prédictive est entraîné sur un jeu de données où 5% des machines tombent en panne. En production, le taux de panne passe à 15% (parce que les machines vieillissent). Pour une machine en panne, les signaux vibratoires restent les mêmes, mais la prévalence globale des pannes a changé. Le modèle, calibré sur 5%, sous-estime la probabilité de panne.
La correction du label shift passe par l’estimation des proportions de classes dans la distribution cible, puis par une repondération des exemples d’entraînement. C’est techniquement plus simple que le covariate shift car on manipule des objets de faible dimension (les labels) plutôt que des vecteurs de features de haute dimension.
Concept drift (concept shift)
Le concept drift est le type de shift le plus insidieux. Il se produit quand la relation entre les entrées et les sorties change fondamentalement (Ptrain(Y|X) ≠ Ptest(Y|X)). Les données d’entrée peuvent avoir la même distribution, mais ce qu’elles « signifient » a changé.
Exemple concret : un modèle prédit le prix des appartements à Paris en fonction de la surface, du quartier et de l’étage. Pendant le COVID, les prix ont chuté dans les quartiers centraux et augmenté en banlieue. Mêmes features, relation complètement différente. Le modèle, entraîné sur les données pré-COVID, produit des estimations systématiquement fausses.
Le concept drift est le plus difficile à corriger. Il n’existe pas de méthode élégante universelle. Dans la majorité des cas, la solution passe par un réentraînement du modèle sur des données récentes. Le concept drift peut être soudain (changement brutal), graduel (évolution lente), incrémental (petits ajustements successifs) ou saisonnier (cycles prévisibles).
| Type de shift | Ce qui change | Ce qui reste stable | Difficulté de détection | Stratégie principale |
|---|---|---|---|---|
| Covariate shift | P(X) | P(Y|X) | Modérée | Importance weighting |
| Label shift | P(Y) | P(X|Y) | Modérée | Estimation de proportions + repondération |
| Concept drift | P(Y|X) | P(X) (souvent) | Élevée | Réentraînement, monitoring continu |
Causes courantes du distributional shift
Le distributional shift n’est pas un accident rare. Il est la norme. Voici les sources les plus fréquentes :
Biais de collecte et sélection des données
Les données d’entraînement sont rarement un échantillon représentatif de la réalité en production. Un modèle entraîné sur des images prises en journée échouera la nuit. Un modèle de NLP entraîné sur des textes formels sera médiocre sur du langage familier. Le biais de sélection est la cause la plus banale et la plus répandue de shift.
Évolutions temporelles
Le monde change. Les comportements des utilisateurs évoluent, les tendances du marché se déplacent, les réglementations se modifient. Un modèle de détection de spam entraîné il y a trois ans n’a aucune connaissance des nouvelles techniques de phishing. Un modèle de scoring crédit calibré avant une crise économique sera trop optimiste pendant la récession.
Différences géographiques et démographiques
Un modèle médical entraîné sur des patients d’hôpitaux européens et déployé en Asie du Sud-Est fera face à un shift massif : différences ethniques, prévalences de maladies, qualité d’imagerie, habitudes alimentaires. Les données ne voyagent pas aussi bien qu’on le voudrait.
Changements techniques
Un nouveau capteur, une mise à jour de firmware, un changement de résolution d’image, un pipeline de données modifié. Toute modification technique dans la chaîne de collecte de données peut introduire un shift, parfois subtil, parfois dévastateur.
Boucles de rétroaction
Quand un modèle influence les données qu’il reçoit ensuite, des boucles de rétroaction s’installent. Un système de recommandation qui favorise certains contenus modifie les habitudes de consommation, ce qui change la distribution des interactions futures. Le modèle crée lui-même le shift auquel il est confronté.
Détecter le distributional shift
Détecter un shift avant qu’il ne cause des dégâts en production est une discipline à part entière du MLOps. Voici les approches principales.
Tests statistiques univariés
L’approche la plus directe consiste à comparer la distribution de chaque feature entre les données de référence (entraînement) et les données courantes (production). Les tests de Kolmogorov-Smirnov (KS) et de chi-carré sont les plus utilisés. Le test KS compare les fonctions de distribution cumulée de deux échantillons et produit une p-value indiquant si les deux distributions diffèrent significativement.
Tests multivariés et méthodes kernel
Le Maximum Mean Discrepancy (MMD) est le gold standard pour comparer deux distributions de manière multivariée. Il mesure la distance entre les moyennes de deux distributions dans un espace de Hilbert à noyau reproduisant (RKHS). Concrètement, le MMD capture des différences que les tests univariés manquent, notamment les changements de corrélation entre variables.
D’autres méthodes incluent le test de classification (entraîner un classificateur pour distinguer données de référence et données courantes, si la précision dépasse 50%, il y a shift), la divergence KL et la distance de Wasserstein. Chacune a ses forces : la distance de Wasserstein est particulièrement intéressante car elle a une interprétation géométrique intuitive et est bien adaptée aux distributions continues.
Détection out-of-distribution (OOD)
La détection out-of-distribution fonctionne au niveau des exemples individuels plutôt qu’au niveau de la distribution globale. L’objectif est d’identifier chaque donnée qui ne ressemble pas aux données d’entraînement. Les méthodes populaires incluent les autoencodeurs variationnels (VAE) qui mesurent l’erreur de reconstruction, les approches basées sur la vraisemblance (Likelihood Regret), et les méthodes d’apprentissage autosupervisé comme SSD qui détectent les anomalies dans l’espace des représentations.
Des recherches récentes sur la conduite autonome ont montré que les métriques de Likelihood Regret et SSD sont fortement corrélées avec l’erreur de perception des réseaux de profondeur, ce qui en fait des candidats prometteurs pour le monitoring en temps réel.
Monitoring continu en production
Les outils de ML monitoring comme NannyML, Evidently AI, WhyLabs, ou Superwise permettent de surveiller en continu les distributions des features et les métriques de performance. L’approche standard est de calculer les métriques de drift sur des fenêtres glissantes et de déclencher des alertes quand un seuil est dépassé.
L’approche slidSHAPs, plus récente, utilise les valeurs de Shapley pour détecter des shifts dans les corrélations entre variables d’entrée, même quand les distributions marginales restent stables. Elle transforme les séries temporelles d’entrée dans un espace latent qui rend les shifts plus visibles et plus faciles à diagnostiquer.
Corriger et atténuer le distributional shift
Une fois le shift détecté, il faut agir. Les stratégies se divisent en deux grandes familles : l’adaptation (si vous disposez de données de la distribution cible) et la robustesse (si vous devez anticiper des shifts inconnus).
Importance weighting
L’importance weighting est la technique classique pour corriger le covariate shift. Le principe : repondérer chaque exemple d’entraînement par le ratio PT(x) / PS(x). Les exemples qui ressemblent davantage à la distribution cible reçoivent un poids plus élevé. En pratique, on estime ce ratio via un classificateur de densité ou un classificateur de domaine.
La méthode est élégante mais fragile. Si la distribution source et la distribution cible ont un support très différent (peu de chevauchement), les poids deviennent très instables. Des variantes stabilisées comme le clipping des poids ou la normalisation self-normalizing importance weights atténuent le problème.
Domain adaptation
Le domain adaptation va plus loin que le simple reweighting. L’idée est d’apprendre des représentations des données qui sont invariantes au domaine : le modèle extrait des features qui capturent l’information pertinente pour la tâche tout en étant indistinguables entre les domaines source et cible.
Les méthodes adversariales (inspirées des GAN) entraînent simultanément un prédicteur de tâche et un discriminateur de domaine, le but étant de trouver des représentations que le discriminateur ne peut pas attribuer à un domaine spécifique. D’autres méthodes alignent les distributions via des métriques comme le MMD ou CORAL (CORrelation ALignment).
Distributionally Robust Optimization (DRO)
La DRO est une approche fondamentalement différente. Au lieu de s’adapter à une distribution cible connue, elle optimise le modèle pour qu’il performe bien sous la pire distribution possible dans un voisinage de la distribution d’entraînement. L’idée est de construire un ensemble d’ambiguïté (ambiguity set) autour de la distribution empirique et de minimiser le risque dans le pire cas.
La DRO a des connexions profondes avec la régularisation en machine learning, l’entraînement adversarial, et les mesures de risque cohérentes en finance. Une bibliothèque Python open-source, dro, publiée en 2025, implémente 14 formulations de DRO et 9 modèles backbone, rendant l’approche accessible aux praticiens.
Réentraînement et apprentissage continu
Pour le concept drift, la solution la plus fiable reste le réentraînement régulier du modèle sur des données récentes. La question est de savoir quand et comment réentraîner. Les stratégies vont du réentraînement périodique (chaque semaine, chaque mois) au réentraînement déclenché par la détection d’un shift (event-driven retraining).
L’apprentissage continu (continual learning) pousse cette idée plus loin en permettant au modèle de s’adapter progressivement sans oublier les connaissances antérieures (problème du catastrophic forgetting). Le fine-tuning incrémental, le replay d’expérience, et les méthodes de consolidation élastique des poids (EWC) sont les approches les plus étudiées.
Prédiction conforme
La prédiction conforme offre une perspective complémentaire. Au lieu de corriger le shift, elle ajuste le niveau de confiance des prédictions. Sous certaines hypothèses d’échangeabilité, la prédiction conforme produit des intervalles de prédiction avec des garanties de couverture valides, même en présence de shift modéré. En pratique, si le shift est trop sévère, les intervalles deviennent très larges, signalant que le modèle manque de confiance.
Cas concrets par domaine
Imagerie médicale
Le domaine médical est un terrain miné pour le distributional shift. Un modèle de détection de rétinopathie diabétique entraîné dans un hôpital peut voir sa sensibilité varier de 0,50 à 0,79 selon l’ethnicité du patient, selon une étude publiée dans npj Digital Medicine. Les changements de matériel d’acquisition (scanners, caméras rétiniennes), de population de patients et de prévalence de comorbidités sont autant de sources de shift qui nécessitent un monitoring post-déploiement rigoureux.
Le Shifts Dataset (NeurIPS 2021, étendu en 2022 avec Shifts 2.0) inclut des tâches d’imagerie médicale comme la segmentation de lésions de sclérose en plaques, précisément pour évaluer la robustesse des modèles face aux shifts réels rencontrés en clinique.
Conduite autonome
Un véhicule autonome entraîné sur des données collectées par beau temps rencontrera un shift massif la première fois qu’il conduira sous la pluie ou dans le brouillard. Les recherches sur le monitoring de la perception en conduite autonome montrent que les méthodes basées sur le Likelihood Regret et le SSD (Self-Supervised Detection) sont capables de détecter ces situations OOD et de les corréler avec une dégradation de la fiabilité des prédictions.
Finance et scoring crédit
Les modèles de scoring de crédit font face à des shifts temporels constants : les profils des emprunteurs évoluent, les conditions macroéconomiques fluctuent, les réglementations changent. Un modèle calibré en période de croissance sera trop optimiste en récession. Le concept drift est particulièrement sournois ici, car la relation revenu/défaut peut changer fondamentalement selon le cycle économique.
NLP et LLM
Les grands modèles de langage ne sont pas épargnés. Une recherche publiée en mars 2026 dans Nature Communications démontre que les safeguards d’alignement des LLM créent uniquement des « régions de sécurité » locales dans l’espace des connaissances. Sous des perturbations distribuées (distributional shifts adversariaux), les connaissances potentiellement dangereuses encodées pendant le pré-entraînement peuvent resurgir. Ce phénomène, qualifié d' »ethical drift », souligne que l’alignement actuel n’offre qu’une protection superficielle contre les shifts de distribution dans l’espace des prompts.
De manière plus générale, les LLM multimodaux montrent des faiblesses marquées quand les requêtes de l’utilisateur s’éloignent de la distribution des données d’instruction tuning. Un cadre théorique basé sur la théorie de l’information (Effective Mutual Information) a été proposé pour quantifier formellement ce risque, validé sur 61 scénarios de shift distincts.
Industrie et maintenance prédictive
Les capteurs industriels dérivent. Les conditions opérationnelles changent. Les routines de maintenance évoluent. Chaque modification introduit un shift potentiel. La simulation d’un processus de fraisage (milling) montre qu’un Random Forest passant de 100% de précision sans shift à 84-86% sous concept drift ou label shift. Le détection d’anomalies et le monitoring des distributions de features sont des pratiques essentielles en industrie 4.0.
Benchmarks et datasets de référence
L’évaluation de la robustesse aux shifts nécessite des benchmarks dédiés. Voici les principaux :
| Benchmark | Modalités | Type de shift | Usage |
|---|---|---|---|
| Shifts Dataset (NeurIPS 2021) | Tabulaire, traduction, véhicule | Shifts réels « in-the-wild » | Robustesse + estimation d’incertitude |
| Shifts 2.0 | IRM cérébrale, consommation maritime | Shifts réels haute criticité | Applications médicales et industrielles |
| WILDS (Stanford) | Images, graphes, texte | Shifts sous-groupes, domaine | Évaluation de la robustesse OOD |
| ImageNet-C / ImageNet-R | Images | Corruptions, rendus | Robustesse en vision |
| FMoW (satellite) | Images satellite | Shift temporel et géographique | Domain adaptation géospatiale |
Outils et frameworks pratiques
L’écosystème d’outils pour le monitoring et la correction du distributional shift s’est considérablement étoffé ces dernières années. Voici les principaux :
| Outil | Type | Fonctionnalités clés | Licence |
|---|---|---|---|
| NannyML | Monitoring ML | Estimation de performance sans labels, détection de drift | Open Source |
| Evidently AI | Monitoring ML | Reports de drift, tests statistiques, dashboards | Open Source |
| WhyLabs | Observabilité ML | Profiling de données, alertes drift, intégration MLOps | SaaS |
| Superwise | Observabilité ML | Monitoring multi-modèle, détection de concept drift | SaaS |
| dro (Python) | Librairie DRO | 14 formulations DRO, compatible scikit-learn et PyTorch | Open Source |
| Alibi Detect (Seldon) | Détection OOD/drift | Tests KS, MMD, classificateur de drift, détecteur online | Open Source |
Bonnes pratiques pour gérer le distributional shift
Phase de conception
Avant même de commencer à entraîner, posez-vous ces questions : vos données d’entraînement sont-elles représentatives de l’environnement de déploiement ? Quelles sources de shift sont prévisibles ? Le problème est-il causal (features → labels) ou anticausal (labels → features) ? Cette distinction est fondamentale car elle détermine le type de shift le plus probable et les stratégies de correction applicables.
Documentez les hypothèses sur la distribution des données. Identifiez les sous-groupes critiques. Prévoyez dès le départ un pipeline de monitoring. Trop de projets ML découvrent le problème du shift en production, quand il est déjà trop tard.
Monitoring en production
Mettez en place un monitoring multicouche. Au minimum : surveillance des distributions de features (drift univarié et multivarié), surveillance des sorties du modèle (distribution des prédictions, scores de confiance), et si les labels sont disponibles avec délai, surveillance des métriques de performance réelles. Définissez des seuils d’alerte calibrés sur des fenêtres glissantes pour éviter les faux positifs.
Protocole de réaction
Quand un drift est détecté, ne réentraînez pas aveuglément. D’abord, diagnostiquez : quel type de drift ? Quelle ampleur ? Quel impact sur la performance ? Certains drifts sont inoffensifs (virtual drift : la distribution change mais pas les performances). D’autres nécessitent une intervention immédiate. Définissez à l’avance un protocole de déploiement progressif (stratégie canary, blue-green, shadow testing) pour valider les nouveaux modèles avant un rollout complet.
Conception pour la robustesse
Intégrez la robustesse au shift dès l’entraînement. Utilisez la data augmentation pour exposer le modèle à des variations plausibles. Considérez la DRO ou la Group DRO pour des applications critiques. Entraînez sur des données diversifiées (multi-sites, multi-périodes, multi-conditions). L’estimation d’incertitude (ensembles, Monte Carlo dropout, prédiction conforme) permet au modèle de « savoir qu’il ne sait pas » face à des données inhabituelles.
Relation avec les concepts proches
Le distributional shift fait partie d’un écosystème de concepts interconnectés en ML :
La détection out-of-distribution traite le problème au niveau de l’exemple individuel : cette donnée spécifique est-elle hors distribution ? Le distributional shift, lui, concerne le changement global de la distribution.
La calibration d’un modèle se dégrade naturellement sous distributional shift. Un modèle bien calibré sur les données d’entraînement (ses probabilités prédites correspondent aux fréquences réelles) perdra cette propriété quand la distribution change.
L’estimation d’incertitude est un outil complémentaire : un modèle qui quantifie correctement son incertitude sera naturellement plus incertain sur des données hors distribution.
Le few-shot learning et l’apprentissage autosupervisé peuvent atténuer le problème en apprenant des représentations plus généralisables, moins dépendantes de la distribution spécifique d’entraînement.
Verdict
Le distributional shift est le problème le plus sous-estimé du machine learning en production. C’est la première cause de dégradation silencieuse des modèles déployés, et pourtant, la majorité des équipes ne mettent pas en place de monitoring adapté. Si votre modèle fonctionne parfaitement en validation mais que personne ne surveille les distributions en production, vous avez un problème, vous ne le savez juste pas encore.
La bonne nouvelle : l’outillage a considérablement mûri. Entre NannyML, Evidently AI, les méthodes DRO accessibles via Python, et les techniques de détection OOD, les praticiens n’ont plus d’excuse pour déployer un modèle en aveugle. La clé est de traiter le monitoring des distributions comme un citoyen de première classe dans votre pipeline MLOps, au même titre que les tests unitaires dans le développement logiciel. Surveillez vos distributions. Réentraînez quand c’est nécessaire. Concevez pour la robustesse. Et surtout, n’oubliez jamais : l’hypothèse i.i.d. est un mensonge utile, pas une vérité.
Questions fréquentes sur le distributional shift
Quelle est la différence entre distributional shift et concept drift ?
Le distributional shift est le terme générique qui englobe tout changement de distribution entre l’entraînement et la production. Le concept drift est un type spécifique de distributional shift où c’est la relation entre les entrées et les sorties qui change (P(Y|X)), pas simplement la distribution des entrées. Le concept drift est le plus difficile à détecter et à corriger car il signifie que les « règles du jeu » ont changé. Le covariate shift et le label shift sont les deux autres types principaux de distributional shift.
Comment détecter un distributional shift en production ?
Trois niveaux de détection sont recommandés. Premièrement, les tests statistiques univariés (Kolmogorov-Smirnov, chi-carré) sur chaque feature pour détecter les changements marginaux. Deuxièmement, les tests multivariés (MMD, classificateur de drift) pour capter les changements de corrélation. Troisièmement, le monitoring des performances réelles quand les labels deviennent disponibles. Des outils comme NannyML ou Evidently AI automatisent ces tests sur des fenêtres glissantes et déclenchent des alertes quand les seuils configurés sont dépassés.
Peut-on corriger un distributional shift sans données de la distribution cible ?
Partiellement. La Distributionally Robust Optimization (DRO) optimise le modèle pour qu’il résiste au pire shift possible dans un voisinage de la distribution d’entraînement, sans nécessiter de données de la cible. La data augmentation, l’entraînement sur des données diversifiées, et l’utilisation d’ensembles de modèles renforcent aussi la robustesse. Cependant, ces approches ne peuvent pas anticiper un concept drift radical. Pour les shifts sévères, des données de la distribution cible (même non labellisées) sont nécessaires pour une adaptation efficace.
Les LLM sont-ils affectés par le distributional shift ?
Oui, significativement. Les LLM montrent des performances dégradées quand les requêtes s’éloignent de la distribution des données d’instruction tuning. Des recherches récentes ont formalisé ce phénomène via la théorie de l’information (Effective Mutual Information) et montré que les safeguards d’alignement ne créent que des régions de sécurité locales dans l’espace des connaissances. Sous des shifts de distribution adversariaux, les connaissances potentiellement dangereuses du pré-entraînement peuvent resurgir, un phénomène qualifié d' »ethical drift ».
À quelle fréquence faut-il réentraîner un modèle pour contrer le shift ?
Il n’y a pas de réponse universelle. La fréquence de réentraînement dépend de la vitesse à laquelle la distribution change dans votre domaine. Un modèle de détection de fraude peut nécessiter un réentraînement hebdomadaire, tandis qu’un modèle d’imagerie médicale peut rester stable pendant des mois. L’approche recommandée est le réentraînement déclenché par le monitoring : réentraînez quand votre système de détection de drift signale un changement significatif et que l’impact sur les performances est confirmé. Évitez le réentraînement aveugle à calendrier fixe, qui gaspille des ressources quand il n’y a pas de shift et réagit trop tard quand il y en a un.