Comment tracer les valeurs prédites dans R (avec exemples)



Souvent, vous souhaiterez peut-être tracer les valeurs prédites d’un modèle de régression dans R afin de visualiser les différences entre les valeurs prédites et les valeurs réelles.

Ce tutoriel fournit des exemples de création de ce type de tracé en base R et ggplot2.

Exemple 1 : tracé des valeurs prédites et réelles en base R

Le code suivant montre comment ajuster un modèle de régression linéaire multiple dans R, puis créer un tracé des valeurs prédites et réelles :

#create data
df <- data.frame(x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

#fit multiple linear regression model
model <- lm(y ~ x1 + x2, data=df)

#plot predicted vs. actual values
plot(x=predict(model), y=df$y,
     xlab='Predicted Values',
     ylab='Actual Values',
     main='Predicted vs. Actual Values')

#add diagonal line for estimated regression line
abline(a=0, b=1)

Tracé des valeurs prédites dans R

L’axe des X affiche les valeurs prédites du modèle et l’axe des Y affiche les valeurs réelles de l’ensemble de données. La ligne diagonale au milieu du graphique est la ligne de régression estimée.

Étant donné que chacun des points de données se situe assez proche de la droite de régression estimée, cela nous indique que le modèle de régression réussit assez bien à ajuster les données.

Nous pouvons également créer un bloc de données qui affiche les valeurs réelles et prédites pour chaque point de données :

#create data frame of actual and predicted values
values <- data.frame(actual=df$y, predicted=predict(model))

#view data frame
values

   actual predicted
1      22  22.54878
2      24  23.56707
3      24  23.96341
4      25  24.98171
5      25  25.37805
6      27  26.79268
7      29  28.60366
8      31  30.41463
9      32  33.86585
10     36  34.88415

Exemple 2 : tracé des valeurs prédites et réelles dans ggplot2

Le code suivant montre comment créer un tracé de valeurs prédites et réelles à l’aide du package de visualisation de données ggplot2 :

library(ggplot2) 

#create data
df <- data.frame(x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

#fit multiple linear regression model
model <- lm(y ~ x1 + x2, data=df)

#plot predicted vs. actual values
ggplot(df, aes(x=predict(model), y=y)) + 
  geom_point() +
  geom_abline(intercept=0, slope=1) +
  labs(x='Predicted Values', y='Actual Values', title='Predicted vs. Actual Values')

Encore une fois, l’axe des X affiche les valeurs prédites du modèle et l’axe des Y affiche les valeurs réelles de l’ensemble de données.

Ressources additionnelles

Comment créer un tracé résiduel dans R
Comment créer un histogramme de résidus dans R
Comment calculer les résidus standardisés dans R

Ajouter un commentaire

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