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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert