R语言中如何使用最小二乘法
这里只是介绍下R语言中如何使用最小二乘法解决一次函数的线性回归问题。
代码如下:
>
x<-c(6.19,2.51,7.29,7.01,5.7,2.66,3.98,2.5,9.1,4.2)
>
y<-c(5.25,2.83,6.41,6.71,5.1,4.23,5.05,1.98,10.5,6.3)
> lsfit(x,y)
结果如下:
$coefficients
Intercept
X
0.8310557 0.9004584
说明: Intercept :截距
X: 变量x的系数
即对于一元一次函数截距式方程:y=0.9x
0.83
输出结果:
k= 0.900458420439 b= 0.831055638877
cost:1
求解的拟合直线为:
y=0.9x 0.83
如果你不追求绘图的美观,可以简单的直接用R绘制散点图观察规律也是可以的(当然也是可以通过设置参数调美观点的)。
> plot(x,y)
###x,y是上面已经赋值过的数据
结果如图:

下面我们接着调整目标函数及样本数据:
目标函数:y=ax2 bx c
> x<-c(1,2,3,4,5,6)
> y<-c(9,18,31,48,69,94)
> lsfit(x,y)
$coefficients
Intercept
X
-14.66667 17.00000
从结果可以看出,求解的依然是y=kx
b形式的函数。
而调整python中的代码(完整代码见下面的连接):
def func(p,x):
a,b,c=p
return a*x*x
b*x c
p0=[10,10,10]
#读取结果
a,b,c=Para[0]
print("a=",a,"b=",b,"c=",c)
print("cost:" str(Para[1]))
print("求解的拟合直线为:")
print("y=" str(round(a,2)) "x*x " str(round(b,2)) "x "
str(c))
a= 2.0 b= 3.0 c= 4.0
cost:2
求解的拟合直线为:
y=2.0x*x 3.0x 4.0
通过对比看出,python scipy库中的leastsq函数通用性还是比较高的。
目标函数:y=ax2 bx c的非线性回归的拟合过程,见:机器学习:形如抛物线的散点图在python和R中的非线性回归拟合方法数据分析师培训
R语言中如何使用最小二乘法的更多相关文章
- 机器学习:R语言中如何使用最小二乘法
详细内容见上一篇文章:http://www.cnblogs.com/lc1217/p/6514734.html 这里只是介绍下R语言中如何使用最小二乘法解决一次函数的线性回归问题. 代码如下:(数据同 ...
- R+openNLP︱openNLP的六大可实现功能及其在R语言中的应用
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- openNLP是NLP中比较好的开源工具,R语 ...
- R语言中的横向数据合并merge及纵向数据合并rbind的使用
R语言中的横向数据合并merge及纵向数据合并rbind的使用 我们经常会遇到两个数据框拥有相同的时间或观测值,但这些列却不尽相同.处理的办法就是使用merge(x, y ,by.x = ,by.y ...
- R语言中数据结构
R语言还是有点古老感觉,数据结构没有Python中那么好用.以下简单总结一下R语言中经常使用的几个数据结构. 向量: R中的向量能够理解为一维的数组,每一个元素的mode必须同样,能够用c(x:y)进 ...
- R语言中的数据处理包dplyr、tidyr笔记
R语言中的数据处理包dplyr.tidyr笔记 dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了 ...
- R语言中的四类统计分布函数
R语言中提供了四类有关统计分布的函数(密度函数,累计分布函数,分位函数,随机数函数).分别在代表该分布的R函数前加上相应前缀获得(d,p,q,r).如: 1)正态分布的函数是norm,命令dnorm( ...
- R语言学习笔记1——R语言中的基本对象
R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...
- R语言中的机器学习包
R语言中的机器学习包 Machine Learning & Statistical Learning (机器学习 & 统计学习) 网址:http://cran.r-project ...
- R语言中的字符处理
R语言中的字符处理 (2011-07-10 22:29:48) 转载▼ 标签: r语言 字符处理 字符串 连接 分割 分类: R R的字符串处理能力还是很强大的,具体有base包的几个函数和strin ...
随机推荐
- 第三方下载控件 用起来还是不错的偶!Aria
本文主要介绍开源项目Aria的使用. 先在项目里的build 中配置compile 'com.arialyy.aria:Aria:3.1.1' //下载 开始下载 Aria.download(this ...
- Win10弹出需要管理员权限才能删除文件夹,解决办法
Win键+R(就是开始-运行),弹出的输入框输入gpedit.msc回车. 绿色圈内是正解,设置为已禁用.已禁用.已禁用.记着重启才生效.
- wpf关闭窗口弹出是否确认关闭的提示
if (MessageBox.Show("是否退出系统?", "退出系统?", MessageBoxButton.OKCancel, MessageBoxIma ...
- 《数据结构与算法分析——C语言描述》ADT实现(NO.05) : 散列(Hash)
散列(Hash)是一种以常数复杂度实现查找功能的数据结构.它将一个关键词Key,通过某种映射(哈希函数)转化成索引值直接定位到相应位置. 实现散列有两个关键,一是哈希函数的选择,二是冲突的处理. 对于 ...
- [转]Visual Studio 2010单元测试(2)--运行测试并查看代码覆盖率
Visual Studio 2010 单元测试--运行测试并查看代码覆盖率 运行测试并查看代码覆盖率对程序集中的代码运行测试时,可以通过收集代码覆盖率数据来查看正在测试的项目代码部分. 运行测试并查看 ...
- 基于在树上走的DP问题
笔者已经很久没有打过题解了,如果打题解,就总是要连着一个知识点来打题解. 最近做过一共两道这样的题目.笔者认为这样的题有较强的可拓展性,比较有意义. 所以就打一篇博客. 问题概述 先说说这是个什么样的 ...
- 解决微信浏览器内video全屏问题
前端离职,让我写个视频播放页面,木办法只有我来搞了. 默认用h5的 video标签 测试时候发现微信浏览器内访问video自动全屏播放. 搜了下 webkit-playsinline="tr ...
- 如何正确使用 Flink Connector?
本文主要分享 Flink connector 相关内容,分为以下三个部分的内容:第一部分会首先介绍一下 Flink Connector 有哪些.第二部分会重点介绍在生产环境中经常使用的 kafka c ...
- day43作业
注册页面: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- Mybatis框架+原理
https://www.cnblogs.com/luoxn28/p/6417892.html(转载,蛮详细的)