Comment prédire une valeur unique à l’aide d’un modèle de régression dans R



Pour ajuster un modèle de régression linéaire dans R, nous pouvons utiliser la fonction lm() , qui utilise la syntaxe suivante :

model <- lm(y ~ x1 + x2, data=df)

Nous pouvons ensuite utiliser la syntaxe suivante pour utiliser le modèle afin de prédire une valeur unique :

predict(model, newdata = new)

Les exemples suivants montrent comment prédire une valeur unique à l’aide de modèles de régression ajustés dans R.

Exemple 1 : Prédire à l’aide d’un modèle de régression linéaire simple

Le code suivant montre comment ajuster un modèle de régression linéaire simple dans R :

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

#fit simple linear regression model
model <- lm(y ~ x, data=df)

Et nous pouvons utiliser le code suivant pour prédire la valeur de réponse pour une nouvelle observation :

#define new observation
new <- data.frame(x=c(5))

#use the fitted model to predict the value for the new observation
predict(model, newdata = new)

       1 
25.36364 

Le modèle prédit que cette nouvelle observation aura une valeur de réponse de 25,36364 .

Exemple 2 : Prédire à l’aide d’un modèle de régression linéaire multiple

Le code suivant montre comment ajuster un modèle de régression linéaire multiple dans R :

#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)

Et nous pouvons utiliser le code suivant pour prédire la valeur de réponse pour une nouvelle observation :

#define new observation
new <- data.frame(x1=c(5),
                  x2=c(10))

#use the fitted model to predict the value for the new observation
predict(model, newdata = new)

       1 
26.17073 

Le modèle prédit que cette nouvelle observation aura une valeur de réponse de 26,17073 .

Erreurs potentielles lors de la prédiction de nouvelles valeurs

L’erreur la plus courante que vous pouvez rencontrer lorsque vous tentez de prédire une nouvelle valeur est lorsque l’ensemble de données que vous avez utilisé pour ajuster le modèle de régression n’a pas les mêmes noms de colonnes que la nouvelle observation que vous tentez de prédire .

Par exemple, supposons que nous ajustions le modèle de régression linéaire multiple suivant dans R :

#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)

Supposons ensuite que nous essayions d’utiliser le modèle pour prédire la valeur de réponse pour cette nouvelle observation :

#define new observation
new <- data.frame(x_1=c(5),
                  x_2=c(10))

#use the fitted model to predict the value for the new observation
predict(model, newdata = new)

Error in eval(predvars, data, env) : object 'x1' not found

Nous avons reçu une erreur car les noms de colonnes de la nouvelle observation (x_1, x_2) ne correspondent pas aux noms de colonnes du bloc de données d’origine (x1, x2) que nous avons utilisé pour ajuster le modèle de régression.

Ressources additionnelles

Comment effectuer une régression linéaire simple dans R
Comment effectuer une régression linéaire multiple dans R
Comment créer un tracé résiduel dans R

Ajouter un commentaire

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