Polydesk-logotype
Polydesk.ai — Header

Conformal Prediction (Prédiction Conforme)

La conformal prediction (CP) est un cadre statistique qui transforme les prédictions ponctuelles de n’importe quel modèle de machine learning en ensembles de prédiction (pour la classification) ou en intervalles de prédiction (pour la régression) accompagnés d’une garantie mathématique de couverture.

Concrètement, si vous fixez un niveau de confiance de 90 %, la conformal prediction garantit que l’intervalle ou l’ensemble produit contiendra la vraie valeur au moins 90 % du temps, et ce sans aucune hypothèse sur la distribution des données ni sur la qualité du modèle sous-jacent. C’est une garantie « distribution-free » à échantillon fini, ce qui la distingue fondamentalement des intervalles de confiance classiques qui nécessitent des hypothèses de normalité ou asymptotiques.

Cette propriété explique la popularité explosive de la CP en 2025-2026. Un survey publié dans ACM Computing Surveys (2026) la qualifie de « cadre de référence pour la quantification d’incertitude distribution-free des modèles boîte noire ». Elle s’applique à tout modèle (réseau de neurones, random forest, LLM) sans réentraînement et avec un coût computationnel quasi nul.

Conformal Prediction en bref
Catégorie
Cadre statistique pour la quantification d’incertitude
Propriété clé
Garantie de couverture à échantillon fini, distribution-free
Hypothèse requise
Échangeabilité des données (plus faible que i.i.d.)
Variantes
Split CP, Full CP, CQR, Jackknife+, Online CP, VRCP
Applications
Estimation d’incertitude, médecine, science, LLM, conduite autonome

Le principe en trois étapes

Split Conformal Prediction

La variante la plus utilisée (et la plus simple) est la Split Conformal Prediction. Elle fonctionne en trois étapes :

Étape 1 : entraîner le modèle sur un jeu d’entraînement D_train. N’importe quel modèle fait l’affaire (réseau de neurones, XGBoost, random forest, LLM).

Étape 2 : calibrer sur un jeu de calibration D_cal (séparé de D_train). Pour chaque point (xᵢ, yᵢ) dans D_cal, calculer un score de non-conformité sᵢ qui mesure l’erreur du modèle. En régression, le score typique est le résidu absolu : sᵢ = |yᵢ – ŷᵢ|. En classification, c’est 1 – p(yᵢ | xᵢ), la complémentaire de la probabilité attribuée à la vraie classe.

Étape 3 : prédire sur un nouveau point x_test. Calculer le quantile q au niveau (1-α)(1 + 1/n) des scores de calibration, où α est le taux d’erreur toléré (ex. : 0.10 pour 90 % de couverture) et n est la taille du set de calibration. L’intervalle de prédiction est [ŷ – q, ŷ + q] en régression. L’ensemble de prédiction en classification contient toutes les classes dont le score est inférieur à q.

La garantie est la suivante : si les données de calibration et de test sont échangeables (i.i.d. est un cas particulier d’échangeabilité), alors la probabilité que l’intervalle contienne la vraie valeur est au moins 1 – α. C’est une garantie marginale (sur tous les points de test possibles), pas conditionnelle (pour chaque point individuel).

Pourquoi ça marche ? L’échangeabilité suffit La preuve est élégante. Les scores de non-conformité de calibration et le score du point de test sont échangeables (ils suivent la même distribution). Donc le score de test a la même probabilité de tomber à n’importe quel rang parmi les n+1 scores. La probabilité qu’il soit dans les (1-α) scores les plus faibles est donc au moins 1-α. C’est tout. Aucune hypothèse sur la forme de la distribution.

Les scores de non-conformité

Le choix du score de non-conformité détermine la forme et la qualité des intervalles produits :

Résidu absolu : s = |y – ŷ|. Produit des intervalles de largeur constante. Simple mais pas adaptatif (même largeur que l’entrée soit facile ou difficile à prédire).

Résidu studentisé : s = |y – ŷ| / σ̂(x), où σ̂(x) est une estimation de la dispersion locale. Produit des intervalles de largeur variable : plus larges dans les régions incertaines, plus étroits dans les régions bien prédites. C’est la version recommandée en pratique.

CQR (Conformalized Quantile Regression) : le modèle prédit directement les quantiles inférieurs et supérieurs (ex. : q₅% et q₉₅%), et la CP ajuste ces quantiles sur le set de calibration. Produit des intervalles asymétriques et adaptatifs, souvent les plus informatifs.

Score softmax (classification) : s = 1 – p̂(y_true | x). Les classes avec une probabilité élevée ont un score faible et sont incluses dans l’ensemble de prédiction. Un modèle bien calibré produira des ensembles plus petits (plus informatifs). Les variantes incluent l’APS (Adaptive Prediction Sets) qui ordonne les classes par probabilité décroissante et accumule les classes jusqu’à atteindre le seuil, produisant des ensembles de taille adaptative.

Le choix du score a un impact majeur sur l’informativité des intervalles/ensembles. La garantie de couverture est valide quel que soit le score choisi, mais un meilleur score produit des intervalles plus étroits (en régression) ou des ensembles plus petits (en classification). L’objectif est toujours le même : obtenir les prédictions les plus précises possibles, puis quantifier honnêtement l’incertitude restante via la CP.

Implémentation Python

import numpy as np
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split

def split_conformal_prediction(X, y, alpha=0.1, test_size=0.2):
    """Split Conformal Prediction pour la régression."""
    # Séparer train, calibration, test
    X_temp, X_test, y_temp, y_test = train_test_split(X, y, test_size=test_size)
    X_train, X_cal, y_train, y_cal = train_test_split(X_temp, y_temp, test_size=0.25)

    # Étape 1 : Entraîner le modèle
    model = RandomForestRegressor(n_estimators=100, random_state=42)
    model.fit(X_train, y_train)

    # Étape 2 : Calculer les scores de non-conformité sur la calibration
    y_cal_pred = model.predict(X_cal)
    scores = np.abs(y_cal - y_cal_pred)

    # Quantile ajusté : niveau (1-alpha)(1 + 1/n)
    n = len(scores)
    q_level = np.ceil((1 - alpha) * (n + 1)) / n
    q_hat = np.quantile(scores, min(q_level, 1.0))

    # Étape 3 : Prédire avec intervalles
    y_test_pred = model.predict(X_test)
    lower = y_test_pred - q_hat
    upper = y_test_pred + q_hat

    # Vérifier la couverture empirique
    coverage = np.mean((y_test >= lower) & (y_test <= upper))
    avg_width = np.mean(upper - lower)

    return coverage, avg_width, q_hat

# Exemple avec données synthétiques
np.random.seed(42)
X = np.random.randn(1000, 5)
y = X[:, 0] * 2 + X[:, 1] + np.random.randn(1000) * 0.5

cov, width, q = split_conformal_prediction(X, y, alpha=0.1)
print(f"Couverture empirique : {cov:.1%} (cible : 90%)")
print(f"Largeur moyenne des intervalles : {width:.3f}")
print(f"Quantile conformal : {q:.3f}")

La librairie mapie (pip install mapie) fournit une implémentation complète de la CP pour scikit-learn, incluant Split CP, Jackknife+, CQR, et la CP pour la classification.

Variantes avancées

Full Conformal Prediction

Au lieu de séparer les données en train et calibration, la Full CP réentraîne le modèle pour chaque valeur candidate de la cible du point de test. C’est théoriquement optimal (pas de perte de données) mais computationnellement prohibitif (réentraîner pour chaque candidat). La Split CP est presque toujours préférée en pratique.

Jackknife+

Jackknife+ (Barber et al., 2021) contourne le dilemme split/full. Il entraîne n modèles leave-one-out et utilise les résidus pour construire des intervalles, avec une garantie de couverture à échantillon fini. C’est un bon compromis entre efficacité des données et coût computationnel, surtout quand les données sont limitées.

Conformalized Quantile Regression (CQR)

CQR (Romano et al., 2019) combine la régression quantile avec la CP. Le modèle apprend les quantiles conditionnels (ex. : q₅% et q₉₅%), puis la CP ajuste ces quantiles sur le set de calibration pour garantir la couverture marginale. Le résultat : des intervalles adaptatifs (largeur variable selon l’entrée) avec une garantie de couverture exacte.

Online Conformal Prediction

Pour les données séquentielles (séries temporelles, flux de données), l’hypothèse d’échangeabilité ne tient pas. Les méthodes d’Online CP adaptent le seuil au fil du temps pour maintenir la couverture cible même sous distribution shift. Des travaux récents (ICML 2025) établissent des connexions formelles entre la CP online et le no-regret learning, montrant que les algorithmes de type Follow-the-Regularized-Leader garantissent la couverture conditionnelle par groupe en environnements adversariaux.

VRCP : Conformal Prediction adversarial

VRCP (Verifiably Robust Conformal Prediction, 2025) utilise la vérification formelle de réseaux de neurones pour récupérer les garanties de couverture de la CP sous attaques adversariales. C’est la première méthode à supporter les perturbations bornées par des normes arbitraires et les tâches de régression, produisant des régions de prédiction significativement plus étroites que l’état de l’art tout en maintenant la couverture.


Limites et pièges

Couverture marginale vs conditionnelle : la garantie standard de la CP est marginale (moyenne sur tous les points de test), pas conditionnelle (valide pour chaque point individuellement). Un ensemble qui couvre 90 % en moyenne peut couvrir 99 % sur les cas faciles et seulement 70 % sur les cas difficiles. Des travaux récents (Gibbs et al., Stanford) et des méthodes basées sur les trust scores (ICLR 2025) visent à améliorer la couverture conditionnelle, mais la couverture conditionnelle exacte distribution-free est impossible en échantillon fini.

Taille des ensembles de prédiction : la CP ne contrôle pas directement la taille des ensembles. Avec un mauvais modèle sous-jacent, les ensembles peuvent contenir presque toutes les classes (peu informatif). Un bon modèle produit des ensembles plus petits. La CP n’améliore pas le modèle, elle quantifie honnêtement son incertitude.

Échangeabilité : la garantie de couverture suppose l’échangeabilité des données. Sous distribution shift (les données de test diffèrent des données de calibration), la couverture peut être violée. Les méthodes d’Online CP et de CP pondérée atténuent ce problème.

Prédictions multiples : appliquer la CP à de nombreux points de test simultanément pose un problème de multiplicité : la couverture marginale ne contrôle pas le False Coverage Proportion (proportion de points non couverts). CoJER (NeurIPS 2025) propose un contrôle rigoureux du FCP en probabilité.

La CP n’est pas une alternative aux BNN, c’est un complément Les BNN et les deep ensembles estiment l’incertitude mais sans garantie formelle de couverture. La CP fournit la garantie mais ne décompose pas l’incertitude en aléatoire/épistémique. L’approche optimale combine les deux : un BNN ou un ensemble pour l’estimation d’incertitude, puis la CP comme « couche de conformisation » pour calibrer les intervalles avec une garantie théorique.

Applications en 2026

Médecine : des intervalles de prédiction conformes pour les diagnostics IA garantissent que le vrai diagnostic est inclus avec une probabilité contrôlée, permettant au médecin de considérer un ensemble restreint de possibilités plutôt qu’une prédiction unique potentiellement fausse.

Découverte de médicaments : la CP sur les prédictions d’affinité de liaison permet de trier les candidats médicaments avec des garanties statistiques, évitant de rejeter des composés prometteurs sur la base de prédictions ponctuelles incertaines.

Sécurité IA : quand un modèle de classification produit un ensemble conformal contenant une seule classe, on peut être confiant. Quand l’ensemble contient plusieurs classes, c’est un signal d’incertitude qui peut déclencher une intervention humaine ou un comportement conservateur.

Science et ingénierie : la CP fournit les barres d’erreur que la communauté scientifique exige pour accepter des prédictions ML. Des travaux récents étendent les garanties aux petits jeux de calibration fréquents dans les applications de modèles surrogate.

LLM et génération de texte : la CP peut produire des ensembles de réponses possibles pour un LLM avec garantie que la « bonne » réponse est incluse. Pour les tâches extractives (question-answering), les ensembles conformes contiennent les passages pertinents avec une probabilité contrôlée. Pour la traduction automatique, les intervalles conformes sur des métriques comme BLEU ou COMET quantifient la fiabilité de chaque traduction. C’est un axe de recherche actif avec des applications directes dans les pipelines d’IA de production où la fiabilité est contractuellement garantie.

Finance : les intervalles de prédiction conformes pour les modèles de risque (VaR, Expected Shortfall) offrent des garanties de couverture sans hypothèse de normalité. Dans le scoring de crédit, la CP produit des ensembles de décision (« approuver », « rejeter », « revue manuelle ») dont la couverture est garantie. L’avantage réglementaire est significatif : les régulateurs acceptent plus facilement des modèles accompagnés de garanties statistiques formelles.

Conduite autonome : un système de perception qui produit des ensembles conformes de détections (« cet objet est un piéton ou un cycliste avec 95 % de couverture ») permet au planificateur de trajet de prendre des décisions conservatrices quand l’ensemble contient des classes à risque. C’est la combinaison de la CP avec la détection out-of-distribution qui fournit les garanties les plus robustes pour les systèmes de sécurité critique.


Questions fréquentes sur la conformal prediction

La conformal prediction améliore-t-elle le modèle ?

Non. La CP ne modifie pas le modèle ni ses prédictions. Elle ajoute une couche de quantification d’incertitude par-dessus. Un mauvais modèle avec CP produira des intervalles très larges (peu informatifs) mais avec la couverture garantie. Un bon modèle avec CP produira des intervalles étroits et informatifs. La CP est un outil de communication honnête de l’incertitude, pas un outil d’amélioration de performance.

Quelle taille de jeu de calibration est nécessaire ?

La garantie de couverture est valide pour tout n ≥ 1, mais la qualité pratique dépend de n. Avec n petit (quelques dizaines), les intervalles seront larges et conservateurs. Une règle empirique : n ≥ 500 pour des intervalles informatifs en régression, n ≥ 100 par classe pour la classification. Des travaux récents (2025) proposent des garanties probabilistes améliorées pour les petits jeux de calibration.

La conformal prediction fonctionne-t-elle pour les LLM ?

Oui, avec des adaptations. Pour les tâches de classification (QA à choix multiples, NLI), la CP standard s’applique directement sur les logits du LLM. Pour la génération libre, les scores de non-conformité peuvent être basés sur la log-vraisemblance du texte ou sur des métriques sémantiques. L’enjeu est de définir un score de non-conformité pertinent pour des sorties en langage naturel, ce qui reste un axe de recherche actif.

Quelle est la différence entre conformal prediction et calibration ?

La calibration ajuste les probabilités prédites pour qu’elles correspondent aux fréquences observées (un score de 80 % devrait correspondre à 80 % de bonnes prédictions). La CP produit des ensembles/intervalles avec une garantie de couverture. La calibration est une propriété du modèle (ses probabilités sont-elles fiables ?). La CP est une propriété des prédictions (les intervalles couvrent-ils la vraie valeur ?). Un modèle bien calibré produira des ensembles conformes plus petits, mais la CP fonctionne même avec un modèle mal calibré.

Quelles librairies utiliser en Python ?

mapie (compatible scikit-learn) est la librairie la plus complète pour la CP en Python, supportant Split CP, Jackknife+, CQR, et la classification. crepes est une alternative légère. nonconformist est la librairie historique. Pour des implémentations plus avancées (CP online, CQR avec réseaux de neurones), l’implémentation manuelle en quelques lignes (comme dans l’exemple ci-dessus) est souvent la plus flexible.

Polydesk.ai — Footer