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')
É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'))
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