数学之路(2)-数据分析-R基础(18)
2013-05-11 14:53
344 查看
目标是这些点到这条直线的距离的平方和最小,可运用最小二乘法,最小二乘法拟合的过程就是回归,这条直线就是回归线。
Lsfit()函数完成最小二乘法拟合,其主要参数为:
X:一个矩阵的行对应的情况和其列对应为变量。
Y:结果,可以是一个矩阵,如果你想,以适应多种左手侧。
Wt:可选参数,加权最小二乘法的执行权重向量。
Intercept:是否应使用截距项。
Tolerance:公差将用于在矩阵分解
Yname:用于响应变量的名称。
我们以x=(1,2,3,4),y=(2,4,6,8),可得到回归线方程为
Y=2x
> y<-c(2,4,6,8)
> x<-c(1,2,3,4)
> lsfit(x,y)
$coefficients
Intercept X
0 2
........
........
上述结果中,Intercept项表示截距,x项表示方程的x的常数项。
我们先假设回归线为
Y=2x+3
然后,根据回归线构造x和y值。
> y<-c(5,7,9,11)
> x<-c(1,2,3,4)
执行lsfit()函数
> lsfit(x,y)
$coefficients
Intercept X
3 2
要正确得出方程的截距为3,x的常数项为2。现实生活中,很难有如此精确的模型,我们再多构造一些点:
> y<-c(5,7,9,11,16,20)
> x<-c(1,2,3,4,7,9)
> lsfit(x,y)
> x<-c(1,2,3,4,7,9)
> y<-c(5,7,9,11,16,20)
我们通过plot(x,y)来绘制这些点在直角坐标系中的位置,这个图也被称为散点图。
> plot(x,y)
> lsfit(x,y)
$coefficients
Intercept X
3.338028 1.845070
$residuals
[1] -0.18309859 -0.02816901 0.12676056 0.28169014 -0.25352113 0.05633803
Coefficients为系数,包括截距和x的系数,residuals表示残差,残差分别反应了这些点与直线的差异,残差越小越好,我们将回归线也画上
> abline(lsfit(x,y))
可以看到拟合效果还是不错的,我们也可以使用lm()函数,来建立线性模型进行回归分析:
画x,y的散点图: plot(x,y)
做相关回归分析,结果存放在xy中: lm(y~x)->xy
显示xy的相关回归分析结果:summary(xy)
画回归线:> abline( lm(y~x))
Lsfit()函数完成最小二乘法拟合,其主要参数为:
X:一个矩阵的行对应的情况和其列对应为变量。
Y:结果,可以是一个矩阵,如果你想,以适应多种左手侧。
Wt:可选参数,加权最小二乘法的执行权重向量。
Intercept:是否应使用截距项。
Tolerance:公差将用于在矩阵分解
Yname:用于响应变量的名称。
我们以x=(1,2,3,4),y=(2,4,6,8),可得到回归线方程为
Y=2x
> y<-c(2,4,6,8)
> x<-c(1,2,3,4)
> lsfit(x,y)
$coefficients
Intercept X
0 2
........
........
上述结果中,Intercept项表示截距,x项表示方程的x的常数项。
我们先假设回归线为
Y=2x+3
然后,根据回归线构造x和y值。
> y<-c(5,7,9,11)
> x<-c(1,2,3,4)
执行lsfit()函数
> lsfit(x,y)
$coefficients
Intercept X
3 2
要正确得出方程的截距为3,x的常数项为2。现实生活中,很难有如此精确的模型,我们再多构造一些点:
> y<-c(5,7,9,11,16,20)
> x<-c(1,2,3,4,7,9)
> lsfit(x,y)
> x<-c(1,2,3,4,7,9)
> y<-c(5,7,9,11,16,20)
我们通过plot(x,y)来绘制这些点在直角坐标系中的位置,这个图也被称为散点图。
> plot(x,y)
> lsfit(x,y)
$coefficients
Intercept X
3.338028 1.845070
$residuals
[1] -0.18309859 -0.02816901 0.12676056 0.28169014 -0.25352113 0.05633803
Coefficients为系数,包括截距和x的系数,residuals表示残差,残差分别反应了这些点与直线的差异,残差越小越好,我们将回归线也画上
> abline(lsfit(x,y))
可以看到拟合效果还是不错的,我们也可以使用lm()函数,来建立线性模型进行回归分析:
画x,y的散点图: plot(x,y)
做相关回归分析,结果存放在xy中: lm(y~x)->xy
显示xy的相关回归分析结果:summary(xy)
画回归线:> abline( lm(y~x))
本博客所有内容是原创,未经书面许可,严禁任何形式的转载。
http://blog.csdn.net/u010255642
相关文章推荐
- 数学之路(2)-数据分析-R基础(23)
- 数学之路(2)-数据分析-R基础(3)
- 数学之路(2)-数据分析-R基础(3)
- 数学之路(2)-数据分析-R基础(4)
- 数学之路(2)-数据分析-R基础(22)
- 数学之路(2)-数据分析-R基础(20)
- 数学之路(2)-数据分析-R基础(24)
- 数学之路(2)-数据分析-R基础(11)
- 数学之路(2)-数据分析-R基础(12)
- 数学之路(2)-数据分析-R基础(21)
- 数学之路(2)-数据分析-R基础(5)
- 数学之路(2)-数据分析-R基础(7)
- 数学之路(2)-数据分析-R基础(16)
- 数学之路(2)-数据分析-R基础(1)
- 数学之路(2)-数据分析-R基础(9)
- 数学之路(2)-数据分析-R基础(17)
- 数学之路(2)-数据分析-R基础(25)
- 数学之路-数据分析进阶-多变量数据分析(1)
- 数学之路-数据分析进阶-多变量数据分析(2)
- 数学之路-数据分析进阶-Cox比例风险回归模型