14 最小二乘估计原理推导和线性回归的外推等
标签:机器学习与数据挖掘
(此篇R代码对应本博客系列《12 R语言手册(第五站 多元回归》)
1.简单最小二乘估计的推导
先说个历史:最小二乘法是勒让德( A. M. Legendre)于1805年在其著作《计算慧星轨道的新方法》中提出的。它的主要思想就是求解未知参数,使得理论值与观测值之差(即误差,或者说残差)的平方和达到最小。
首先我们有基本的线性回归模型:y^=β0+β1x+ε。其中,y^是估计变量,β0和β1是实际回归线的截距和斜率,表示所有谷物营养等级与含糖量之间的线性关系,不仅针对样本。ε=(y−y^)是误差项的估计值。
最小二乘线是使总体误差平方和最小的线,假定我们的模型有n个观察值:首先我们有SSEp=∑i=1nεi2,这是误差的平方和。再表示总体SSEs为:
SSEp=∑i=1nεi2=∑i=1n(yi−β0−β1xi)2
明白我们的目标是使得SSE最小,这里,我们对其求偏导:
∂β0∂SSEP∂β1∂SSEp=−2i=1∑n(yi−β0−βixi)=−2i=1∑nxi(yi−β0−β1xi)
我们对β0和β1感兴趣,所以我们令上面两个公式等于0,有:
∑i=1n(yi−b0−b1xi)=0∑i=1nxi(yi−b0−b1xi)=0
进一步处理得:
∑i=1nyi−nb0−b1∑i=1nxi=0∑i=1nxiyi−b0∑i=1nxi−b1∑i=1nxi2=0
再平移变换得:
b0n+b1∑i=1nxi=∑i=1nyib0∑i=1nxi+b1∑i=1nxi2=∑i=1nxiyi
整理得到β0和β1的表达式:
b1b0=∑xi2−(∑xi)2/n∑xiyi−[(∑xi)(∑yi)]/n=y−b1x
再理解这些符号的含义:其中n是观察对象的数量,x是预测变量均值,y是响应变量均值。求和范围为i=1到n。上面的两个式子
为β0和β1的最小二乘估计结果,其值为最小SSEs。
(最后,最小二乘法有多重延伸,也不仅仅只是用在线性回归上面。)
对多元的情况的话,可以参考这个个人博客:
https://endlesslethe.com/category/数学/统计学与数理分析
这人讲的挺好呀。
2.线性回归模型的外推
许多时候我们的自变量必须设定一定范围,否则会出现问题。比如,假设我们期望预测小学生的体重(y),基于其身高(x),则身高=0没有任何意义,因此截距的外延含义在该例中没有可解释的实际意义。然而,对谷物数据集来说,含糖量x为0的确具有实际意义,可以发现数据集中有多条记录含糖量均为0克。
分析人员应当在利用回归方程开展估计和预测工作时,限制其预测变量的取值,使其又值在数据集的取值范围内。例如,在谷物数据集中,含糖量从最低的0克到最高的15克,因此在进行营养等级预测时,对任意的含糖量x值应该在0-15克之间。然而,外推,每可能导致x值超出这一范围,这样做是存在危险的,因为我们不知道在要求范围之外的向应变量和预测变量之间的关系属性。
应尽量避免外推。如果预测变量超出给定x值的范围,应该告知进行预测的终端用户,其x值数据无法支持该预测。危险在于,当数据集中的x处于正常范围时,预测变量x和响应变量y之间的关系可能是线性的;而当x处于正常范围之外时,这种线性关系可能不存在。
3.平方和汇总SST
这节不懂可以结合本系列的《02 线性回归(二)》。
假设我们为整个数据集中的每个记录计算(y−y),然后获得这些结果的平方和,类似于计算(y−y)以获得SSE那样。将获得SST,平方和。
SST,也称为平方和汇总,是一种仅度量响应变量总体变化值,而不考虑预测变量的方法。注意SST是y的样例方差的函数,其方差是y的标准偏差的平方:
SST=i=1∑n(y−y)2=(n−1)sy2=(n−1)(sy)2
下面是一个示例:

通过各自的定义式,我们可以轻易的知道他们的关系:
SST=SSR+SSE
∑(yi−y)2=∑(y^i−y)2+∑(yi−y^i)2
4.R方
清楚了这些变量的含义之后,现在可以介绍系数确定方法了:
R2=1−SSTSSE
r2=SSTSSR
由于r2的形式为SSR与SST的比率,因此可以认为,r2表示回归所解释的y变量的变异性;也就是说,预测变量与响应变量之间的线性关系。
r2的最大值可以取何值呢?当回归与数据集完全拟合时,即每个数据点都处于估计回归线上,r2取最大值。当r2取最大值时,使用回归没有产生估计误差,意味着所有残差都为0,反过来也意味着SSE等于0。从方程式(8.11)可以看出,我们有SST=SSR+SSE。如果SSE=0,则SST=SSR,因此,r2等于SSR/SST=1。因此,当回归完全拟合时,r2取最大值为1。
5.估计标准误差
通过以上的分析我们知道了r2适用于度量回归与数据集的拟合度的。然后,我们介绍用于估计标准误差的 s 统计量。
定义MSE 误差平方均值:
MSE=(n−m−1)SSE
(其中,m表示预测变量的个数,对简单线性回归,该值为1,对多元线性回归(第9章),该值大于1。类似SSE,MSE表示一种度量回归为能解释的响应变量的变异性。)
然后,就有:
s=MSE=(n−m−1)SSE
s的值提供了一种估计“典型”残差大小的方法,类似于单因素分析中用到的标准偏差,标准偏差用于估计典型偏差的大小。换句话说,s是在估计中一种度量典型误差的方法,预测响应值与实际响应值之间的典型差异。采用该方法,估计s的标准误差表示由估计回归方程所产生预测的精度。s值越小越好,当s用响应变量y的单位来表示时效果更好。
在没有软件工具的情况下,我们可以利用以下计算公式计算得到SST和SSR的值:
SSTSSRr2=∑y2−n(∑y)2=∑x2−(∑x)2/n[∑xy−(∑x)(∑y)/n]2=SSTSSR
6.简单线性回归的方差分析表
回归统计可能简洁地表示为对方差表的分析(ANOVA)。其中,m表示预测变量的数目,对简单线性回归来说,m=1。
