Come tracciare una curva di regressione polinomiale in r
La regressione polinomiale è una tecnica di regressione che utilizziamo quando la relazione tra una variabile predittore e una variabile di risposta non è lineare.
Questo tutorial spiega come tracciare una curva di regressione polinomiale in R.
Correlati: I 7 tipi più comuni di regressione
Esempio: tracciare una curva di regressione polinomiale in R
Il codice seguente mostra come adattare un modello di regressione polinomiale a un set di dati, quindi tracciare la curva di regressione polinomiale sui dati grezzi in un grafico a dispersione:
#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 )
Possiamo anche aggiungere l’equazione di regressione polinomiale adattata al grafico utilizzando la funzione 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 )
Tieni presente che l’argomento cex controlla la dimensione del carattere del testo. Il valore predefinito è 1, quindi abbiamo scelto di utilizzare un valore pari a 1,3 per rendere il testo più facile da leggere.
Risorse addizionali
Un’introduzione alla regressione polinomiale
Come adattare una curva polinomiale in Excel
Come eseguire la regressione polinomiale in Python