直线矩阵数学之路(2)-四大神器-R(18)

最近研究直线矩阵,稍微总结一下,以后继续补充:

    目标是这些点到这条直线的距离的平方和最小,可运用最小二乘法,最小二乘法拟合的进程就是回归,这条直线就是回归线。

    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

文章结束给大家分享下程序员的一些笑话语录: 打赌
飞机上,一位工程师和一位程序员坐在一起。程序员问工程师是否乐意和他一起玩一种有趣的游戏。工程师想睡觉,于是他很有礼貌地拒绝了,转身要睡觉。程序员坚持要玩并解释说这是一个非常有趣的游戏:"我问你一个问题,如果你不知道答案,我付你5美元。然后你问我一个问题,如果我答不上来,我付你5美元。"然而,工程师又很有礼貌地拒绝了,又要去睡觉。  程序员这时有些着急了,他说:"好吧,如果你不知道答案,你付5美元;如果我不知道答案,我付50美元。"果然,这的确起了作用,工程师答应了。程序员就问:"从地球到月球有多远?"工程师一句话也没有说,给了程序员5美元。  现在轮到工程师了,他问程序员:"什么上山时有三条腿,下山却有四条腿?"程序员很吃惊地看着工程师,拿出他的便携式电脑,查找里面的资料,过了半个小时,他叫醒工程师并给了工程师50美元。工程师很礼貌地接过钱又要去睡觉。程序员有些恼怒,问:"那么答案是什么呢?"工程师什么也没有说,掏出钱包,拿出5美元给程序员,转身就去睡觉了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值