Comment tracer une courbe de régression polynomiale dans R
La régression polynomiale est une technique de régression que nous utilisons lorsque la relation entre une variable prédictive et une variable de réponse est non linéaire.
Ce tutoriel explique comment tracer une courbe de régression polynomiale dans R.
Connexes : Les 7 types de régression les plus courants
Exemple : tracer une courbe de régression polynomiale dans R
Le code suivant montre comment ajuster un modèle de régression polynomiale à un ensemble de données, puis tracer la courbe de régression polynomiale sur les données brutes dans un nuage de points :
#define data x <- runif(50, 5, 15) y <- 0.1*x^3 - 0.5 * x^2 - x + 5 + rnorm(length(x),0,10) #plot x vs. y plot(x, y, pch=16, cex=1.5) #fit polynomial regression model fit <- lm(y ~ x + I(x^2) + I(x^3)) #use model to get predicted values pred <- predict(fit) ix <- sort(x, index.return=T)$ix #add polynomial curve to plot lines(x[ix], pred[ix], col='red', lwd=2)
Nous pouvons également ajouter l’équation de régression polynomiale ajustée au tracé à l’aide de la fonction text() :
#define data x <- runif(50, 5, 15) y <- 0.1*x^3 - 0.5 * x^2 - x + 5 + rnorm(length(x),0,10) #plot x vs. y plot(x, y, pch=16, cex=1.5) #fit polynomial regression model fit <- lm(y ~ x + I(x^2) + I(x^3)) #use model to get predicted values pred <- predict(fit) ix <- sort(x, index.return=T)$ix #add polynomial curve to plot lines(x[ix], pred[ix], col='red', lwd=2) #get model coefficients coeff <- round(fit$coefficients , 2) #add fitted model equation to plot text(9, 200 , paste("Model: ", coeff[1], " + ", coeff[2], "*x", "+", coeff[3], "*x^2", "+", coeff[4], "*x^3"), cex=1.3)
Notez que l’argument cex contrôle la taille de la police du texte. La valeur par défaut est 1, nous avons donc choisi d’utiliser une valeur de 1,3 pour faciliter la lecture du texte.
Ressources additionnelles
Une introduction à la régression polynomiale
Comment ajuster une courbe polynomiale dans Excel
Comment effectuer une régression polynomiale en Python