关于算法:R语言多项式回归拟合非线性关系

38次阅读

共计 1206 个字符,预计需要花费 4 分钟才能阅读完成。

原文链接:http://tecdat.cn/?p=22438 

多项式回归是独立 x 变量和因果 y 变量之间的非线性关系。

当咱们剖析有一些蜿蜒的稳定数据时,拟合这种类型的回归是很要害的。
在这篇文章中,咱们将学习如何在 R 中拟合和绘制多项式回归数据。咱们在这个回归模型中应用了 lm()函数。尽管它是一个线性回归模型函数,但通过扭转指标公式类型,lm()对多项式模型也实用。本教程包含

  1. 筹备数据
  2. 拟合模型
  3. 寻找最佳拟合
  4. 源代码

筹备数据

咱们首先要筹备测试数据,如下所示。

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)的表达方式雷同。


接下来,咱们将用训练好的模型来预测数据。

pred = predict(model,data=df)

寻找最佳拟合

找到最佳拟合的曲线很重要。咱们用各种可能的函数查看模型。在这里,咱们利用四种类型的函数进行拟合,并查看其性能。
橙色线(线性回归)和黄色曲线对这个数据来说是谬误的抉择。粉红色曲线很靠近,但蓝色曲线是与咱们的数据趋势最匹配的。因而,我应用 y~x3+x2 公式来建设咱们的多项式回归模型。
你能够通过将你的数据可视化来找到最适宜的公式。

源代码列在上面。

 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()函数作图。

2. 用 ggplot()作图。
多项式回归数据能够用 ggplot()拟合和绘制。

ggplot(data=df) +
       geom_smooth(y~I(x^3)+I(x^2))

在本教程中,咱们简要理解了如何拟合多项式回归数据,并应用 R 中的 plot()和 ggplot()函数绘制后果,残缺的源代码如下。


最受欢迎的见解

1.R 语言多元 Logistic 逻辑回归 利用案例

2. 面板平滑转移回归 (PSTR) 剖析案例实现

3.matlab 中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R 语言泊松 Poisson 回归模型剖析案例

5.R 语言回归中的 Hosmer-Lemeshow 拟合优度测验

6.r 语言中对 LASSO 回归,Ridge 岭回归和 Elastic Net 模型实现

7. 在 R 语言中实现 Logistic 逻辑回归

8.python 用线性回归预测股票价格

9.R 语言如何在生存剖析与 Cox 回归中计算 IDI,NRI 指标

正文完
 0