这篇文章算是对之前通过看视频学到的一些知识的总结,包括:简单线性回归中拟合直线的两个参数

的推导(最小二乘法)

简单线性回归中对

意义的一点个人理解

推导

尽管我也很想整一个太长不看版……然鹅

简单线性回归中拟合直线的两个参数

的推导

现在我们有一组数据点,比如说x代表体重,y代表腹围,那么y和x之间的关系可以用下面的式子表示

实际上我们不可能知道beta0,beta1和u,但是我们可以使用手上有限的数据推测出下面的线性方程

(1)

于是真实值y和使用拟合直线预测出来的

之间就会有偏差,用

表示这个偏差。

由于反复打\hat实在是很麻烦的一件事情,况且真实的beta0,beta1和u在下面的推导里都用不上,所以接下来

都不会加hat,这里先提前说明一下

其实简单线性回归说白了就是根据手上的数据点想办法优化拟合直线的两个参数,让预测值

和真实值y之间的偏差尽可能的小。也就是让u(如上所述,为了省事这里不加hat了)的总和尽可能的小。问题是如果直接把u相加,有些u可能为正,有些u可能为负,而且举一个极端的例子,令

作为拟合直线,这个时候的拟合水平相当于是最差的(在所有经过

的直线中),但是根据平均值的性质,一组数据各项减去平均值差的和等于0. 为了避免这个尴尬的局面,仿照方差的定义,我们把各个u都作一个平方,然后把平方求和:

(2)

所以接下来需要做的就是求(2)式的极值。这个式子是一个二次方程,只有一个极小值,位于导数等于0的地方。于是(2)求最小值的问题可以通过对beta0和beta1分别求一阶导数,令一阶导数为0就可以求出符合要求的两个参数了。

先看beta0

符合极值要求的方程如下:

这个式子将2和-1两个常数消掉,于是方程左边等于:

由于

,上面的方程实际上就是:

所以

(3)

也就是说,根据极值的要求, 拟合直线必须经过

这个点

接下来看关于beta1的方程

同样是消掉常数,把x乘进各项:

将(3)代入上式,方程左边等于

将常数(

) 提取出来:

同样,由于

整理一下上面的式子,于是方程转化成下面的形式

也就是说

在进一步转化以前,我们先看一下x和y的协方差Cov(x,y)(实际上是样本协方差

,和上面一样,这里为了省事就不打hat了)是什么:

well, 不大严谨的说呢,对一组样本量为n的数据的x值(我们假定样本里面每一个数据出现的概率是均等的),

,于是:

上面这个不怎么严密简化而来的式子,做一下转换可以有

只看sum这一块:分解开来,可以有:

所以我们beta1的分子实际上不就是等于

么?

接下来看一下分母部分,这个就更眼熟了,我们看一下方差的公式:

其中方差公式的分子部分:

所以beta1的分母实际上就是nVar(X),综上:

(4)

对于R方意义的一些个人理解

比如说现在我给你一组人(样本量为n)的腹围数据(也就是上面提到的y),除此以外什么都没有了。那现在你想要给出一个拟合直线,让所有的y值到这个拟合直线的距离

的平方的和尽可能的小。鉴于我们没有其他的参数(比如说体重x),因此

只能设置成一个常数。于是现在我们最好的选择就是使用样本均值,毕竟根据平均值的性质:

的时候是最小的,而这个SS我们记为SS_mean:

现在比如说,我们的数据集里增加了体重这一个参数(x),于是我们可以考虑根据x对y进行一个预测了,所以

不必再设置为一个常数,而是可以按照下面的式子去计算:

,那么根据新的

推算出来的u平方的和我们记为SS_fit

那么现在的SS_mean代表的是什么呢?也就是完全没有任何其他信息的时候,单纯从腹围这个变量自身出发可以得到的最低的误差平方和。而SS_fit又代表什么呢?它代表的是加入了x这个变量以后,在已经做了最优化的设置(比如使用最小二乘法)之后,还会残留的误差的平方和。

于是有:

这个R方的分子代表的是加入了x这个变量以后,可以消除多少的误差(原有的全部误差SS-剩下的误差SS),分母就是原有的全部误差SS。所以R方代表的是加入x变量以后,可以消除掉的误差SS的一个比例。所以当R方接近0 的时候,就说明新加入的这个变量基本没什么用,而接近1的时候,就说明这个新加入的变量大幅度的减少了预测的误差。

接下来继续说点不严谨的个人看法。方差分析我们都知道,对吧?就拿最基本的单因素方差分析(比如说比较三个组的分数)来说,最后的统计值F是

,

(k是组数,N是全部组合在一起以后的样本量)。下面的讨论我们会看到,继续用x来表示分数会引起歧义,所以我们现在统一改用y来表示分数这个因变量。

我们先写一下SST等于什么

,很简单,就是把所有组的样本合在一起以后,求这一大堆东西的SS

什么意思呢?回到线性拟合的例子,在我们没有x变量的时候,我们只能使用

这个量作为估计值,获得的最小SS也就是SS_mean了。而在方差分析里,假如我不给你分组情况,那你也只能用

作为所有样本的一个代表值,这时候求出来的SS_mean不就是SST么?

那么什么是SSW呢?

同样的,在线性拟合的例子里,如果我给了你x这个变量,现在你可以进行拟合,计算

,于是现在的SS会缩小成SS_fit。而在方差分析里,现在我给了你分组信息,这个分组信息也可以理解成一种自变量。比如说现在有三组,那也就是自变量可以取3个值[1组,2组,3组]。

那对某一组来说,我的

应该取什么才能让

最小呢?那当然是这一组的平均值呀,也就是

了。这不就是SSW么?

所以我们的

从这个角度再来看一下方差分析,分数y现在其实是一个我们要预测的值,通过什么去预测呢?通过分组。如果我们的分组可以给预测提供比较有意义的信息,那也就是说一个数据点在不同的组,那它的y值就应该符合这个组的特点;与之相反的,如果一个数据点不管在哪个组其实区别都不大,那我们的分组信息对于预测y就没有什么意义,也就是组间区别不大。

see? R方在方差分析里代表的是通过分组,利用新的各组均值去代表各组水平,可以将多少的组内变异消除。well,所以SPSS里面把2 way anova放在一般线性模型里也就可以理解了。

R方为什么等于r的平方?

r也就是皮尔森相关系数,r的计算公式如下:

而R方么,将SS_fit 和SS_mean的式子代入R方的公式可以得到:

(3-1)

先看分子部分,并将

代入,可得:

(3-2)

接下来看减号后面的这一块,将 关于

的(3)式代入:

再将关于

的(4)代入:

平方打开来:

分别求和

提取常数,该Var的Var,该Cov的Cov:

(3-3)

把(3-3)回代到(3-2),两个nVar(y)互相消掉,于是分子就是

而式3-1的分母不就是nVar(y)么?

所以式3-1也就是:

well,

所以

顺带一提,

,而

所以

也就是式3-1的分子部分(

)。这也是当然的,毕竟和方差分析一样,SSB=SST-SSW嘛。

而且,其实R方等于r^2的验证直接用

会来的更快呢。(看了统计学中一元线性回归中拟合优度为什么等于相关系数的平方,请证明?的回答发现了这个问题)

重申一下,这篇文章所有的推导都只是演示一下关联性,协助理解。如果有什么问题非常欢迎大家提出。

二次拟合r方_r的平方为什么是R方?相关推荐

  1. java集成r语言_R语言- 实验报告 - 利用R语言脚本与Java相互调用

    一.实训内容 利用R语言对Java项目程序进行调用,本实验包括利用R语言对java的.java文件进行编译和执行输出. 在Java中调用R语言程序.本实验通过eclipse编写Java程序的方式,调用 ...

  2. 关于机器学习预测,我的训练集R方可以达到0.9以上,但是测试集R方只能0.2左右,而且不是过拟合,各种调参之后测试集R方最高只能到这个水平,请问这种是什么原因

    关于机器学习的,我的训练集R方可以达到0.9以上,但是测试集R方只能0.2左右,而且不是过拟合,各种调参之后测试集R方最高只能到这个水平,这种是什么原因

  3. 下载的长数据怎么分开R语言_R语言学习笔记(一):学代码,我们从最基础的开始...

    *本文是本人在学习 res method 课程中反复学不会被自己蠢到的笔记作品,仅供本人娱乐使用,如果恰好里面的内容也能帮到你,那可真是太好了. 同学们,我们这节课来学习R语言,那么我们为什么要学习R ...

  4. 1071svm函数 r语言_R语言机器学习之核心包e1071 - 数据分析

    R语言有很多包可以做机器学习(Machine Learning)的任务.机器学习的任务主要有有监督的学习方式和无监督的学习方式. 有监督学习:在正确结果指导下的学习方式,若是正确结果是定性的,属于分类 ...

  5. 用Matlab求二次多项式,matlab二次多项式拟合

    用matlab做散点的二次曲线拟合_数学_自然科学_专业资料.例 对下面一组数据作二次多项式拟合 xi 0.1 0.2 0.4 0.5 0.6 0.7 0.8 0.9 1 yi 1.978 ..... ...

  6. python r语言培训_R语言学习第一课

    最早2010年6月17日建立的这个博客, 开始学习R语言也是在4年前,读过Robert I. Kabacoff著的<R语言实战>,从中学到了不少R语言的实践技能. 最近开始关注统计学,运筹 ...

  7. 包r语言_R语言代码共享:制作R包

    作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量.机器学习.数据可视化.应用统计建模.知识图谱等,著有& ...

  8. CSDN ARIMA R语言_R语言实现Fleiss#39; Kappa系数处理多个观察者一致性检验

    Fleiss' kappa系数.该检验适用于分析重复测量3次及以上且测量结果是无序分类变量的重测一致性或观察者一致性检验.SPSS没有内置操作模块,但可以通过拓展包输出结果.Fleiss' kappa ...

  9. 包r语言_R语言入门之寻找你的R包

    关于寻找目标R包,一般可以在官网利用关键词搜索即可获得相关信息,不过米老鼠在这里想给大家介绍一个特别的R包,它可以帮助你寻找你想要的理想R包. 不过,在正式讲解,我想和大家提醒一下安装R包的注意事项: ...

  10. moran指数 r语言_R语言空间数据分析(七):空间自相关

    作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量.机器学习.数据可视化.应用统计建模.知识图谱等,著有& ...

最新文章

  1. 基于OpenCV的条形码区域分割
  2. 不懂复盘,十年经验等于零
  3. [ruby] wxRuby安装
  4. 52 个深度学习目标检测模型汇总,论文、源码一应俱全
  5. 数字示波器使用中的欠采样
  6. python __builtins__ complex类 (13)
  7. MQTT 轻量版实例发布,满足更多移动互联场景
  8. 【select模块】select IO多路复用和select实现FTP
  9. 前端开启本地serve调试项目,http-server:一个命令行http服务器
  10. 每一句都值得品味的话
  11. Linux缓存机制之块缓存
  12. JAVA面试技巧之项目介绍
  13. C语言来实现链表创建
  14. python全套视频免费教程_《python免费视频教程33》 请问谁有靠谱的Python全套视频教程,求推荐分享...
  15. 计算机里没有硬盘 右下角有图标,电脑右下角显示硬盘图标怎么去掉<br?电脑 – 手机爱问...
  16. 蓝牙耳机BES2300P通过盒子获取/修改耳机状态信息
  17. Log4j2跨线程打印traceId
  18. 计算机自带游戏在哪里打开,今天才知道,原来电脑上自带游戏模式,开启后瞬间提升流畅度...
  19. “信息系统灾难恢复方案设计”大赛
  20. Excel在数字单元格后面怎么添加统一的内容(数字或其他内容)

热门文章

  1. linux 查看nas磁盘阵列,NAS(linux)阵列管理
  2. uni-app(微信小程序)连接HC系列蓝牙模块并进行双向通信采坑总结
  3. 知码开门 装箱问题
  4. PHP苹果内购验证步骤
  5. 「实用工具—LICEcap」写博必备|动图制作|一键生成gif(GIF)
  6. Python获取某平台主播照片, 实现颜值检测, 进行排名
  7. 中国海外文物拍卖天价
  8. 超微服务器双路主板系列,超微发布X12DPL系列服务器主板 支持双路10nm Ice Lake至强处理器...
  9. Hibernate基于JAP注解开发
  10. 头条面试题:判断一个数是否是happy number(每一位的平方和最终为1)