单变量线性回归
#构造数据点
> y<-c(5,7,9,11,16,20)
> x<-c(1,2,3,4,7,9)
#绘制
>plot(x,y)
#计算回归直线方程的斜率和截距、残差
>lsfit(x,y)
#绘制回归线
>abline(lsfit(x,y))
用 y=1.845070*x+3.338028 回归方程求的y的值与实际值的偏差
lsfit(x,y)的值
回归线
通过lm方法做更详细的回归分析
#构造数据点
> y<-c(5,7,9,11,16,20)
> x<-c(1,2,3,4,7,9)
> lm(y~x)->xy
> summary(xy)
分析数据
多元线性回归
#构造数据点
> y<-c(5,7,9,11,16,20)
> x<-c(1,2,3,4,7,9)
> x2<-c(6,8,10,12,16,20)
> lm(y~x+x2)->xy2
> summary(xy2)
多元线性回归
得到回归方程 y= x+0.5*x2+1
非线性回归
无论是哪种非线性回归模型,最后都可以通过变量转化为线性模型,从而用最小二乘法进行回归分析
> x<-c(1,2,3,4,7,8,9)
> y<-100+10*exp(x/2)+rnorm(x)
#使用nls函数,应用最小二乘原理,实现非线性回归分析
> nlmod<-nls(y~Const+A*exp(B*x))
> summary(nlmod)
#绘制拟合图
> plot(x,y,main="nls(o)")
> curve(100+10*exp(e/2),col=4,add=TRUE)
> lines(x,predict(nlmod),col=2,type='b')
非线性回归
可以看出得到值与实际值拟合的很好
拟合图