多项式回归是独立x变量和因果y变量之间的非线性关系。python
当咱们分析有一些弯曲的波动数据时,拟合这种类型的回归是很关键的。
在这篇文章中,咱们将学习如何在R中拟合和绘制多项式回归数据。咱们在这个回归模型中使用了lm()函数。虽然它是一个线性回归模型函数,但经过改变目标公式类型,lm()对多项式模型也适用。本教程包括函数
咱们首先要准备测试数据,以下所示。性能
function(x) x^3+2*x^2+5 df = data.frame(x = x, y = y) head(df)
咱们能够将'df'数据可视化,在图中进行直观的检查。咱们的任务是用最佳曲线拟合这个数据。学习
plot(df$x, df$y
咱们用lm()函数创建一个带有公式的模型。 I(x^2)在一个公式中表明x2。咱们也能够使用poly(x,2)函数,它与I(x^2)的表达方式相同。测试
接下来,咱们将用训练好的模型来预测数据。spa
pred = predict(model,data=df)
找到最佳拟合的曲线很重要。咱们用各类可能的函数检查模型。在这里,咱们应用四种类型的函数进行拟合,并检查其性能。
橙色线(线性回归)和黄色曲线对这个数据来讲是错误的选择。粉红色曲线很接近,但蓝色曲线是与咱们的数据趋势最匹配的。所以,我使用y~x3+x2公式来创建咱们的多项式回归模型。
你能够经过将你的数据可视化来找到最适合的公式。code
源代码列在下面。教程
lines(df$x, predict(lm(y~x, data=df)), type="l" lwd=2) legend("topleft", legend = c("y~x, - 线性","y~x^2", "y~x^3", "y~x^3+x^2"),
1. 用plot()函数做图。rem
2. 用ggplot()做图。
多项式回归数据能够用ggplot()拟合和绘制。get
ggplot(data=df ) + geom_smooth( y~I(x^3)+I(x^2))
在本教程中,咱们简要了解了如何拟合多项式回归数据,并使用R中的plot()和ggplot()函数绘制结果,完整的源代码以下。
最受欢迎的看法
3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)
5.R语言回归中的Hosmer-Lemeshow拟合优度检验