局部多项式回归拟合是对两维散点图举办滑腻的常用要领,它团结了传统线性回归的简捷性和非线性回归的机动性。当要预计某个响应变量值时,先从其预测变量四周取一个数据子集,然后对该子集举办线性回归或二次回归,回归时回收加权最小二乘法,即越接近预计点的值其权重越大,最后操作获得的局部回归模子来预计响应变量的值。用这种要领举办逐点运算获得整条拟合曲线。
在R语言中举办局部多项式回归拟合是操作loess函数,我们以cars数据集做为例子来看下利用要领。该数据中speed暗示行驶速度,dist暗示刹车间隔。用loess来成立模子时重要的两个参数是span和degree,span暗示数据子集的获取范畴,取值越大则数据子集越多,曲线越为滑腻。degree暗示局部回归中的阶数,1暗示线性回归,2暗示二次回归,也可以取0,此时曲线退化为简朴移动平均线。这里我们设span取0.4和0.8,从下图可见取值0.8的蓝色线条较为滑腻。
————————
plot(cars,pch=19)
model1=loess(dist~speed,data=cars,span=0.4)
lines(cars$speed,model1$fit,col=’red’,lty=2,lwd=2)
model2=loess(dist~speed,data=cars,span=0.8)
lines(cars$speed,model2$fit,col=’blue’,lty=2,lwd=2)
————————
当模子成立后,也可以雷同线性回归那样举办预测和残差阐明
————————
x=5:25
predict(model2,data.frame(speed=x))
plot(model2$resid~model2$fit)
————————R语言中另一个雷同的函数是lowess,它在画图上较量利便,但在成果上不如loess强大和机动。
————————
plot(cars,pch=19)
lines(lowess(cars),lty=2,lwd=2)
————————
LOESS的优势是并不需要确定详细的函数形式,而是让数据本身来措辞,其缺点在于需要大量的数据和运算本领。LOESS作为一种滑腻技能,其目标是为了探寻响应变量和预测变量之间的干系,所以LOESS更被看作一种数据摸索要领,而不是作为最终的结论。
在R语言中举办局部多项式回归拟合(LOESS)
最后更新 2017-12-04 08:00 星期一 所属:
其他教程 浏览:980