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