J'ai récemment créé un peu dans l'application de navigateur que vous pouvez utiliser pour jouer avec ces idées: Scatterplot Smoothers (*).
Voici quelques données que j'ai constituées, avec un ajustement polynomial de faible degré
0.60,850,85
Pour nous débarrasser des biais, nous pouvons augmenter le degré de la courbe à trois, mais le problème demeure, la courbe cubique est encore trop rigide.
Nous continuons donc à augmenter le degré, mais maintenant nous nous trouvons face au problème opposé
Cette courbe suit les données de trop près et a tendance à s’envoler dans des directions moins bien confirmées par les tendances générales des données. C’est là que la régularisation entre en jeu. Avec la même courbe de degré (dix) et une régularisation bien choisie
Nous obtenons un très bon ajustement!
Cela vaut la peine de mettre l’accent sur un aspect bien choisi ci-dessus. Lorsque vous adaptez des polynômes à des données, vous avez un choix discret de degrés. Si une courbe de degré trois est sous-ajustée et une courbe de degré quatre est sur-ajustée, vous n’avez nulle part où aller au milieu. La régularisation résout ce problème, car elle vous permet de jouer avec une gamme continue de paramètres de complexité.
comment prétendez-vous "nous avons vraiment une bonne forme!". Pour moi, ils se ressemblent tous, à savoir, peu concluants. Quelle logique utilisez-vous pour décider ce qui est bon et mauvais?
Bon point.
L’hypothèse que je fais ici est qu’un modèle bien ajusté ne devrait pas avoir de tendance discernable dans les résidus. Maintenant, je ne trace pas les résidus, vous devez donc travailler un peu en regardant les images, mais vous devriez pouvoir utiliser votre imagination.
Dans la première image, avec la courbe quadratique ajustée aux données, je peux voir le motif suivant dans les résidus
- De 0,0 à 0,3, ils sont placés à peu près également au-dessus et au-dessous de la courbe.
- De 0,3 à environ 0,55, tous les points de données se situent au-dessus de la courbe.
- De 0,55 à environ 0,85, tous les points de données sont en dessous de la courbe.
- À partir de 0,85, ils se retrouvent tous au-dessus de la courbe.
Je qualifierais ces comportements de biais locaux , il y a des régions où la courbe ne permet pas bien d'approcher la moyenne conditionnelle des données.
Comparez ceci à la dernière coupe, avec la spline cubique. Je ne peux pas distinguer les régions à l'œil nu où l'ajustement ne semble pas fonctionner exactement au centre de la masse des points de données. C’est généralement (bien que de manière imprécise) ce que j’entends par un bon ajustement.
2
- Leur comportement aux limites de vos données peut être très chaotique, même avec une régularisation.
- Ils ne sont en aucun cas locaux . Le fait de modifier vos données à un endroit donné peut avoir un impact considérable sur l’adéquation à un endroit très différent.
Au lieu de cela, dans une situation comme celle que vous décrivez, il est recommandé d’utiliser des splines cubiques naturelles ainsi qu’une régularisation, qui offrent le meilleur compromis entre flexibilité et stabilité. Vous pouvez voir par vous-même en ajustant quelques splines dans l'application.
(*) Je crois que cela ne fonctionne que dans les versions chrome et firefox en raison de l'utilisation de certaines fonctionnalités javascript modernes (et de la paresse générale pour résoudre ce problème dans un safari ou autre). Le code source est ici , si vous êtes intéressé.