前言: True regression functions are never linear!
自从学了Andrew Ng上的machine learning及Trevor Hastie和Rob Tibshirani 的statistical learning课程之后一直想为线性回归写些总结,但是踌躇了很久却写不下去。第一,它实在是太简单了,感觉没什么东西可以写;第二,本人水平有限,不能信手捏来,也不能像大神那样能够系统阐述问题,怕写出的文章不够严谨,甚至出现错误。但还是得硬着头皮写下来,原因一是简单的东西都写不好,就不要说要写比较复杂的东西;原因二线性回归模型是其他模型的基础,它的最重要的是思想,这种思想可以延续和扩展到其他模型;原因三是另外其实它远不像我们想象的那么简单,有不少的细节需要考虑,下面我们将一一讲述。
- 什么是线性回归?
- 如何求线性回归的解?
- 如何评价线性回归的解?
- 如何评价估算出来的线性模型?
- 如果模型中存在定性变量应如何处理?
- 如果有交互项应如何处理?
- 其他需要考虑的问题有哪些?
1、什么是线性回归?
线性回归由两个词组成的:线性和回归。线性用来描述变量X(variable 或predictor或feature)的系数与响应Y(response)之间的关系是线性的。回归说明它的响应是定量(quantitative)的,而不是定性(qualitative)的。为了便于理解,我们一般先假设最简单的情况:当变量是单变量(Simple linear regression)的时候。这个模型可以用代数表达:
其中 β0 和 β1 是我们所要估计的未知参数(coefficients 或parameters), ϵ 代表误差(可以先不用考虑)。从几何的角度上看Y是X的一次函数,在二维坐标中,它们的关系如图1所示:
同理可以扩展到多变量线性回归模型(multiple linear regression),其模型可以表达为:
p表示变量的个数, β0 , β1 ,…, βp 表示需要估计的参数,共有p+1个, ϵ 代表误差(可以先不用考虑)。其中变量X可以是不同形式:
. 是定量数据(quantitative),我们遇到大部分是这种情况;
. 定量数据X的各种转换,如:取对数logX;取平方 x2 ;取倒数1/X等等;
. 定量数据X的基扩展(basic expansion),如 x2=x21 , x3=x31 ,这就变成多项式回归;
. 表示离散值,比如一些定性的变量(qualitative),如性别:男和女等;
. 变量之间的交互(interaction),比如 x3=x1∗x2 .
虽然上述有些情况X并不是线性的,但Y仍然是线性回归模型,只不过在模型的解析上会有不同,我们仍然可以用公式(2)来描述。在后面的章节我们会逐一解析。
假设在三维空间,即有2个变量 x1 与 x2 ,则Y是个平面,如图2所示:
如果有三个或三个以上的变量,则Y(模型)是个超平面,目前很难可视化,只能靠想象了。
线性回归是一种有监督学习(supervised learning),即用已知的数据来训练生成模型。既然我们已经假设模型是线性的,我们如何根据我们所拥有的数据来求它的解(参数)?
2、 如何求线性回归模型的解?
问题描述:
假设有N个样本( x1 , y1 ),( x2 , y2 ) ,…( xn , yn ),每个样本有p个变量 xi=(xi1,xi2,...,xip) ,求 β0 、 β1 、…、 βp ,使得这些训练样本与得出的模型的拟合度最好。
最常用的是的方法是最小二乘法(least squares),该方法早在1805年法国科学家勒让德(Legendre)就已经发表了,接着高斯(gauss)也在1809年发表了该方法,并称该方法在1795年他就提出了,所以就产生了争议[1]。最小二乘法,用残差平方和(Residual Sum of Squares, RSS)来描述样本与模型的拟合度,定义如下: