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