Ajuster une courbe en réduisant les erreurs
Beaucoup de modèles sont des courbes à quelques paramètres, et ajuster signifie choisir les paramètres qui rapprochent la courbe des données. scipy.optimize.least_squares(fun, x0) le fait. On écrit fun(p), qui renvoie le vecteur des résidus, un par donnée, où un résidu est la valeur du modèle moins la valeur observée. La fonction minimise alors le coût . Elle part de votre estimation x0 et avance grâce au jacobien , le tableau qui dit comment chaque résidu change quand chaque paramètre change. Un pas de Gauss–Newton résout , puis déplace les paramètres de . Pour un modèle linéaire en ses paramètres, un seul pas tombe sur la réponse. bounds=(bas, haut) garde les paramètres dans une plage raisonnable. curve_fit est une enveloppe plus simple qui prend directement le modèle .
Les erreurs au carré laissent un point fou dominer : un résidu de compte pour . Une perte robuste croît plus lentement pour les grands résidus. Avec loss='soft_l1' et f_scale=1, la pénalité est , où est le résidu au carré. L'ajustement des courbes de taux en est l'usage classique. La courbe de Nelson–Siegel est . Elle a un niveau de long terme , une pente , une bosse et une longueur de décroissance en années, et quatre nombres décrivent toute la courbe. Après l'ajustement, le niveau de bruit est estimé par , avec points et paramètres.
soft_l1. Sur données réelles, une courbe de Nelson–Siegel ajustée par least_squares aux dix rendements du Trésor du 9 octobre 2026 (3 mois à 30 ans) a un niveau de , une pente de (la courbe monte avec l'échéance) et ans, et s'écarte des rendements cotés de seulement points de base en moyenne, et de au pire. Ajuster paramètres à points avec laisse degrés de liberté et .- Résidus en entrée, paramètres en sortie :
fun(p)renvoie modèle moins données, etleast_squaresréduit la somme des carrés. - Perte robuste pour les valeurs aberrantes :
soft_l1empêche un point fou d'entraîner toute la courbe. - Quatre nombres pour une courbe : Nelson–Siegel résume une courbe de taux par un niveau, une pente, une bosse et une longueur de décroissance.
Lab : ce qui est noté
- Une pente par l'origine10 pts
- Un pas de Gauss–Newton15 pts
- Une pénalité robuste15 pts
- Le niveau de bruit après un ajustement10 pts
- Les arguments de least_squares10 pts
- Un flux d'ajustement de courbe10 pts
- Pourquoi une perte robuste30 pts