Comment effectuer un lissage faible dans R (étape par étape)



En statistiques, le terme lowess fait référence au « lissage des nuages de points pondérés localement » – le processus de production d’une courbe lisse qui correspond aux points de données dans un nuage de points.

Pour effectuer un lissage lowess dans R, nous pouvons utiliser la fonction lowess() , qui utilise la syntaxe suivante :

plus bas (x, y, f = 2/3)

où:

  • x : un vecteur numérique de valeurs x.
  • y : un vecteur numérique de valeurs y.
  • f : la valeur pour l’étendue la plus lisse. Cela donne la proportion de points dans le tracé qui influencent le lissage à chaque valeur. Des valeurs plus élevées entraînent plus de douceur.

L’exemple suivant, étape par étape, montre comment effectuer un lissage faible pour un ensemble de données donné dans R.

Étape 1 : Créer les données

Tout d’abord, créons un faux ensemble de données :

df <- data.frame(x=c(1, 1, 2, 2, 3, 4, 6, 6, 7, 8, 10, 11, 11, 12, 13, 14),
                 y=c(4, 7, 9, 10, 14, 15, 19, 16, 17, 21, 22, 34, 44, 40, 43, 45))

Étape 2 : tracer les données

Ensuite, traçons les valeurs x et y de l’ensemble de données :

plot(df$x, df$y)

Étape 3 : tracer la courbe minimale

Ensuite, traçons la courbe de lissage la plus faible sur les points du nuage de points :

#create scatterplot
plot(df$x, df$y)

#add lowess smoothing curve to plot
lines(lowess(df$x, df$y), col='red')

Exemple de lissage Lowess dans R

Étape 4 : Ajustez la portée plus douce (facultatif)

Nous pouvons également ajuster l’argument f dans la fonction lowess() pour augmenter ou diminuer la valeur utilisée pour l’étendue plus lisse.

Notez que plus la valeur que nous fournissons est grande, plus la courbe basse sera lisse.

#create scatterplot
plot(df$x, df$y)

#add lowess smoothing curves
lines(lowess(df$x, df$y), col='red')
lines(lowess(df$x, df$y, f=0.3), col='purple')
lines(lowess(df$x, df$y, f=3), col='steelblue')

#add legend to plot
legend('topleft',
       col = c('red', 'purple', 'steelblue'),
       lwd = 2,
       c('Smoother = 1', 'Smoother = 0.3', 'Smoother = 3'))

Courbes de lissage faibles dans R

Ressources additionnelles

Comment tracer plusieurs lignes dans un graphique dans R
Comment créer un nuage de points avec une ligne de régression dans R
Comment effectuer une régression polynomiale dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *