您的位置:首页 > 其它

数学之路(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))


本博客所有内容是原创,未经书面许可,严禁任何形式的转载。


http://blog.csdn.net/u010255642

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: