R'de polinom regresyon eğrisi nasıl çizilir


Polinom regresyon, yordayıcı değişken ile yanıt değişkeni arasındaki ilişki doğrusal olmadığında kullandığımız bir regresyon tekniğidir.

Bu eğitimde R’de bir polinom regresyon eğrisinin nasıl çizileceği açıklanmaktadır.

İlgili: En Yaygın 7 Regresyon Türü

Örnek: R’de bir polinom regresyon eğrisinin çizilmesi

Aşağıdaki kod, bir polinom regresyon modelinin bir veri kümesine nasıl sığdırılacağını ve ardından polinom regresyon eğrisinin ham veriler üzerinde bir dağılım grafiğinde nasıl çizileceğini gösterir:

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

R'de polinom regresyon eğrisini çizin

Ayrıca text() işlevini kullanarak uygun polinom regresyon denklemini çizime ekleyebiliriz:

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

Cex argümanının metnin yazı tipi boyutunu kontrol ettiğini unutmayın. Varsayılan değer 1’dir, bu nedenle metnin okunmasını kolaylaştırmak için 1,3 değerini kullanmayı seçtik.

Ek kaynaklar

Polinom Regresyona Giriş
Excel’de bir polinom eğrisi nasıl sığdırılır
Python’da polinom regresyonu nasıl gerçekleştirilir

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir