如何在 r 中绘制多项式回归曲线


多项式回归是当预测变量和响应变量之间的关系呈非线性时使用的回归技术。

本教程介绍如何在 R 中绘制多项式回归曲线。

相关: 7 种最常见的回归类型

示例:在 R 中绘制多项式回归曲线

以下代码显示如何将多项式回归模型拟合到数据集,然后在散点图中在原始数据上绘制多项式回归曲线:

 #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 中绘制多项式回归曲线

我们还可以使用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 )

请注意, cex参数控制文本的字体大小。默认值为 1,因此我们选择使用值1.3以使文本更易于阅读。

其他资源

多项式回归简介
如何在Excel中拟合多项式曲线
如何在 Python 中执行多项式回归

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注