GAM vs LOESS vs splines

14

Contexte : Je veux tracer une ligne dans un nuage de points qui n'apparaît pas paramétrique, donc j'utilise geom_smooth()in ggplotin R. Il retourne automatiquement geom_smooth: method="auto" and size of largest group is >=1000, so using gam with formula: y ~ s(x, bs = "cs"). Use 'method = x' to change the smoothing method.je suppose que GAM signifie des modèles additifs généralisés et il utilise une spline cubique.

Les perceptions suivantes sont-elles correctes?

  • Loess estime la réponse à des valeurs spécifiques.

  • Les splines sont des approximations qui connectent différentes fonctions par morceaux qui correspondent aux données (qui constituent le modèle additif généralisé), et les splines cubiques sont le type spécifique de spline utilisé ici.

Enfin, quand utiliser des splines, quand utiliser LOESS?

Andrew Marderstein
la source
3
si la gamfonction est celle du package gam, elle fera à la fois des splines et un lissage polynomial local; LOESS est une implémentation particulière du lissage polynomial local avec des éléments supplémentaires ajoutés (comme la sous-pondération des gros résidus).
Glen_b -Reinstate Monica

Réponses:

17

Ce qui importe le plus, c'est le nombre de degrés de liberté effectifs que vous accordez à chaque approche. Pour les lisseurs non paramétriques tels que le loess, cela est contrôlé par la bande passante tandis que pour les splines de régression, le df est plus évident et un df est dépensé pour chaque nœud ajouté. Le loess et les splines estiment les relations entreX et Oui. Les splines sont plus générales dans le sens où elles peuvent être utilisées dans une plus grande variété de contextes.

Frank Harrell
la source