专栏/前文链接
本文为《数据分析与数据科学》专栏中的第四篇,
专栏的链接在这里.
第一篇博文的链接在这里.
第二篇博文的链接在这里.
第三篇博文的链接在这里.
希望本文与此专栏能够对接触,学习和研究数据科学的各位有所帮助。
本篇博文将介绍回归预测与分析的相关内容。
目录
前言
探究变量之间的相关性,进行回归分析和预测已经是一个很悠久的话题,在数据科学和机器学习中,回归分析也是重点学习的内容之一,本篇博文将从简单的线性回归开始,对回归分析和预测的内容做简要的介绍。
1.简单的线性回归模型
当“回归”这一术语出现时,多半指的是线性回归的模型,现在我们就从简单的一元线性回归模型出发,介绍回归分析和预测的相关内容
计算变量之间的相关系数用于探讨变量之间的相关情况,而进行回归,则是量化了变量之间的相关关系。现在我们给出一组数据X和一组数据Y,探究X与Y之间的线性关系,并使用新的X值估计Y值,则给出模型:
Y
=
k
X
+
b
Y=kX+b
Y=kX+b
就是一个简单的一元一次方程,其中Y被称为因变量或者目标,X被称为自变量或者特征向量,b称为截距,k称为斜率或是回归系数。
当然,所有的数据点不可能完美地都落在回归直线上,那么如何找到最合适的直线衡量X和Y之间线性关系?我们定义实际数据点与拟合值之间的差值为残差(误差项),有:
Y
i
=
k
X
i
+
b
+
e
i
Y_i=kX_i+b+e_i
Yi=kXi+b+ei
上面的方程给出了实际数据点之间的关系,而我们通常用
Y
ˆ
i
\text{\^{Y}}_i
Yˆi表示拟合值(预测值、估计值),其表达式为:
Y
ˆ
i
=
k
ˆ
X
i
+
b
ˆ
\text{\^{Y}}_i=\text{\^{k}}X_i+\text{\^{b}}
Yˆi=kˆXi+bˆ
残差
e
ˆ
i
\text{\^{e}}_i
eˆi表示为:
e
ˆ
i
=
Y
i
−
Y
ˆ
i
\text{\^{e}}_i=Y_i-\text{\^{Y}}_i
eˆi=Yi−Yˆi
于是,通过计算残差值的最小平方和得到拟合值,从而得到最适合衡量X和Y线性关系的直线,残差值的平方和用RSS表示:
R
S
S
=
Σ
i
=
1
n
(
Y
i
−
Y
ˆ
i
)
2
RSS=\Sigma_{i=1}^{n}{(Y_i-\text{\^{Y}}_i)^2}
RSS=Σi=1n(Yi−Yˆi)2
我们称这样得到回归直线的方法为最小二乘回归法,或普通最小二乘(OLS)回归。OLS回归给出了计算回归系数和截距的简单公式:
k
ˆ
=
Σ
i
=
1
n
(
Y
i
−
Y
ˉ
)
(
X
i
−
X
ˉ
)
Σ
i
=
1
n
(
X
i
−
X
ˉ
)
2
\text{\^{k}}=\frac{\Sigma_{i=1}^{n}{(Y_i-\bar{Y})(X_i-\bar{X})}}{\Sigma_{i=1}^{n}{(X_i-\bar{X})^2}}
kˆ=Σi=1n(Xi−Xˉ)2Σi=1n(Yi−Yˉ)(Xi−Xˉ)
b
ˆ
=
Y
ˉ
−
k
ˆ
X
ˉ
\text{\^{b}}=\bar{Y}-\text{\^{k}}\bar{X}
bˆ=Yˉ−kˆXˉ
预测与解释
一直以来,回归都可以用于解释数据,即展示特征向量和目标之间是否存在一种假定的线性关系,回归的目标是理解变量之间的关系,并使用回归所拟合的数据解释该关系。在解释数据时,人们通常关注的是回归系数的估计值 k ˆ \text{\^{k}} kˆ。
随着大数据的出现和发展,回归已广泛应用于构建对新数据预测单个结果的模型,而不是解释手头已有的数据。在这类应用中,人们通常关注的是拟合值 Y ˆ \text{\^{Y}} Yˆ。
2.多元线性回归
首先理解多元线性回归中的“线性”。线性,在这里的意思,用向量空间的角度解释,就是两个或两个以上的自变量(特征向量)构成了一个向量空间,对该空间进行线性变换或仿射变换得到的目标向量空间称之为因变量。构造这样的多元线性方程组就是构建一个多元线性回归模型。
给出模型形式:
Y
=
b
0
+
b
1
X
1
+
b
2
X
2
+
…
+
b
n
X
n
+
e
Y=b_0+b_1X_1+b_2X_2+…+b_nX_n+e
Y=b0+b1X1+b2X2+…+bnXn+e
简单线性回归中介绍的概念都可以扩展到多元线性回归中。
2.1 对模型进行评估
测量模型整体的精度,最重要的性能度量是均方根误差(RMSE)和标准残差(RSE)。
R
M
S
E
=
Σ
i
=
1
n
(
Y
i
−
Y
ˆ
i
)
2
n
RMSE=\sqrt{\frac{\Sigma_{i=1}^{n}{(Y_i-\text{\^{Y}}_i)^2}}{n}}
RMSE=nΣi=1n(Yi−Yˆi)2
R
S
E
=
Σ
i
=
1
n
(
Y
i
−
Y
ˆ
i
)
2
n
−
p
−
1
RSE=\sqrt{\frac{\Sigma_{i=1}^{n}{(Y_i-\text{\^{Y}}_i)^2}}{n-p-1}}
RSE=n−p−1Σi=1n(Yi−Yˆi)2
两者的区别就在于RSE的分母是自由度而非记录个数。在实践中二者的差异通常很小,尤其是在数据量很大的情况下。
另一个度量为决定系数,即
R
2
R^2
R2,决定系数的取值范围为[0,1],它测量了数据中可以由模型解释的变异性的比例。它主要用于解释回归,可以评估模型拟合数据的程度,其计算公式为:
R
2
=
1
−
Σ
i
=
1
n
(
Y
i
−
Y
ˆ
i
)
2
Σ
i
=
1
n
(
Y
i
−
Y
ˉ
)
2
R^2=1-{\frac{\Sigma_{i=1}^{n}{(Y_i-\text{\^{Y}}_i)^2}}{\Sigma_{i=1}^{n}{(Y_i-\bar{Y}})^2}}
R2=1−Σi=1n(Yi−Yˉ)2Σi=1n(Yi−Yˆi)2
R
2
R^2
R2越大,证明模型拟合效果越好。
我们还常常使用t统计量来测定回归系数的统计显著程度,当t统计量很大时,预测变量的显著程度就越大,就表示应该将预测因子保留在模型中。如果t统计量非常小,则表示预测因子应该被丢弃。t统计量的计算公式为:
t
b
=
b
ˆ
S
E
(
b
ˆ
)
t_b=\frac{\text{\^b}}{SE(\text{\^b})}
tb=SE(bˆ)bˆ
其中,SE表示标准误差。
2.2 交叉验证
一种验证模型的方法,简单介绍k折(fold)交叉验证的算法:
(1)取出1/k的数据,作为验证集
(2)使用余下的数据对模型进行训练
(3)将训练模型应用于验证集,并记录所需的模型的评估指标
(4)将最初取出的数据放回,再取另1/k的数据
(5)重复(2)(3)步骤
(6)重复上述步骤直至验证集使用了每一条记录
(7)对模型评估度量取平均值
2.3 模型选择与逐步回归
在实际问题中,面对各式各样可以选作预测因子的特征变量,我们如何正确的选择回归模型来预测因变量?奥卡姆剃刀原则告诉我们,在其他条件相同的情况下,应该优先选择更简单的模型而不是更复杂的模型。不过事实上,添加额外的变量总是会使RMSE减小且 R 2 R^2 R2增大,所以仅仅通过计算这些统计量并不能作为选择模型的指导。在这里,我们介绍AIC、BIC和Mallows Cp作为指导我们选择模型的标准。
AIC信息准则(即Akaike Information Criterion),是用来衡量统计模型拟合优良性的一个标准,是是由日本统计学家赤池弘次创立和发展的,因此也称为赤池信息量准则,它建立在熵的概念基础上,可以权衡所估计模型的复杂度和模型拟合数据的优良性。它定义为:
A
I
C
=
2
k
−
2
l
n
(
L
)
AIC=2k-2ln(L)
AIC=2k−2ln(L)
其中k是模型参数个数,L是似然函数。我们在选取模型时,会选择AIC值最小的函数。由定义可知,当两个模型之间存在较大差异时,差异主要体现在似然函数项,当似然函数差异不显著时,则k的值,即模型复杂度起决定性作用,从而参数个数少的模型是较好的选择。AIC准则既通过似然函数考虑了模型的拟合程度,又添加了有关模型复杂度的惩罚项,从而找到最优模型。
在这里,假设模型的误差服从独立正态分布。另k为变量的数量,n为记录的数量,记残差平方和为SSR,则AIC的计算公式可以写为:
A
I
C
=
2
k
+
n
l
n
(
S
S
R
/
n
)
AIC=2k+nln(SSR/n)
AIC=2k+nln(SSR/n)
BIC(Bayesian Information Criterion),与AIC相似,与之不同的是调整了惩罚项,考虑了样本数量,在维数过大且样本数据相对较少的情况下有效地避免了维度灾难现象。其计算公式为:
B
I
C
=
k
l
n
(
n
)
−
2
l
n
(
L
)
BIC=kln(n)-2ln(L)
BIC=kln(n)−2ln(L)
其中k是模型参数个数,n是样本数量,L是似然函数。
同样,与AIC类似的还有Mallows Cp值可以用于选择模型,同样是选择拥有最小Mallows Cp值的模型,用k表示模型子变量个数,p表示子模型自变量个数,n表示样本数量,SSR表示残差平方和,给出计算公式:
C
p
=
S
S
R
(
p
)
σ
~
2
−
(
n
−
2
p
)
C_p=\frac{SSR(p)}{\tilde{\sigma}^2}-(n-2p)
Cp=σ~2SSR(p)−(n−2p)
其中
σ
~
2
=
S
S
R
(
k
)
/
(
n
−
k
)
\tilde{\sigma}^2=SSR(k)/(n-k)
σ~2=SSR(k)/(n−k)在此不对这些准则做更多的介绍了,可以参考其他博文或文章了解更多有关相关准则的知识或选择模型的方法。有关Mallows Cp和AIC、BIC的公式,参考了文章Mallows’s Cp, Akaike’s AIC和Schwarz’s BIC.
有了选择模型的指导或说准则,下一步就需要确定用于选择模型的具体方法,首先就是全子集回归法,意思就是搜索所有可能的子模型,计算准则值,选择出最优的模型。显而易见,这种方法计算量十分庞大,所以它的代替方法使用十分广泛,就是逐步回归法。
逐步回归法将变量一个一个引入,引入的条件是其偏回归平方和经验是显著的。同时,每引入一个新变量后,对已入选回归模型的老变量逐个进行检验,将经检验认为不显著的变量删除,以保证所得自变量子集中每一个变量都是显著的。此过程经过若干步直到不能再引入新变量为止。这时回归模型中所有变量对因变量都是显著的。在此不作过多介绍,有关逐步回归法的具体思想和相关步骤可参考其他博文。
选择不同回归模型的方式还有前向回归,后向回归和惩罚回归(例如LASSO回归和岭回归)等,在此不再做介绍。
在分析复杂的调查时,可以使用加权回归方法,它可以对特定的记录给予更大或更小的权重。
在数据科学中,对下面两种情况加权回归会很有用:
1.反方差权重(当不同观测值使用了不同的精度测量时)
2.分析聚合的数据,加权变量编码了聚合数据中每行代表了多少个原始观测值。
3.回归预测实践
3.1 预测与不确定性
在数据科学中,与传统不同的是,回归主要用于预测而非解释性建模。接下来的部分就主要介绍进行回归预测时会面临的问题及其解决方法或对一系列实践方式和方法的解释。
预测的不确定性是必然存在的,因此置信区间和预测区间的概念也随之产生,在回归中,置信区间量化了回归系数的不确定度,而预测区间则量化了单个预测的不确定度,常用的统计软件和语言包都会有相应简单的输出方式,也可以使用自助法确定置信区间,做法的解释和理念与默认方法相似。
3.2 回归分类变量
解释完不确定性的问题,现在就特殊的一类变量的回归方法做出介绍。分类变量,或称因子变量,是对特征用离散的数据表示其类别的变量,通常是非数值型数据,而回归模型要求我们必须使用数值输入,那么就需要将分类变量数值化,也就是编码分类变量。
最常用的编码方法就是将因子变量转换为一组二元的0/1变量(虚拟变量)。在机器学习领域,常用的一种编码方式称为独热编码(不适用于多元线性回归)。其他的编码方式有参考编码,偏差编码和多项式编码等,在此不做过多的介绍。
⋅ · ⋅编码具有P个不同值的因子变量,最常用的方法是表示为P-1个虚拟变量
⋅ · ⋅多层因子变量需整合成具有更少层的变量
⋅ · ⋅一些因子的层是有序的,可以表示为单一的数值变量
3.3 关注变量的实际意义
显然,在回归应用中,不只是分类变量,所有的变量都在模型中具有实际意义,这些变量的实际意义可以帮助我们更好地解释回归方程,同时也会带来一定的问题。变量的实际意义解释回归方程,一般体现在解释特征变量和目标之间的因果关系或特征之间的关系上。而可能出现的问题就有多重共线性,混淆变量等。
3.4 多重共线性和混淆变量
现在介绍一下回归方程中的一些问题。首先是多重共线性,其是指线性回归模型中的解释变量之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确。可以理解为特征变量间存在冗余的部分,举例来说,如果一个自变量(特征变量)可以表示为其他自变量(特征变量)的线性组合,那么就是一种多重共线性问题,而且是完美的多重共线性问题。
在误差中多次包含同一个变量,从一个因子变量创建了P个虚拟变量而非P-1个虚拟变量,引入滞后变量等都有可能产生多重共线性问题。
混淆变量就是指与自变量和因变量(特征和目标)都相关的变量,即多个变量间没有明确的因果关系而是有着复杂的相关关系(无向关系)之所以称其为混淆变量,是因为若忽视混淆变量的变化,则会引起自变量混淆,即导致回归方程得出的结论是无效的,含有杂质的结论。
3.5 交互项
首先明确,交互作用与混淆变量是不同的概念。更直白地说,混淆变量是指与自变量共同作用于因变量并且对自变量有影响的特征变量(这时自变量和特征变量之间有微妙的约等于关系),而交互作用是指特征变量无法独立地影响因变量(目标)时的情况。这也是回归中最常见的情况,特征变量独立地影响目标几乎是不可能的。相对地,我们把单个特征变量和目标之间的关系叫做主效应,而交互作用又叫主效应之间的交互作用。
那么,添加主效应之间的交互项就是不可避免的环节了,如何选择与构建交互项也就成为了无法避免的问题。首先可以使用先验知识和直觉作为指导,选择模型中应该包含哪些交互项。在这我们可以使用逐步回归法选择各种模型,或使用惩罚回归自动你和大量可能的交互项。其次就是使用树模型,以及随机森林和梯度提升树模型,这类模型能够自动搜索最佳的交互项。
4.对回归方程的检验
构造回归方程也属于建立数学模型,上述我们已经介绍了回归方程的参数估计,自然也会有回归方程的假设检验,用于模型和数据拟合的评估,这些步骤大多都基于残差分析,可以对我们的预测提供一些有用的见解。
4.1 离群值
处理离群值(异常值)和缺失值是数据预处理非常基础和重要的一部分,同样在回归模型中,离群值也是我们的重点观察对象,剔除离群值是非常重要的。哪些数据是离群值?在数理统计中,并没有一个明确的定义,我们通常将超出1.5倍四分位距的值称之为离群值,这也是对数据进行位置估计的过程。
在此我们另外介绍标准残差的概念,标准残差是残差除以残差的标准误差。通过查看标准残差,也可以直观地观察出哪些值是离群值。在实际中,离群值代表了一次意外的错误操作或是一个虚假的数据,离群值对回归的影响是巨大的,剔除离群值,得到正确的回归方程这一步骤是必不可少的。
4.2 强影响值
再介绍另一种特殊的数据,若在回归方程中,某个数据的缺失会显著地改变回归方程,那么该值就是一个强影响值。我们称这样的数据点在回归中具有高杠杆。为了确定单个值对回归的影响,除了标准残差,统计学家还提出了另外的多个度量。
帽值是对杠杆的一个常用度量,它来自于帽子矩阵的对角线。帽子矩阵是指一类正交投影矩阵。对帽子矩阵又叫帽变换又叫K-T变换。如果帽子统计量大于平均帽子值的3倍,那么可以判断该观测值是高杠杆点。
Y
ˆ
i
=
h
i
1
Y
1
+
h
i
2
Y
2
+
…
+
h
i
n
Y
n
=
Σ
j
=
1
n
h
i
j
Y
j
\text{\^{Y}}_i=h_{i1}Y_1+h_{i2}Y_2+…+h_{in}Y_n=\Sigma^n_{j=1}h_{ij}Y_j
Yˆi=hi1Y1+hi2Y2+…+hinYn=Σj=1nhijYj
Y
ˆ
=
X
b
=
H
Y
,
H
=
X
(
X
T
X
)
−
1
X
T
\text{\^{Y}}=Xb=HY,H=X(X^TX)^{-1}X^T
Yˆ=Xb=HY,H=X(XTX)−1XT
H就被称为是帽子矩阵,
h
i
j
h_{ij}
hij就是帽值。当
h
i
j
h_{ij}
hij较大时,就说明第
j
j
j个观测值对第
i
i
i个拟合值具有较大的影响。
库克距离通过组合杠杆和残差规模定义了对回归的影响情况。
D
i
=
Σ
j
=
1
n
(
Y
ˆ
j
−
Y
ˆ
j
(
i
)
)
2
p
×
M
S
E
D_i=\frac{\Sigma^{n}_{j=1}(\text{\^{Y}}_j-\text{\^{Y}}_{j(i)})^2}{p×MSE}
Di=p×MSEΣj=1n(Yˆj−Yˆj(i))2
D
i
D_i
Di称之为库克距离。
对于异常检测而言,识别强影响值是十分有用的。
4.3 异方差性和偏残差图
随机误差项具有不同的方差,则称线性回归模型存在异方差性。异方差性表明在整个预测值范围内并不具有一个恒定的残差变异性。换句话说,在整个预测值范围内,部分数据的误差要大于其他部分的误差。这表明预测误差存在差异,模型可能不完整。
偏残差图以可视化的方式展示了估计的拟合值是否很好地反映了预测变量和输出之间的关系。它将预测变量和响应变量的关系独立出来,并考虑其他的预测变量。偏残差可以看作是一种合成的输出值,其中组合了基于单个预测变量的预测值,以及来自完全回归方程的实际残差。预测变量
X
i
X_i
Xi的偏残差是普通残差加上与
X
i
X_i
Xi关联的回归项。
偏
残
差
=
残
差
+
b
ˆ
i
X
i
偏残差=残差+\text{\^{b}}_iX_i
偏残差=残差+bˆiXi
其中
b
ˆ
i
\text{\^{b}}_i
bˆi是估计的回归系数。偏残差图可以用于定性地评估每个回归项的拟合情况,这可能会得出另一种模型声明。
5.多项式回归和样条回归
这一节介绍非线性回归,在构建回归模型的过程中,我们尽量去构建线性回归方程,如果线性回归方程的拟合程度实在不符合预期,我们就需要使用非线性回归模型,例如在回归方程中添加多项式项或者使用一系列多项式片段去拟合一条平滑曲线,这两种做法就对应了多项式回归和样条回归。
多项式回归即在回归方程中添加多项式项,一个二项式回归方程如下:
Y
=
b
0
+
b
1
X
+
b
2
X
2
+
e
Y=b_0+b_1X+b_2X^2+e
Y=b0+b1X+b2X2+e
在一般的数学软件和语言包中都会有相应的函数帮助我们建立多项式回归方程。
建立在样条函数上的样条回归 是一种更加灵活的方式,样条最初是指一种手工业者拟合曲线使用的工具,现在在数学上是指一组分段的连续多项式,样条回归通过使用不同的多项式片段连结各个结点,更加灵活和平滑地实现预测,使用样条函数也是一种数值逼近和插值方法。需要注意的是,线性项的回归系数具有直接的意义,但样条项的系数是不可解释的。
广义加性模型(GAM)可以用于自动拟合样条函数,这是一种灵活度更高的拟合方法
Y
i
=
b
0
+
b
1
f
1
(
x
1
)
+
b
2
f
2
(
x
2
)
+
…
+
b
n
f
n
(
x
n
)
+
e
Y_i=b_0+b_1f_1(x_1)+b_2f_2(x_2)+…+b_nf_n(x_n)+e
Yi=b0+b1f1(x1)+b2f2(x2)+…+bnfn(xn)+e
在本文中,不再详细介绍这些回归方法,如需了解,可参考其他博文。
后记
到这里,对回归的简要介绍就结束了,回归分析和预测是用处非常广泛的一种统计方法,本文简要地介绍了回归的基础形式,参数估计和假设检验的基本知识,这些知识同样可以用于其他的预测模型上,后续专栏的内容将介绍分类的方法与其他统计机器学习模型,希望对各位读者能有所帮助。