Fonctions de base et polynômes par morceaux
Une seule idée couvre la régression polynomiale et la régression en escalier, et s’étend à tout ce que vous savez écrire : transformez le prédicteur, puis ajustez un modèle linéaire sur les colonnes transformées.
La régression linéaire suppose que l’effet d’un prédicteur suit une droite. Quand ce n’est pas le cas, l’instinct habituel est d’aller chercher un autre algorithme. Il existe un geste moins coûteux : garder les moindres carrés et changer ce sur quoi vous régressez.
L’idée des fonctions de base
Choisissez une famille de transformations de , fixées et connues à l’avance :
puis ajustez
Deux méthodes familières en sont des cas particuliers.
- La régression polynomiale prend .
- Les fonctions en escalier découpent l’intervalle en et prennent , un indicateur qui vaut 1 à l’intérieur de la classe et 0 en dehors. C’est un ajustement constant par morceaux, prisé là où existent des points de rupture naturels - des tranches d’âge de cinq ans, par exemple - et médiocre là où il n’y en a pas, puisqu’une classe ne peut montrer aucune tendance en son sein.
Le mot décisif est fixées. Les sont choisies avant l’ajustement, elles ne sont pas estimées : le modèle est donc un modèle linéaire dans les colonnes transformées. Les moindres carrés s’appliquent sans changement, et tout ce qui est bâti dessus aussi : erreurs types, statistiques , intervalles de confiance. Vous avez acheté de la courbure sans quitter le modèle linéaire.
Polynômes par morceaux
Au lieu d’un unique polynôme global, ajustez un polynôme de bas degré distinct dans chaque région. Placez des nœuds le long de l’intervalle et ajustez cubiques, une par région. Avec un nœud unique en :
Chaque morceau est un ajustement cubique ordinaire sur son propre sous-échantillon. Deux cubiques, quatre paramètres chacune : huit degrés de liberté.
Ce qui ne va pas
Rien n’oblige les deux morceaux à s’accorder au nœud, et ils ne s’accordent pas. En ajustant cela sur 200 points simulés avec des nœuds en 40, 50 et 60 - quatre cubiques, seize paramètres - la valeur ajustée saute à chaque nœud, chaque saut étant calculé avant arrondi :
Ce ne sont pas des artefacts d’arrondi. La courbe est réellement discontinue et, comme description d’une relation lisse, elle n’a aucun sens.
S'exécute dans votre navigateur. La première exécution télécharge l'environnement Python (~10 Mo), puis il est mis en cache.
Les contraintes, et ce qu’elles coûtent
Le remède n’est pas moins de nœuds mais des contraintes. Exigez que les morceaux se rejoignent :
- La continuité au nœud. Le raccord en V que cela produit a encore mauvaise allure.
- La continuité de la dérivée première - pas d’angle.
- La continuité de la dérivée seconde - aucun changement visible de courbure.
Chaque contrainte supprime un paramètre libre. En partant de huit avec un nœud :
Le résultat est une spline cubique. En général, une spline cubique à nœuds utilise
degrés de liberté, car chaque nœud supplémentaire ajoute une cubique (quatre paramètres) et trois contraintes, soit un coût net de un.
La définition générale. Une spline de degré est un polynôme de degré par morceaux dont les dérivées jusqu’à l’ordre sont continues à chaque nœud. Une spline linéaire est continue avec des angles autorisés ; les fonctions constantes par morceaux ci-dessus sont des splines de degré 0, où même la continuité est abandonnée.
Le degré trois est le choix usuel pour une raison simple : une discontinuité de la dérivée troisième n’est pas quelque chose que l’œil sache détecter.
Voici cette comptabilité sous forme de cadran, appliquée aux deux cents points ci-dessus. À zéro contrainte, les quatre cubiques sautent des trois valeurs du tableau ; chaque contrainte retire ensuite un paramètre par nœud, et le compte parcourt 16, 13, 10, 7 pour s’arrêter au K + 4 d’une spline cubique.
Deux choses que la figure montre et que l’argument ci-dessus omet. Ces neuf paramètres n’achètent presque rien : la somme des carrés résiduels ne monte que de moins de trois pour cent sur tout le trajet, si bien que les contraintes sont quasi gratuites. Et l’angle empire avant de s’améliorer. Imposer la seule continuité fait plus que doubler le plus fort changement de pente, de 2,42 à 5,95 : c’est le raccord en V évoqué plus haut, mesuré. Faire se toucher les morceaux n’est pas les faire convenir de la direction.
Interactif : le raccord, et ce qu’il coûte de le fermer
Chaque contrainte retire exactement un paramètre.
- Degrés de liberté
- 16
- Plus grand saut
- 6.34
- Angle le plus vif
- 2.42
- Somme des carrés résiduels
- 11232.55
Sans rien imposer, les quatre cubiques sautent de 6,34, 5,55 et 6,26 aux trois nœuds, ce qui est le tableau de la leçon. Chaque contrainte retire ensuite exactement un paramètre par nœud, si bien que le compte parcourt 16, 13, 10, 7 et s’arrête au K + 4 d’une spline cubique. Pour l’instant l’ajustement a 16 degrés de liberté, un plus grand saut de 6.34 et un angle le plus vif de 2.42. Deux choses que les nombres disent et que le texte tait. Ces neuf paramètres sont presque gratuits : la somme des carrés résiduels ne monte que de 11232.55 à 11534.94, moins de trois pour cent. Et l’angle empire avant de disparaître, 2,42 devenant 5,95 avec une seule contrainte, car faire se toucher les morceaux n’est pas les faire convenir de la direction.
Où cela nous mène
Nous disposons maintenant d’un problème d’ajustement sous contraintes, moins commode que de simples moindres carrés. La leçon suivante supprime entièrement cet inconvénient : une colonne supplémentaire bien choisie par nœud impose les trois contraintes automatiquement, ramenant l’ensemble à une régression ordinaire.
Avant le quiz
Sachez écrire la régression polynomiale et la régression en escalier comme des modèles à fonctions de base, dire pourquoi un modèle à fonctions de base reste des moindres carrés, décrire comment un polynôme par morceaux échoue et de combien environ, et compter les degrés de liberté avant et après les contraintes.
Références et lectures complémentaires
- Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, An Introduction to Statistical Learning, with Applications in R, Springer (Springer Texts in Statistics 103), 2013source ↗
Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.
Débloquez tout le parcours
Cette première leçon est gratuite. Inscrivez-vous pour passer le quiz de maîtrise, gagner de l’XP et débloquer tous les modules, avec d’autres exemples interactifs et exécutables.