Hoe een enkele waarde te voorspellen met behulp van een regressiemodel in r


Om een lineair regressiemodel in R te passen, kunnen we de functie lm() gebruiken, die de volgende syntaxis gebruikt:

 model <- lm(y ~ x1 + x2, data=df)

We kunnen dan de volgende syntaxis gebruiken om het model te gebruiken om een enkele waarde te voorspellen:

 predict(model, newdata = new)

De volgende voorbeelden laten zien hoe u een enkele waarde kunt voorspellen met behulp van gepaste regressiemodellen in R.

Voorbeeld 1: Voorspel met behulp van een eenvoudig lineair regressiemodel

De volgende code laat zien hoe u een eenvoudig lineair regressiemodel in R kunt passen:

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

En we kunnen de volgende code gebruiken om de responswaarde voor een nieuwe waarneming te voorspellen:

 #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 

Het model voorspelt dat deze nieuwe waarneming een responswaarde van 25,36364 zal hebben.

Voorbeeld 2: Voorspel met behulp van een meervoudig lineair regressiemodel

De volgende code laat zien hoe u een meervoudig lineair regressiemodel in R kunt passen:

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

En we kunnen de volgende code gebruiken om de responswaarde voor een nieuwe observatie te voorspellen:

 #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 

Het model voorspelt dat deze nieuwe waarneming een responswaarde van 26,17073 zal hebben.

Mogelijke fouten bij het voorspellen van nieuwe waarden

De meest voorkomende fout die u kunt tegenkomen bij het voorspellen van een nieuwe waarde is wanneer de gegevensset die u hebt gebruikt om in het regressiemodel te passen, niet dezelfde kolomnamen heeft als de nieuwe waarneming die u probeert te voorspellen .

Stel dat we bijvoorbeeld het volgende meervoudige lineaire regressiemodel in R passen:

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

Stel vervolgens dat we het model proberen te gebruiken om de responswaarde voor deze nieuwe observatie te voorspellen:

 #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

We hebben een foutmelding ontvangen omdat de kolomnamen van de nieuwe waarneming (x_1, x_2) niet overeenkomen met de kolomnamen van het oorspronkelijke gegevensframe (x1, x2) dat we hebben gebruikt om in het regressiemodel te passen.

Aanvullende bronnen

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