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

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

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

相关视频

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

使用示例数据集

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

24ce7e853aa1b54861f5a16ea06d63a6.png

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

#拟合一次多项式方程。

fit <- lm(y~x)

#二次

fit2 <- lm(y~poly(x,2)

#三次

......

#生成50个数字的范围,从30开始到160结束

xx <- seq(30,160, length=50)

lines(xx, predict(fit, xx)

e92fb91b41f21d409b25c38c6734e8cd.png

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

d6ed129fd3981480a16578eafbbc7a99.png

990952f293aff18908ffe2daa5ce4dae.png

e1c6b611a5a0ad86e5e9d92d03a2ec36.png

384dac0dbc704b4b9d6d68d9a9c0ce99.png

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

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

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

27b00d2e4727ac3fc047b95bbdd3b341.png

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

b55e7ee36cc72e1272b9a2508926ca5d.png

1df0adb8cebb4293bea861ce5d90785e.png

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

3f76e558adf7fd2552d9f41632222a97.png

8a45000a12983a89d4f5d416ecff7625.png

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

结论

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

yy<-third(xx,fit)

plot(xx,yy)

fd3b64161096a2e178c4b1d182fc6c36.png

6dfad601255b815ebb0159fcd114dec4.jpeg

点击标题查阅往期内容

R语言多项式回归拟合非线性关系

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

R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析

R语言ISLR工资数据进行多项式回归和样条回归分析

R语言中的多项式回归、局部回归、核平滑和平滑样条回归模型

R语言多项式线性模型:最大似然估计二次曲线

R语言广义线性模型GLM、多项式回归和广义可加模型GAM预测泰坦尼克号幸存者

R语言中的多项式回归、B样条曲线(B-spline Curves)回归

R语言用多项式回归和ARIMA模型预测电力负荷时间序列数据

R语言机器学习实战之多项式回归

R语言ISLR工资数据进行多项式回归和样条回归分析

更多内容,请点击左下角“阅读原文”查看报告全文

cff914969b6be284c99b5b6bf38414d9.gif

c7119c101a6ec4268968727421c53ab8.png

932d3db063b7fefb7059a905ddbb97d8.jpeg

关注我们

案例精选、技术干货 第一时间与您分享

8865d5c789260b98fca7de4c54e2c418.jpeg

长按二维码加关注

更多内容,请点击左下角“阅读原文”查看报告全文

0cbc5560c68af3ce68faebb84f0eb6c5.gif

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年10月19日
下一篇 2023年10月19日

相关推荐