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

Einen Kommentar hinzufügen

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