Wie man einen einzelnen wert mithilfe eines regressionsmodells in r vorhersagt
Um ein lineares Regressionsmodell in R anzupassen, können wir die Funktion lm() verwenden, die die folgende Syntax verwendet:
model <- lm(y ~ x1 + x2, data=df)
Anschließend können wir die folgende Syntax verwenden, um mithilfe des Modells einen einzelnen Wert vorherzusagen:
predict(model, newdata = new)
Die folgenden Beispiele zeigen, wie man einen einzelnen Wert mithilfe angepasster Regressionsmodelle in R vorhersagt.
Beispiel 1: Vorhersage mithilfe eines einfachen linearen Regressionsmodells
Der folgende Code zeigt, wie ein einfaches lineares Regressionsmodell in R angepasst wird:
#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)
Und wir können den folgenden Code verwenden, um den Antwortwert für eine neue Beobachtung vorherzusagen:
#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
Das Modell sagt voraus, dass diese neue Beobachtung einen Antwortwert von 25,36364 haben wird.
Beispiel 2: Vorhersage mithilfe eines multiplen linearen Regressionsmodells
Der folgende Code zeigt, wie ein multiples lineares Regressionsmodell in R angepasst wird:
#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)
Und wir können den folgenden Code verwenden, um den Antwortwert für eine neue Beobachtung vorherzusagen:
#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
Das Modell sagt voraus, dass diese neue Beobachtung einen Antwortwert von 26,17073 haben wird.
Mögliche Fehler bei der Vorhersage neuer Werte
Der häufigste Fehler, der bei der Vorhersage eines neuen Werts auftreten kann, besteht darin , dass der Datensatz, den Sie zur Anpassung des Regressionsmodells verwendet haben, nicht dieselben Spaltennamen aufweist wie die neue Beobachtung, die Sie vorhersagen möchten .
Angenommen, wir passen das folgende multiple lineare Regressionsmodell in R an:
#createdata 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)
Nehmen wir als Nächstes an, wir versuchen, das Modell zu verwenden, um den Antwortwert für diese neue Beobachtung vorherzusagen:
#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
Wir haben eine Fehlermeldung erhalten, weil die Spaltennamen der neuen Beobachtung (x_1, x_2) nicht mit den Spaltennamen des ursprünglichen Datenrahmens (x1, x2) übereinstimmen, den wir zur Anpassung des Regressionsmodells verwendet haben.
Zusätzliche Ressourcen
So führen Sie eine einfache lineare Regression in R durch
So führen Sie eine multiple lineare Regression in R durch
So erstellen Sie ein Residuendiagramm in R