大数据分析笔记 - 线性回归分析
总览
回归分析:试图解释一组变量对另外一个变量的结果的影响。结果变量被称为因变量(dependent variable)。其他变量被称为输入变量(input variable) 或者自变量(independent variable) 。
回归分析可用于解答:
人们期望的收入是多少?
贷款申请人拖欠还款的概率有多少?
线性回归 (Linear Regression)
线性回归是一种用来对若干输入变量与一个连续结果变量(continuous outcome variable)之间关系建模的分析技术。
关键假设(key assumption): 输入变量和结果变量之间的关系是线性的。
不确定性(Non-deterministic nature) :线性回归模型是基于概率的,以解释可以影响任何特定结果的随机性(randomness)。基于已知的输入值,线性回归模型提供了结果变量的预期值(expected value),但是预测结果仍然可能存在某些不确定性。
应用
- 房地产 (real estate):房屋价格 ~ {面积,卧室数量,学区排名,周边犯罪率等}
- 需求预测 (demand forecasting):客户将消耗的食物数量 ~ {天气,星期几,折扣如何等}
- 医疗类 (medical):治疗效果 ~ {持续时间,剂量,患者自身属性等}
模型 (Model Description)
线性回归模型假设在输入变量与结果变量之间存在线性关系,这种关系可以由以下公式表示。
在这个线性模型中,β(j)代表了未知的模型参数。
目标:未知模型参数的取值应该让线性回归模型能根据输入变量对结果变量提供一个平均意义上的合理估算。换言之,拟合出的模型需要将从线性模型预测的结果(the value predicted by the linear regression model)与实际观察值(the actual observations collected)之间的总体误差(error)降到最低。
普通最小二乘法(Ordinary Least Squares - OLS):一个估计参数的常用技术。OLS通过找到通过输入点的直线,使得每个点与这条直线在垂直方向的差值的平方和最小。(OSL没有关于误差项error term的假设)
误差项 (error term)
线性回归模型在OSL之上进行其他假设。这些额外假设(additional assumption)为利用线性回归模型提供了进一步的功能。通用假设:误差项(error term)是正态分布的随机变量(normal distributed random variable)。
对于给定的输入变量,这个额外假设对于y的期望值E(y)产生了以下结果:
因为β和X是常量,因此E(y)是线性回归模型对于给定的 (X1, X2, …, Xp-1) 产生的结果值。此时,对于给定的 (X1, X2, …, Xp-1),y的方差V(y)如下:
因此,对于给定的输入变量,y是以 E(y) 为均值和以 σ2 为方差的正态分布。因此,回归模型针对给定的x值估计y的期望值。下图表示了给定x值得情况下,误差值的正态分布以及对结果变量y的影响。
误差项的正态性假设(normality assumption)帮助对回归模型进行假设检验(hypothesis testing)。提供β0和E(y)的置信区间 (confidence intervals)。
注意事项
- 特征选择的时候,可以使用散点图矩阵来看各参数之间是否有线性关系。散点图矩阵是一个用来查看变量间成对关系的信息工具。
- 如果一个系数和0没有统计学上显著不同,则应该排除模型中该系数和相关变量。
- 当使用线性回归模型针对模型训练数据集中不具代表性的输入变量预测结果时,可能会得到有误导性的结果。
- 处理分类变量(categorical variables):
错误方法:基于字母顺序给它们分配数字。
合适方法:我们可以采用m个不同的值,我们应该将m-1个二进制变量添加到回归模型中。
- 参数的置信区间 (confidence interval): t-test可以以参数的置信区间的形式表示。
- 预期结果的置信区间和预测区间(prediction interval): 置信区间不应被视为代表特定结果的不确定性。区别:置信区间适用于落在回归线上的预期结果。预测区间适用于可能出现在正态分布中带有E(y)和V(y)的任何位置。
- 分析过程的早期考虑所有可能的输入变量。
- 添加更多变量时要小心。
- 检查任何离群值(outliers),或者那些和大多数其他点不同的观测点。
- 检查估计参数(estimated parameters)的大小(magnitudes)和符号(signs)是否有意义。
标准化残差 (residual standard error)
是观测残差的标准偏差。这个值以及相关的自由度,可以用来审查假定的正态分布的误差项方差。
R-squared
是一个常用的报告度量(reported metric),用来衡量线性回归模型解释数据时的偏差。R-squared的取值范围为0~1,越接近于1表示模型可以更好地解释数据。R-squared正好等于1表示模型完美地解释了数据(所有残差值等于0)。(考虑过拟合的问题)
F统计 (F-statistic)
提供了方法来测试整个回归模型。在之前的t-test中,进行个体检验是为了确定每个参数的统计意义。而F统计和相应的p-value则允许执行者检验假设:
诊断 (Diagnostics)
再次重申,线性回归模型取决于假设。
我们需要验证拟合的回归模型(fitted regression model):
评估线性假设(linearity assumption)
针对每个输入变量和结果变量之间关系绘图。如果无法使用线性模型(如抛物线状),则转换结果变量,或者转换输入变量,或者在回归模型中添加额外输入变量或项。(包括取变量的平方根或对数。或者创建新的输入变量,如年龄的平方。然后添加入线性回归模型来拟合输入变量和结果之间的平方关系)
评估残差(residuals)
如之前所述,线性回归模型中的误差项被假设为一个均值为零且方差为常数的正态分布。(若该假设不成立,则基于假设检验,置信区间和预测区间所做的各种推论则需要被怀疑)
如果要检查回归线上所有y值得常数方差,可以使用一个简单的拟合结果值的残差图。
残差: 是基于OLS参数估计的拟合值和观测结果变量之间的差值。
如上图,无论拟合线性回归模型上的outcome是什么,都可以观测到在参考零线两侧比较均匀地分布的残差,而且残差从上一个拟合值到下一个拟合值的分布相当恒定。这一类分布图能够支持关于误差项的均值为0以及方差为常数的假设。
如果残差图看起来像上图中这些模型那样,那么需要考虑和尝试之前讨论的一些转换或添加额外的输入变量。
评估正态性假设(normality assumption)
观察残差图之后,仍然需要验证正态假设。
从直方图中可以看到,残差的分布以零线居中而且以零值对称,这正如人们对正态分布的随机变量所期望的那样。
另一个方法是检查分位数图(Q-Q plot),该图可以比较并观测数据和假定分布的分位数 (Q)。
N重交叉验证 (N-fold Cross-Validation)
为了防止过度拟合一个给定的数据集,一种通常的做法是将整个数据集随机分成训练集和测试集。一旦模型在训练集上开发完成,就需要在测试集上进行评估。当没有足够的数据来创建训练集和测试集的时候,则可以使用一种 N 重交叉验证技术来比较各种拟合模型。
- 整个数据集会被随机划分成近似相等大小的 N 个数据集。
- 模型在 N−1 个数据集上进行训练,然后在剩下的数据集上进行测试并度量模型误差。
- 上述整个过程一共重复 N 次,每次在 N 个数据集中取不同的 N−1 个数据集组合。
- 观测到的 N 个模型误差是 N 重的平均值。
一个模型的平均误差与另一个模型的平均误差会被用来进行比较。这项技术还可以帮助确定在现有的模型添加更多的变量是否有益,或者是否可能导致过度拟合。