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

125 篇文章 7 订阅
15 篇文章 1 订阅

最近我们被客户要求撰写关于多项式回归、非线性回归的研究报告,包括一些图形和统计输出。

 相关视频:非线性模型原理与R语言多项式回归、局部平滑样条、 广义相加模型GAM分析

非线性模型原理与R语言多项式回归、局部平滑样条、 广义相加模型GAM分析

,时长05:41

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

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

使用示例数据集

#我们将使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)


  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值