Interpolation
Pourquoi apprendre ça ?
L'interpolation consiste à trouver une fonction qui passe exactement par un ensemble de points donnés. C'est fondamental en ingénierie : on a des mesures discrètes (température, pression, position à des instants précis) et on veut estimer les valeurs intermédiaires. Le choix de la méthode d'interpolation affecte profondément la qualité de l'estimation — et certains choix naïfs peuvent produire des résultats catastrophiques.
Analogie
Tu as des photos d'un mouvement à 0s, 1s, 2s, 3s. L'interpolation te donne une estimation du mouvement à 0,5s ou 1,7s. Interpolation linéaire : relier les photos par des lignes droites. Polynôme de Lagrange : trouver une courbe lisse passant par tous les points. Splines : raccorder des morceaux de courbes lisses avec des "charnières" élastiques — comme un rail flexible qui épouse parfaitement chaque point de contrôle sans jamais vibrer.
Interpolation linéaire
Théorie
L'interpolation linéaire entre deux points et donne :
Erreur : où — exacte pour les fonctions linéaires.
C'est la méthode la plus simple : relier les points par des segments de droite. Rapide mais peut produire des angles aux points de données (non dérivable aux nœuds).
Interpolation linéaire de sin(x)
On connaît et .
Interpolation linéaire en :
Valeur exacte :
Erreur : — significative car est très courbé sur cet intervalle.
Polynôme de Lagrange
Théorie
Le polynôme de Lagrange est le polynôme de degré qui passe exactement par points :
où les polynômes de base de Lagrange sont :
Propriété : (vaut 1 si , 0 sinon).
Existence et unicité : il existe un unique polynôme de degré passant par points distincts.
Polynôme de Lagrange pour 3 points
Points : , , .
Vérification : ✓, ✓, ✓.
Checkpoint
Combien de points distincts faut-il pour déterminer de façon unique un polynôme de degré au plus 4 ?
Phénomène de Runge
Théorie
Phénomène de Runge : interpoler avec un polynôme de degré élevé sur des nœuds uniformément espacés peut produire de grandes oscillations aux bords de l'intervalle — même si la fonction interpolée est parfaitement lisse.
Exemple canonique : la fonction sur . Avec nœuds équidistants :
- Pour : approximation acceptable
- Pour : oscillations visibles aux bords
- Pour : oscillations dépassant 10 en amplitude, alors que partout
Cause mathématique : l'erreur d'interpolation est proportionnelle au produit . Pour des nœuds uniformes, ce produit croît très vite aux bords — les nœuds sont trop écartés là où la fonction varie le plus.
Solution — Nœuds de Chebyshev : utiliser les zéros du polynôme de Chebyshev de degré sur :
Ces nœuds sont plus denses aux bords qu'au centre. Ils minimisent , ce qui garantit la convergence de l'interpolation pour les fonctions continues.
Résultat : avec des nœuds de Chebyshev, l'interpolation polynomiale converge pour la fonction de Runge, là où les nœuds uniformes divergent.
Nœuds uniformes vs Chebyshev sur f(x) = 1/(1+25x²)
Avec 11 points sur :
Nœuds uniformes : pour . Erreur maximale aux bords () : peut dépasser 2 unités, alors que . Augmenter aggrave les oscillations.
Nœuds de Chebyshev : — concentrés près de . Erreur maximale : de l'ordre de — uniforme, sans oscillations parasites. Converge quand augmente.
Règle pratique : si les nœuds sont librement choisis, toujours préférer Chebyshev à des nœuds uniformes pour les polynômes globaux de degré .
Checkpoint
Le phénomène de Runge montre que l'interpolation polynomiale de degré élevé avec des nœuds uniformes :
Interpolation par morceaux — Splines cubiques
Théorie
Plutôt qu'un seul polynôme de degré élevé sur tout l'intervalle, les splines cubiques raccordent des polynômes de degré 3 sur chaque sous-intervalle , avec des conditions de régularité aux nœuds.
Conditions imposées sur chaque nœud intérieur :
- Continuité de : les morceaux adjacents se rejoignent
- Continuité de : pas d'angle (tangentes identiques des deux côtés)
- Continuité de : courbure continue (la spline est de classe )
Ces conditions intérieures, combinées aux coefficients des polynômes cubiques (4 coefficients chacun), nécessitent 2 conditions supplémentaires aux bords.
Conditions aux bords (choix courants) :
- Spline naturelle : — courbure nulle aux extrémités
- Spline "not-a-knot" : continuité de aux deux premiers et deux derniers nœuds (défaut dans NumPy/SciPy)
- Spline périodique : et — pour les données périodiques
Résolution : le système résultant est tridiagonal et se résout en par l'algorithme de Thomas.
Erreur : pour — même ordre que Simpson.
Avantages des splines cubiques :
- Évite complètement le phénomène de Runge
- Lisse () : courbe visuellement agréable sans angle ni discontinuité de courbure
- Standard industriel en CAO, animation 3D, typographie (courbes de Bézier, B-splines)
Splines cubiques vs Lagrange — comparaison chiffrée
Pour sur avec 11 nœuds équidistants :
Polynôme de Lagrange degré 10 : erreur pouvant atteindre plusieurs unités aux bords — inutilisable.
Spline cubique naturelle : erreur uniforme — 10 000 fois plus précise, sans oscillation.
Erreur théorique :
Usage en design : AutoCAD, Blender, FontForge utilisent des splines cubiques (B-splines, courbes de Bézier cubiques) pour garantir des courbes visuellement lisses. Chaque point de contrôle est un nœud de spline.
Piège : extrapolation vs interpolation
L'interpolation estime des valeurs ENTRE les points de données — relativement fiable. L'extrapolation estime des valeurs EN DEHORS de l'intervalle — dangereuse ! Un polynôme interpolateur diverge très rapidement hors de l'intervalle. Les splines cubiques sont encore pires en extrapolation (comportement cubique non borné). Ne jamais extrapoler sans vérification soigneuse.
Applications en machine learning
Théorie
L'interpolation trouve des applications directes dans les pipelines de machine learning :
1. Resampling de séries temporelles
Les séries temporelles mesurées à des fréquences irrégulières doivent souvent être ramenées à une grille temporelle uniforme :
- Données de capteurs avec timestamps irréguliers → spline pour uniformiser
- Fusion de sources à fréquences différentes (10 Hz et 100 Hz) → rééchantillonnage
- Imputation de valeurs manquantes dans une série temporelle
2. Feature engineering
Transformer des données discrètes en features continues et lisses pour améliorer la généralisation d'un modèle :
- Encodage d'une variable ordinale (âge) en courbe de risque continue par spline
- Lissage de signaux bruités avant extraction de features
- Normalisation de courbes à longueurs variables (DTW, interpolation sur grille commune)
3. Augmentation de données
Interpoler entre des exemples d'entraînement pour créer des exemples synthétiques — technique Mixup :
Variante SMOTE (Synthetic Minority Over-sampling) : interpolation linéaire dans l'espace des features entre voisins proches de la classe minoritaire.
4. Encodage positionnel dans les transformers
Les embeddings positionnels peuvent être interpolés pour généraliser à des séquences de longueurs non vues à l'entraînement (RoPE, ALiBi utilisent des formes d'interpolation).
Resampling d'une série temporelle par splines cubiques
Un capteur enregistre des valeurs à des instants irréguliers :
, valeurs .
Pour un modèle LSTM qui exige des entrées régulières à :
- Ajuster une spline cubique sur les 5 points mesurés
- Évaluer la spline aux 6 instants réguliers souhaités
- Résultat : série temporelle uniforme, , sans distorsion de phase
Pourquoi pas l'interpolation linéaire ? Elle introduit des "coudes" (discontinuités de ) qui peuvent perturber le calcul des gradients lors de l'entraînement et produire de faux patterns dans la série.
En Python : scipy.interpolate.CubicSpline(t_mesure, y)(t_regulier) — une ligne.
Checkpoint
Dans un pipeline ML, on dispose de séries temporelles à fréquence irrégulière. Quelle méthode de resampling est recommandée pour obtenir une grille uniforme sans discontinuités de dérivée ?
Checkpoint
Quelle propriété fondamentale distingue les splines cubiques du polynôme de Lagrange global ?
À retenir
- Lagrange : unique polynôme de degré passant par points — risque d'oscillations (Runge) pour élevé avec nœuds uniformes
- Phénomène de Runge : solution — nœuds de Chebyshev (plus denses aux bords) ou interpolation par morceaux
- Splines cubiques : polynômes degré 3 par morceaux, classe , erreur , évitent Runge — standard en CAO et animation
- ML : splines pour resampling de séries temporelles irrégulières, Mixup/SMOTE pour augmentation de données
- Toujours préférer les splines à Lagrange dès que sur nœuds uniformes