R语言曲线拟合函数(绘图)

R语⾔曲线拟合函数(绘图)曲线拟合:(线性回归⽅法:lm)
1、x排序
雷打雪
2、求线性回归⽅程并赋予⼀个新变量
z=lm(y~x+I(x^2)+...)
3、plot(x,y)    #做y对x的散点图
4、lines(x,fitted(z))    #添加拟合值对x的散点图并连线
曲线拟合:(nls)
lm是将曲线直线化再做回归,nls是直接拟合曲线。
需要三个条件:曲线⽅程、数据位置、系数的估计值。
如果曲线⽅程⽐较复杂,可以先命名⼀个⾃定义函数。
例:
应力传感器f=function(x1, x2, a, b) {a+x1+x2^b};
result=nls(x$y~f(x$x1, x$x2, a, b), data=x, start=list(a=1, b=2));
#x可以是数据框或列表,但不能是矩阵
#对系数的估计要尽量接近真实值,如果相差太远会报错:“奇异梯度”
summary(result);    #结果包含对系数的估计和p值
根据估计的系数直接在散点图上使⽤lines加曲线即可。
曲线拟合:(局部回归)
lowess(x, y=NULL, f = 2/3, iter = 3)
#可以只包含x,也可使⽤x、y两个变量
#f为窗宽参数,越⼤越平滑仪式用鼓
#iter为迭代次数,越⼤计算越慢企业家宣言
loess(y~x, data, span=0.75, degree=2)
#data为包含x、y的数据集;span为窗宽参数
#degree默认为⼆次回归
#该⽅法计算1000个数据点约占10M内存
车有利
举例:
x=seq(0, 10, 0.1); y=sin(x)+rnorm(101)    #x的值必须排序
plot(x,y);    #做散点图
lines(lowess(x,y));    #利⽤lowess做回归曲线
lines(x,predict(loess(y~x)));    #利⽤loess做回归曲线,predict是取回归预测值
金环银环z=loess(y~x); lines(x, z$fit);    #利⽤loess做回归曲线的另⼀种做法
posted on 2016-01-06 15:35 阅读( ...) 评论( ...)

本文发布于:2024-09-22 19:32:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/4608.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:回归   系数   曲线   曲线拟合   数据   估计
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议