simple linear regression详解

这里主要是想详细说明一下有关linear regression的知识,包括其中蕴含的数学知识和计算过程,为自己今后学习打下基础,也希望分享给需要的人。部分图片与公式来源于网上。
首先说明什么是simple linear regression,

一个变量x,中文叫自变量吧,英文:predictor,explantory,independent variable

另一个变量y,中文为因变量,英文:response,outcome,dependent variable

当然这里都是统计意义上的,所以说是自变量与因变量也不是很合适,我们还是用英文表示。形式上就是Y=B0+B1*X

一般在拿到数据的时候,先用matlab或者其他软件画出散点图,如下图,肉眼看一下是否具有线性关系。
simple linear regression详解_第1张图片

下面我们首先看看如何利用这些样本点,做出一个比较好的线性回归方程,也就是求出B0,B1的最优值。

这里我们假设利用样本点得到的最优方程为:
这里写图片描述
这里采用小写表示是样本值,那么为了衡量这个估计是否是好的,定义如下参数预测误差(prediction error,residual error):
这里写图片描述
通常情况下我们采用均方误差最小准则(least squares criterion)来确定回归方程(当然也有别的)。公式如下:
这里写图片描述
这个Q函数以b0和b1为自变量的函数,即将方程参数求解问题转化为求该函数取最小值时,对应的自变量的值的问题。
第一种方法想到求偏导,然后另偏导数为0,得到解,为了显示基础性我还是手写以下计算过程:
simple linear regression详解_第2张图片
下面我们来进一步从预测误差来讨论,下面公式与之前多了一个期望值,其实很好理解,我们在回归分析的时候用的是样本y,并且把它当做是总体的期望来做的,当然存在误差了。
这里写图片描述
每一个样本点都伴随一个误差项,在进行分析的时候,我们会有如下假设这些误差项是具有相同方差的,并且之间相互独立;另外对于每一个给定的xi,Y还要近似服从正态分布。至于为什么要这样假设,这是因为要满足线性关系以及简化模型所需要的假设,譬如如果不同点之间的误差项方差很大,这样不同点就很难连接成一条直线,即使做出的直线也可能难以很好反应模型,当然实际数据中这些前提条件不可能完全满足。我们可以通过做出residual plot 误差项图来看一下是否满足这些条件:
如下两个图所示:第一个横坐标是x,纵坐标是误差项,可以看出基本上在一条线上下比较均匀分布,可以认为数据还是比较符合用线性回归模型的,第二个则不均匀,则你要考虑用别的非线性模型了.
simple linear regression详解_第3张图片

simple linear regression详解_第4张图片
这个误差项的方差记为这里写图片描述,那么这个方差就可以说明每一个样本点xi,对应的yi与估计的y值偏差的范围有多少。下面两个图就可以清楚说明不同大小的情况。
simple linear regression详解_第5张图片

simple linear regression详解_第6张图片

下面定义均方误差(mean square error,MSE)计算如下:(分母是自由度)
这里写图片描述

将其开根号为标准误差(regression standard error,residual standard error),
这里写图片描述
这些值得大小可以部分说明回归效果。
下面继续定义参数:从上到下分别为
回归平方和(regression sum of squares,SSR)
误差平方和(error sum of squares,SSE)
总离差平方和(total sum of squares,SSTO)
simple linear regression详解_第7张图片

r-squared value 也叫做coefficient of determination

另外说明一点,x与y相关并不能表示是x的变化导致了y的线性关系,也就是不一定存在因果关系,而只是数据上相关而已。
这里r值反应的就是这种线性相关程度。当r=0时,拟合曲线为水平直线,表明x与y不存在线性关系。

这里写图片描述

下面我们来说明为什么SSR在总的平方和总占的比例越大,则说明线性关系越好,SSE与上面的MSE是一个东西,表示的是样本值与拟合值之间差异的大小,也就是之间的误差了,当然误差不仅仅存在于样本值与拟合值之间,由于我们的样本与总体之间也有误差,而总体的估计我们是取了平均,可以类似用y平均来表示,所以SSR表示的是估计值与总体之间的误差,当然估计值与总体之间误差占的比例越大,就说明了线性关系更好,这里我自己说的都晕了其实,还是上图吧。
simple linear regression详解_第8张图片
上面两个样本,哪一个回归好呢?
第一个结果是绿色样本的:
simple linear regression详解_第9张图片
simple linear regression详解_第10张图片
第二个是红色样本的:
simple linear regression详解_第11张图片
simple linear regression详解_第12张图片
首先可以看出来,两个的均方误差的差异,而其差异表现在图中就是样本点与拟合直线的距离,
看看实际中红色拟合的曲线,感觉是不是不是很好反应样本数据,表现在r-squared值上就是比较小。

继续定义相关系数(correlation coefficient,r)同样表示变量之间的线性相关程度,至于为什么要用r-squared与r两个参数,我认为r这个参数无量纲,并且其取值为-1到1,可以用正负反应是正线性相关还是负线性相关。其具体计算如下:
simple linear regression详解_第13张图片

另外从网上搜集了一些注意事项,为了写的全面点,还是说一下吧:
(1)r值接近于0只是代表无线性相关,但是可以有非线性相关
(2)用线性模型取拟合数据得到的r值比较大,并不能很好说明回归方程很好的拟合了数据,可能是你的数据本来比较少,而线性模型刚好符合这一小段的数据,并不能很好的起到预测数据的作用
(3)r值得大小很可能受到极端样本点的影响,也就是可能是极端样本点造成了r值很小,而实际去掉极端点后用线性模型拟合效果很好。

以上基本上对于简单线性回归问题的参数求解,以及部分参数说明进行了解释,但是上面的参数都是通过样本点计算出来的,如果换一组样本值将得到不同的结果,因此并不能全面说明该模型的拟合效果,下面从假设检验和区间估计的方向去考虑问题:

一般情况下我们会控制第一类风险,也就是若实际中原假设为真,但是我们判断为原假设为假时的错误概率比较小,通常这个概率也叫做显著水平(一般为0.05),也就是说如果我们通过样本数据得到的结论是拒绝原假设,当然我们希望我们拒绝它是正确的,因此拒绝成功的概率就是1-显著水平。

(1)t分布假设检验:
第一步提出假设:
null hypothesis 原假设: 总体相关系数(population correlation coefficient)为0。
alternative hypothesis 备择假设:不为0。
第二步计算假设检验量:
这里写图片描述
这里统计量t服从n-2的t分布,至于如何具体推导,我准备后面再写出来,这里直接给结论,毕竟也没有那么数学化。
第三步做出判决:
利用其得到的P-value,当P-value小于显著水平时则拒绝原假设。

(2)F分布假设检验:
其目的仍然是利用假设检验与区间估计的思想,构造统计量F
simple linear regression详解_第14张图片
然后计算出概率值,因为这方面的数学知识我都忘记了,准备后面一起补上,所以这里直接给一个链接,想具体了解的可以去看:linear regression

到了这里我们可以解释一下所有利用matlab fitlm函数得到的结论中出现的各个参数含义:
这里我们从头开始计算,并且附上简单代码:这里还是用前面绿色样本所得到的数据结果分析(为了方便我在这里同样放一张图):
simple linear regression详解_第15张图片

首先:(intercept,z)分别表示截距与predictor,其后面的值是利用均方误差准则估计出来的值,再后面的SE计算如下:
simple linear regression详解_第16张图片
b1代表斜率,b0代表截距。至于为什么这么算属于统计学知识了(我确实没学好),只能总体上看一下SE,standard error是把x的方差考虑进去使得均方根误差标准化。

接下来是两个t统计量:(这里一般原假设是假设贝塔为0,也就是一般分子都是b1或者b0)
simple linear regression详解_第17张图片
知道了t值,查表就可以知道p-value,如果p-value小于0.05,那么拒绝原假设,认为存在线性关系。
接下来的自由度,MSE,r-squared,F之前都说过了。
好了,综合这里参数告诉了我们一个什么事情呢?就是分别从样本数据参数与统计学假设检验与区间估计的角度构造出来的参数告诉我们两者之间的线性程度如何

当然还有很多知识,这里就先写到这里。估计有很多认识不到位的,还请大家指出来

你可能感兴趣的:(ML)