+-
使用R语言进行多项式回归、非线性回归模型曲线拟合
首页 专栏 算法 文章详情
0

使用R语言进行多项式回归、非线性回归模型曲线拟合

拓端tecdat 发布于 5 月 19 日

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

对于线性关系,我们可以进行简单的线性回归。对于其他关系,我们可以尝试拟合一条曲线。

曲线拟合是构建一条曲线或数学函数的过程,它对一系列数据点具有最佳的拟合效果。

使用示例数据集

#我们将使Y成为因变量,X成为预测变量 #因变量通常在Y轴上 plot(x,y,pch=19)

看起来我们可以拟合一条曲线。

#拟合一次多项式方程。 fit <- lm(y~x) #二次 fit2 <- lm(y~poly(x,2) #三次 ...... #生成50个数字的范围,从30开始到160结束 xx <- seq(30,160, length=50) lines(xx, predict(fit, xx)

我们可以看到每条曲线的拟合程度。
我们可以使用summary()函数对拟合结果进行更详细的统计。

使用不同多项式R平方的总结。

1st: 0.5759 2nd: 0.9474 3rd: 0.9924 4th: 0.9943

我们可以用 "方差分析 "来比较不同的模型。

Pr(>F)值是拒绝无效假设的概率,即一个模型不比另一个模型更适合。我们有非常显著的P值,所以我们可以拒绝无效假设,即fit2比fit提供了更好的拟合。

我们还可以创建一个反映多项式方程的函数。

从三次多项式推算出来的数值与原始数值有很好的拟合,我们可以从R-squared值中得知。

结论

对于非线性曲线拟合,我们可以使用lm()和poly()函数,这也为多项式函数对数据集的拟合程度提供了有用的统计数据。我们还可以使用方差分析测试来评估不同模型之间的对比程度。从模型中可以定义一个反映多项式函数的函数,它可以用来推算因变量。

yy<-third(xx,fit) plot(xx,yy)

最受欢迎的见解

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指标

算法 机器学习 人工智能 深度学习 数据挖掘
阅读 23 发布于 5 月 19 日
举报
收藏
分享
本作品系原创, 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
拓端数据
拓端tecdat分享最in的大数据资讯,提供“一站式”的数据分析学习和咨询体验,让我们一起做有态度的数据人...
关注专栏
拓端tecdat

拓端(http://tecdat.cn )创立于2016年,自成立以来,就定位为提供专业的数据分析与数据挖掘服务的提供商,致力于充分挖掘数据的价值,为客户定制个性化的数据解决方案与行业报告等。

169 声望
27 粉丝
关注作者
0 条评论
得票数 最新
提交评论
拓端tecdat

拓端(http://tecdat.cn )创立于2016年,自成立以来,就定位为提供专业的数据分析与数据挖掘服务的提供商,致力于充分挖掘数据的价值,为客户定制个性化的数据解决方案与行业报告等。

169 声望
27 粉丝
关注作者
宣传栏
目录

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

对于线性关系,我们可以进行简单的线性回归。对于其他关系,我们可以尝试拟合一条曲线。

曲线拟合是构建一条曲线或数学函数的过程,它对一系列数据点具有最佳的拟合效果。

使用示例数据集

#我们将使Y成为因变量,X成为预测变量 #因变量通常在Y轴上 plot(x,y,pch=19)

看起来我们可以拟合一条曲线。

#拟合一次多项式方程。 fit <- lm(y~x) #二次 fit2 <- lm(y~poly(x,2) #三次 ...... #生成50个数字的范围,从30开始到160结束 xx <- seq(30,160, length=50) lines(xx, predict(fit, xx)

我们可以看到每条曲线的拟合程度。
我们可以使用summary()函数对拟合结果进行更详细的统计。

使用不同多项式R平方的总结。

1st: 0.5759 2nd: 0.9474 3rd: 0.9924 4th: 0.9943

我们可以用 "方差分析 "来比较不同的模型。

Pr(>F)值是拒绝无效假设的概率,即一个模型不比另一个模型更适合。我们有非常显著的P值,所以我们可以拒绝无效假设,即fit2比fit提供了更好的拟合。

我们还可以创建一个反映多项式方程的函数。

从三次多项式推算出来的数值与原始数值有很好的拟合,我们可以从R-squared值中得知。

结论

对于非线性曲线拟合,我们可以使用lm()和poly()函数,这也为多项式函数对数据集的拟合程度提供了有用的统计数据。我们还可以使用方差分析测试来评估不同模型之间的对比程度。从模型中可以定义一个反映多项式函数的函数,它可以用来推算因变量。

yy<-third(xx,fit) plot(xx,yy)

最受欢迎的见解

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指标