So vorhersagen sie werte in r mithilfe eines multiplen regressionsmodells
Sie können die folgende grundlegende Syntax verwenden, um Werte in R mithilfe eines angepassten multiplen linearen Regressionsmodells vorherzusagen:
#define new observation new <- data. frame (x1=c(5), x2=c(10), x3=c(12.5)) #use fitted model to predict the response value for the new observation predict(model, newdata=new)
Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.
Beispiel: Vorhersage von Werten mithilfe eines angepassten multiplen linearen Regressionsmodells
Angenommen, wir haben den folgenden Datensatz in R, der Informationen über Basketballspieler enthält:
#create data frame df <- data. frame (rating=c(67, 75, 79, 85, 90, 96, 97), points=c(8, 12, 16, 15, 22, 28, 24), assists=c(4, 6, 6, 5, 3, 8, 7), rebounds=c(1, 4, 3, 3, 2, 6, 7)) #view data frame df rating points assists rebounds 1 67 8 4 1 2 75 12 6 4 3 79 16 6 3 4 85 15 5 3 5 90 22 3 2 6 96 28 8 6 7 97 24 7 7
Nehmen wir nun an, wir passen ein multiples lineares Regressionsmodell an, das Punkte , Assists und Rebounds als Prädiktorvariablen und die Bewertung als Antwortvariable verwendet:
#fit multiple linear regression model model <- lm(rating ~ points + assists + rebounds, data=df) #view model summary summary(model) Call: lm(formula = rating ~ points + assists + rebounds, data = df) Residuals: 1 2 3 4 5 6 7 -1.5902 -1.7181 0.2413 4.8597 -1.0201 -0.6082 -0.1644 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 66.4355 6.6932 9.926 0.00218 ** points 1.2152 0.2788 4.359 0.02232 * assists -2.5968 1.6263 -1.597 0.20860 rebounds 2.8202 1.6118 1.750 0.17847 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 3.193 on 3 degrees of freedom Multiple R-squared: 0.9589, Adjusted R-squared: 0.9179 F-statistic: 23.35 on 3 and 3 DF, p-value: 0.01396
Aus den Werten in der Spalte „Schätzung“ können wir das angepasste Regressionsmodell schreiben:
Punktzahl = 66,4355 + 1,2151 (Punkte) – 2,5968 (Assists) + 2,8202 (Rebounds)
Wir können den folgenden Code verwenden, um die Bewertung eines neuen Spielers vorherzusagen, der 20 Punkte, 5 Assists und 2 Rebounds hat:
#define new player new <- data. frame (points=c(20), assists=c(5), rebounds=c(2)) #use the fitted model to predict the rating for the new player predict(model, newdata=new) 1 83.39607
Das Modell sagt voraus, dass dieser neue Spieler eine Bewertung von 83,39607 haben wird.
Wir können bestätigen, dass dies korrekt ist, indem wir die Werte des neuen Spielers in die angepasste Regressionsgleichung einfügen:
- Punktzahl = 66,4355 + 1,2151 (Punkte) – 2,5968 (Assists) + 2,8202 (Rebounds)
- Bewertung = 66,4355 + 1,2151(20) – 2,5968(5) + 2,8202(2)
- Punktzahl = 83,39
Dies entspricht dem Wert, den wir mit der Funktion „predict()“ in R berechnet haben.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
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