Hoe een polynomiale regressiecurve in r uit te zetten
Polynomiale regressie is een regressietechniek die we gebruiken wanneer de relatie tussen een voorspellende variabele en een responsvariabele niet-lineair is.
In deze tutorial wordt uitgelegd hoe u een polynomiale regressiecurve in R kunt plotten.
Gerelateerd: De 7 meest voorkomende soorten regressie
Voorbeeld: een polynomiale regressiecurve uitzetten in R
De volgende code laat zien hoe u een polynoomregressiemodel aan een gegevensset kunt aanpassen en vervolgens de polynomiale regressiecurve op de onbewerkte gegevens in een spreidingsdiagram kunt plotten:
#define data x <- runif(50, 5, 15) y <- 0.1*x^3 - 0.5 * x^2 - x + 5 + rnorm(length(x),0,10) #plot x vs. y plot(x, y, pch= 16 , cex= 1.5 ) #fit polynomial regression model fit <- lm(y ~ x + I(x^2) + I(x^3)) #use model to get predicted values pred <- predict(fit) ix <- sort(x, index. return = T )$ix #add polynomial curve to plot lines(x[ix], pred[ix], col=' red ', lwd= 2 )
We kunnen ook de gepaste polynomiale regressievergelijking aan de plot toevoegen met behulp van de functie text() :
#define data x <- runif(50, 5, 15) y <- 0.1*x^3 - 0.5 * x^2 - x + 5 + rnorm(length(x),0,10) #plot x vs. y plot(x, y, pch=16, cex=1.5) #fit polynomial regression model fit <- lm(y ~ x + I(x^2) + I(x^3)) #use model to get predicted values pred <- predict(fit) ix <- sort(x, index. return = T )$ix #add polynomial curve to plot lines(x[ix], pred[ix], col=' red ', lwd= 2 ) #get model coefficients coeff <- round(fit$coefficients, 2) #add fitted model equation to plot text(9, 200 , paste("Model: ", coeff[1], " + ", coeff[2], "*x", "+", coeff[3], "*x^2", "+", coeff[4], "*x^3"), cex= 1.3 )
Merk op dat het cex- argument de lettergrootte van de tekst bepaalt. De standaardwaarde is 1, daarom hebben we ervoor gekozen een waarde van 1,3 te gebruiken om de tekst gemakkelijker leesbaar te maken.
Aanvullende bronnen
Een inleiding tot polynomiale regressie
Hoe een polynomiale curve in Excel te passen
Hoe polynomiale regressie uit te voeren in Python