曲线拟合:(线性回归方法:lm)
1、x排序
2、求线性回归方程并赋予一个新变量
3、plot(x,y)
#做y对x的散点图
4、lines(x,fitted(z))
#添加拟合值对x的散点图并连线
曲线拟合:(nls)
lm是将曲线直线化再做回归,nls是直接拟合曲线。
需要三个条件:曲线方程、数据位置、系数的估计值。
如果曲线方程比较复杂,可以先命名一个自定义函数。
例:
根据估计的系数直接在散点图上使用lines加曲线即可。
曲线拟合:(局部回归)
lowess(x, y=NULL, f = 2/3, iter = 3)
loess(y~x, data, span=0.75, degree=2)
举例:
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做回归曲线的另一种做法
欢迎交流:QQ279175732
擅长领域:室内定位,导航算法,数据分析与数据挖掘