Hoe waarden in r te voorspellen met behulp van een meervoudig regressiemodel


U kunt de volgende basissyntaxis gebruiken om waarden in R te voorspellen met behulp van een aangepast meervoudig lineair regressiemodel:

 #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)

Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld: Waarden voorspellen met behulp van een aangepast meervoudig lineair regressiemodel

Stel dat we de volgende dataset in R hebben die informatie over basketbalspelers bevat:

 #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

Stel nu dat we een meervoudig lineair regressiemodel passen met behulp van points , assists en rebounds als voorspellende variabelen en rating alsresponsvariabele :

 #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

Uit de waarden in de kolom Schatting kunnen we het passende regressiemodel schrijven:

Score = 66,4355 + 1,2151 (punten) – 2,5968 (assists) + 2,8202 (rebounds)

We kunnen de volgende code gebruiken om de rating te voorspellen van een nieuwe speler die 20 punten, 5 assists en 2 rebounds heeft:

 #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 

Het model voorspelt dat deze nieuwe speler een rating van 83,39607 zal hebben.

We kunnen bevestigen dat dit correct is door de waarden van de nieuwe speler in de aangepaste regressievergelijking in te voegen:

  • Score = 66,4355 + 1,2151 (punten) – 2,5968 (assists) + 2,8202 (rebounds)
  • Beoordeling = 66,4355 + 1,2151(20) – 2,5968(5) + 2,8202(2)
  • Score = 83,39

Dit komt overeen met de waarde die we hebben berekend met de functie voorspellen() in R.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe eenvoudige lineaire regressie uit te voeren in R
Hoe meervoudige lineaire regressie uit te voeren in R
Hoe maak je een restplot in R

Einen Kommentar hinzufügen

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