R语言机器学习实战之多项式回归
最近我们被客户要求撰写关于多项式回归的研究报告,包括一些图形和统计输出。
相关视频:非线性模型原理与R语言多项式回归、局部平滑样条、 广义相加模型GAM分析
非线性模型原理与R语言多项式回归、局部平滑样条、 广义相加模型GAM分析
,时长05:41
如果数据比简单的直线更为复杂,我们也可以用线性模型来你和非线性数据。一个简单的方法就是将每一个特征的幂次方添加为一个新的特征,然后在这个拓展的特征集上进行线性拟合,这种方法成为多项式回归。
回归分析的目标是根据自变量(或自变量向量)x 的值来模拟因变量 y 的期望值。在简单的线性回归中,使用模型
其中ε是未观察到的随机误差,其以标量 x 为条件,均值为零。在该模型中,对于 x 值的每个单位增加,y 的条件期望增加 β1β1个单位。
在许多情况下,这种线性关系可能不成立。例如,如果我们根据合成发生的温度对化学合成的产率进行建模,我们可以发现通过增加每单位温度增加的量来提高产率。在这种情况下,我们可能会提出如下所示的二次模型:
通常,我们可以将 y 的期望值建模为 n 次多项式,得到一般多项式回归模型:
为了方便,这些模型从估计的角度来看都是线性的,因为回归函数就未知参数β0β0、β1β1等而言是线性的。因此,对于最小二乘分析,多项式回归的计算和推理问题可以使用多元回归技术完全解决,这是通过将 xx、x2x2 等视为多元回归模型中的独特自变量来完成的。
拟合R语言中的多项式回归
让我们看一个经济学的例子:假设你想购买一定数量q的特定产品。如果单价是p,那么你会支付总金额y。这是一个线性关系的典型例子。总价格和数量成正比。
如下所示:
但购买和出售,我们可能要考虑一些其他相关信息,就像当:购买显著数量很可能是我们可以要求并获得折扣,或购买更多更重要的是我们可能会推高价格。
这可能导致像这样的情况,其中总成本不再是数量的线性函数:
通过多项式回归,我们可以将n阶模型拟合到数据上,并尝试对非线性关系进行建模。
如何拟合多项式回归
这是我们模拟观测数据的图。模拟的数据点是蓝色的点,而红色的线是信号(信号是一个技术术语,通常用于表示我们感兴趣检测的总体趋势)。
让我们用R来拟合。当拟合多项式时,您可以使用
lm(noisy.y〜poly(q,3))
通过使用该confint()函数,我们可以获得我们模型参数的置信区间。
模型参数的置信区间:
confint(model,level = 0.95)
拟合vs残差图
总的来说,这个模型似乎很适合,因为R的平方为0.8。正如我们所预期的那样,一阶和三阶项的系数在统计上显着。
预测值和置信区间
将线添加到现有图中:
我们可以看到,我们的模型在拟合数据方面做得不错。
参考文献
R语言机器学习实战之多项式回归相关推荐
- R语言机器学习与大数据可视化暨Python文本挖掘与自然语言处理核心技术研修
中国通信工业协会通信和信息技术创新人才培养工程项目办公室 通人办[2017] 第45号 "R语言机器学习与大数据可视化"暨"Python文本挖掘与自然语言处理" ...
- “R语言机器学习与大数据可视化”暨“Python文本挖掘与自然语言处理”核心技术高级研修班的通知
中国通信工业协会通信和信息技术创新人才培养工程项目办公室 通人办[2017] 第45号 "R语言机器学习与大数据可视化"暨"Python文本挖掘与自然语言处理" ...
- R语言如何构建正交多项式回归?
R语言如何构建正交多项式回归? 目录 R语言如何构建正交多项式回归? R语言是解决什么问题的? R语言如何构建正交多项式回归? 安利一个R语言的优秀博主及其CSDN专栏: R语言是解决什么问题的? R ...
- R语言机器学习Caret包(Caret包是分类和回归训练的简称)、数据划分、数据预处理、模型构建、模型调优、模型评估、多模型对比、模型预测推理
R语言机器学习Caret包(Caret包是分类和回归训练的简称).数据划分.数据预处理.模型构建.模型调优.模型评估.多模型对比.模型预测推理 目录
- R语言R-markdown实战示例、R-markdown、R-markdown生成结果汇报的HTML文件
R语言R-markdown实战示例.R-markdown.R-markdown生成结果汇报的HTML文件 目录 R语言R-markdown实战示例.R-markdown.R-markdown生成结果汇 ...
- R 回归 虚拟变量na_工具amp;方法 | R语言机器学习包大全(共45个包)
机器学习,是一门多学科交叉的人工智能领域的分析技术,它使用算法解析数据,从中学习,然后对世界上的某件事情做出决定或预测. 目前,常见机器学习的研究方向主要包括决策树.随机森林.神经网络.贝叶斯学习和支 ...
- 三十四、R语言数据分析实战
@Author : By Runsen @Date : 2020/5/14 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘 ...
- 《R语言机器学习:实用案例分析》——1.2节R的数据结构
本节书摘来自华章社区<R语言机器学习:实用案例分析>一书中的第1章,第1.2节R的数据结构,作者[印度] 拉格哈夫·巴利(Raghav Bali)迪潘简·撒卡尔(Dipanjan Sark ...
- 《R语言机器学习:实用案例分析》——1.3节使用函数
本节书摘来自华章社区<R语言机器学习:实用案例分析>一书中的第1章,第1.3节使用函数,作者[印度] 拉格哈夫·巴利(Raghav Bali)迪潘简·撒卡尔(Dipanjan Sarkar ...
最新文章
- 使用script命令自动录屏用户操作
- 【New】简•导航 正式上线
- 用matlab找出所有真因子,在matlab中找出与fmincon匹配两条曲线的缩放因子
- 问题:如何将多个文件里内容都提取出来
- 2017java面试_2017 Java面试大全(一)
- MFC把 ListCtrl的数据导出到excel表格
- android下注入技术详解
- ubuntu 好用的桌面小工具
- mysql和redis常见面试题_redis相关面试题
- git push 报错 pre-receive hook declined
- 微信小程序:实现微信登录
- WinDbg 符号下载错误解决方案
- Java给PNG透明图片加水印,亲测可用
- Weex和Web开发体验的异同
- 【分享】QY-IMX8M主板简介
- 搜素引擎与社会责任的关系
- python可以用来写什么_python这么火,到底可以用来做什么?
- 如何使用USB转网线的接口在MacBook上登录校园网
- ae导出gif插件_AE导出GIF动画的几种方式
- 2020年9月虹科Pico汽车示波器简报