Comprendre Spline
Une spline est ce que l’on obtient en ajustant un polynôme de bas degré distinct dans chaque région d’un prédicteur, puis en exigeant que les morceaux se rejoignent proprement. Laissés sans contraintes, les morceaux divergent aux frontières : ajuster quatre cubiques indépendantes à deux cents points simulés avec des nœuds en 40, 50 et 60 produit des sauts d’environ 6,3, 5,5 et 6,3 unités dans la valeur ajustée. Exiger la continuité, une dérivée première continue et une dérivée seconde continue supprime ces sauts, et chaque contrainte coûte exactement un degré de liberté, faisant passer une cubique par morceaux à un nœud de huit paramètres à cinq.
La forme pratique est un modèle à fonctions de base : l’ajustement ne quitte donc jamais les moindres carrés ordinaires. En partant de x, x² et x³, ajoutez une colonne de puissance tronquée (x − ξ)³ pour x au-dessus du nœud et zéro sinon, à raison d’une par nœud. Ajouter une telle colonne ne change que la dérivée troisième en ce nœud, laissant la valeur, la pente et la courbure continues, et c’est pourquoi les contraintes n’ont pas à être imposées séparément. Une spline cubique à K nœuds est par conséquent une régression sur K + 4 colonnes et, comme une discontinuité de la dérivée troisième est invisible à l’œil, le degré trois est le choix conventionnel.
Les splines sont peu fiables aux bords des données, où une cubique n’a d’observations que d’un seul côté et est libre d’osciller. Une spline naturelle ajoute l’exigence que la fonction soit linéaire au-delà des nœuds extrêmes, soit deux contraintes à chaque extrémité, ce qui ramène un ajustement à K nœuds à K degrés de liberté et rétrécit sensiblement les bandes de confiance à cet endroit. Les nœuds sont d’ordinaire placés aux quantiles uniformes du prédicteur observé, de sorte que la résolution suive les données, le nombre étant choisi par validation croisée. À degrés de liberté égaux, une spline l’emporte sur un polynôme parce que sa souplesse est locale : un polynôme élève son degré globalement et oscille fortement dans les queues.
Une spline de lissage abandonne complètement la sélection des nœuds. Elle minimise la somme des carrés des résidus plus une pénalité λ fois l’intégrale du carré de la dérivée seconde, mesure directe de rugosité qui vaut zéro pour une droite. Le minimiseur se révèle être une spline cubique naturelle avec un nœud à chaque observation distincte, rétrécie par λ. Son nombre nominal de paramètres est donc n, mais la mesure qui a du sens est celle des degrés de liberté effectifs, qui tombent de n vers 2 à mesure que λ grandit ; à grand λ, l’ajustement reproduit exactement la droite des moindres carrés. La régression locale parvient à des fins voisines en ajustant une régression pondérée en chaque point cible, gouvernée par une fenêtre, et les modèles additifs généralisés transportent toute l’idée vers plusieurs prédicteurs en donnant à chacun sa propre courbe et en les additionnant.
Comment calculer
f(x) = β₀ + β₁x + β₂x² + β₃x³ + Σₖ βₖ₊₃ (x − ξₖ)³₊
où
- ξₖ
- le k-ième nœud, un point où les morceaux polynomiaux se raccordent
- (x − ξ)³₊
- la fonction de base de puissance tronquée : (x − ξ)³ quand x dépasse le nœud, zéro sinon
- K + 4
- le nombre de coefficients, et donc les degrés de liberté d’une spline cubique à K nœuds
- λ ∫ g″(t)² dt
- la pénalité de rugosité d’une spline de lissage, qui remplace le choix des nœuds par un paramètre de lissage
Exemple : Spline
Prenez f(x) = 1 + 2x − 0,05x² + 0,001x³ + 0,004(x − 50)³₊ et différenciez-la de part et d’autre du nœud en 50. Les sauts de la valeur, de la dérivée première et de la dérivée seconde valent 9 × 10⁻⁴, 4 × 10⁻⁵ et 4 × 10⁻⁶, c’est-à-dire du bruit numérique, tandis que la dérivée troisième saute de 0,024, exactement 6 × 0,004.
Ajuster une spline cubique avec des nœuds en 40, 50 et 60 à deux cents points simulés est un problème de moindres carrés à sept colonnes, K + 4 = 3 + 4. Différencier la courbe ajustée à chaque nœud donne des sauts d’ordre 10⁻⁴ ou moins, contre des sauts de plus de six unités pour l’ajustement par morceaux sans contraintes sur les mêmes données.
Sur les mêmes données, une spline de lissage avec un nœud à chaque point a 186,2 degrés de liberté effectifs à λ = 10⁻⁶, chutant à 2,06 à λ = 10⁶ et à exactement 2,00 à λ = 10¹⁸, où sa somme des carrés des résidus rejoint au centime près celle de la droite des moindres carrés ordinaires, 12 850,75.
Avantages et inconvénients
Avantages
- S’ajuste par moindres carrés ordinaires : tous les outils d’inférence du modèle linéaire s’appliquent encore.
- La souplesse est locale : les queues restent stables là où les ajustements polynomiaux ne le sont pas.
- Un unique paramètre de réglage, le nombre de nœuds ou la pénalité de rugosité, contrôle le compromis biais-variance.
Inconvénients
- Le nombre et le placement des nœuds sont des choix supplémentaires, tranchés d’ordinaire par validation croisée plutôt que par la théorie.
- Une spline naturelle achète la stabilité au bord en supposant que la relation se redresse au-delà des données.
- Avec de nombreux prédicteurs, la base grossit vite, et les modèles additifs excluent les interactions tant qu’on ne les ajoute pas explicitement.
Questions fréquentes
Pourquoi le degré trois plutôt qu’un autre ?
Parce qu’une spline cubique est continue en valeur, en pente et en courbure, et que seule la dérivée troisième saute à un nœud. Cette discontinuité n’est pas perceptible : le degré trois est donc le plus bas qui paraisse parfaitement lisse. Rien n’interdit d’autres degrés : une spline linéaire est continue avec des angles autorisés, et un ajustement constant par morceaux est une spline de degré zéro.
En quoi une spline de lissage diffère-t-elle d’une spline de régression ?
Une spline de régression part d’un petit ensemble de nœuds que vous choisissez et s’ajuste par moindres carrés. Une spline de lissage place un nœud à chaque observation distincte et contrôle la souplesse par une pénalité de rugosité à la place. La seconde supprime la décision de placement des nœuds et la remplace par le réglage de λ, d’ordinaire par validation croisée.
Quand préférer un GAM à une méthode pleinement souple ?
Quand vous devez expliquer l’ajustement. Parce que les contributions s’ajoutent, la courbe de chaque prédicteur peut être tracée et lue seule, les autres étant maintenus fixes. Renoncez-y et des méthodes comme le boosting ou une SVM à noyau captent des interactions hors de portée d’un GAM, mais vous perdez la possibilité de dire ce que fait un prédicteur pris isolément.
En résumé
Une spline conserve les moindres carrés et change les colonnes : des polynômes par morceaux reliés aux nœuds, avec une colonne de puissance tronquée par nœud qui impose gratuitement la régularité. Elle achète une souplesse locale sans les queues sauvages d’un polynôme, et une spline de lissage va plus loin en remplaçant le choix des nœuds par une pénalité de rugosité dont les degrés de liberté effectifs vont de n jusqu’à une droite.