3.2.1 基于线性回归的填补方法

线性回归是指对一个因变量与一个或多个自变量间的关联关系进行线性建模的分析方法。若建模期间存在一个自变量,则称为简单线性回归或一元线性回归;若存在多个自变量,则称为多重线性回归或多元线性回归。

顾名思义,简单线性回归是一种较为简单的分析方法,适用于自变量和因变量间高度相关,并且可用一条直线近似拟合其关联关系的场景。多重线性回归可看作是简单线性回归的扩展,通过多个自变量的线性组合来估计因变量的取值。鉴于在真实数据集中,某样本的属性取值往往与其他多个属性值相关,因此多重线性回归在实际分析时的应用范围更广。标准的线性函数如式(3-36)所示:

式(3-36)中,y表示因变量,x表示自变量,β表示斜率,β0表示截距。

在式(3-36)所示的线性函数中,自变量x与因变量y间的关联关系由一条直线完全拟合,但真实数据往往并不存在绝对的线性关系,待拟合的数据点无法全部位于一条直线上,而是会以一定误差分散在直线周围。因此,线性回归引入误差项,构建如式(3-37)所示的线性模型[12]

式(3-37)中,ε表示随机误差项,β和β0是模型参数,需根据真实数据进行求解。

假设X={xi|xis,i=1,2,…,n},表示样本数量为n,属性数量为s的数据集,其中第i个样本为xi=[xi1,xi2,…,xis]T,i=1,2,…,n。下面以前p个属性作为自变量,第p+1个属性作为因变量,构建如式(3-38)所示的线性模型:

式(3-38)中,yi表示因变量,此处yi=xi(p+1),xij(j=1,2,…,p)表示自变量,βj(j=0,1,…,p)表示模型参数,εi表示随机误差项。

线性模型中的参数一般由最小二乘法求解,该方法通过最小化式(3-39)所示的误差平方和来计算模型参数。

为了使描述更加清晰,先介绍简单线性回归中的模型求解方法。假设线性模型仅包含一个自变量,即p=1,式(3-39)可写为式(3-40)所示的形式:

为了求解误差平方和的最小值,可由最小二乘法计算式(3-40)关于模型参数的偏导数,并令其等于0,进而得到式(3-41):

在数学理论中,函数在某点的偏导数等于0是该点为极值点的必要条件。根据式(3-42)可知,式(3-40)所示函数的二阶偏导数始终大于0,这说明该函数只存在一个极值点,并且该点恰为最小值。

进一步推导,即可根据式(3-43)和式(3-44)求解模型参数。

以上讨论的是简单线性回归中模型参数的求解方法,当线性模型中包含多个自变量,同样可根据最小二乘法计算参数。首先,可将式(3-38)写成式(3-45)所示的矩阵形式:

式(3-45)中,Y=[y1,y2,…,yn]T是由因变量构成的向量,B=[β01,…,βp]T是由所有模型参数构成的向量,E=[ε12,…,εn]T表示由所有误差构成的向量,X*表示设计矩阵(Design Matrix),其定义如式(3-46)所示:

在多重回归中,式(3-39)所示的误差平方和可改写为式(3-47)的形式:

根据最小二乘法的规则,计算式(3-47)关于模型参数B的导数,令其为0,接着通过式(3-48)所示的推导过程即可求解模型参数。

基于线性回归的填补方法一般采用线性模型拟合完整属性与不完整属性间的关联关系,并根据数据集中的完整样本展开模型参数的求解。填补期间,将不完整样本中的现有值输入模型,利用模型输出估计缺失值。

假设数据集X仅在第k维属性存在缺失值,即除第k维属性为不完整属性外,其他属性均为完整属性。在该情况下,可构建以完整属性为自变量,不完整属性为因变量的线性模型,如式(3-49)所示:

式(3-49)中,yi是因变量,表示样本xi在第k维属性的取值xik,Jco={1,…,k-1,k+1,…,s}表示完整属性的下标集合,Xco表示完整样本集合。

接着,利用最小二乘法对式(3-50)所示函数进行最小化,从而求解模型参数。待所有参数求解完毕后,即可对不完整样本实行填补。

为提高线性模型的有效性和准确性,以下就三方面内容进一步展开讨论。

1.处理数据集中多个不完整属性

当数据集中存在多个不完整属性时,可根据若干个线性模型的组合填补所有缺失值。令Jco表示完整属性的下标集合,Jin表示不完整属性的下标集合,针对每个属性序号j∈Jin,构建以Jco对应属性为自变量,第j个属性为因变量的线性模型,由此得到Jin个模型。随后利用完整样本对模型参数进行求解,并借助若干个模型填补所有不完整属性下的缺失值。

上述建模思路存在一定弊端,倘若数据集中仅包含极少数完整属性,利用少量完整属性可能无法较好拟合所有的不完整属性。以数据集X为例,当第j个属性为完整属性,其他属性为不完整属性时,所构建的线性模型属于简单线性回归。若某个不完整样本仅存在一个缺失值,该缺失值仅能根据样本中第j个属性值进行求解,其他现有值无法参与计算过程,则造成了已知信息的浪费。

除了以上建模思路外,也可针对每个不完整样本设计专属的线性模型。具体来说,当不完整样本中存在多个缺失值时,依次将样本中每个缺失值属性作为因变量,所有现有值属性作为自变量,构建多个线性模型。该建模方式能够确保不完整样本中的现有值被合理利用,但由于针对每个不完整样本进行建模,所需的模型数量会增加。

2.确保自变量与因变量间的线性关系

基于线性回归的填补方法假设属性间存在线性关系,而在真实数据集中,属性间的关联关系复杂未知,往往体现出非线性特征。直接采用线性模型拟合具备非线性关联关系的数据将导致一定的建模误差,并最终影响填补的准确性。

自变量的选取对于线性函数的拟合质量至关重要,故可通过特征选择等方法寻找与不完整属性呈线性相关的部分属性,并以此作为自变量展开线性建模。该方式能够在一定程度上确保自变量与因变量间的线性关系,进而提高所建模型的准确性。

除特征选择方法外,也可考虑在误差函数中添加约束,从而在模型参数求解的同时实现输入变量的选择。套索回归(Lasso Regression)正是在该思路基础上改进线性模型,基于套索回归思路所建的误差函数如式(3-51)所示。

式(3-51)在式(3-50)的基础上,添加了对模型参数的约束项,λ控制约束的强度。对误差函数实施约束的操作可称为正则化,而λ通常称作正则化系数。研究表明,套索回归能够令部分模型参数变为0,进而使得这些参数相应的自变量对因变量的影响为0,以达到特征选择的效果。

3.优化线性模型参数

基于最小二乘法的线性模型具有唯一解的前提是,式(3-48)中的矩阵X*TX*存在可逆性,即X*为满秩矩阵。然而,当自变量间的相关性较强时,X*中的两行元素存在较大关联,易使X*TX*不可逆并导致参数求解的不稳定。例如,在家庭经济调查数据集中,以“家庭人均收入”“家庭人均支出”属性作为自变量,以“家庭经济状况”属性作为因变量进行线性建模,由于两个自变量间往往存在较大的相关性,二者对因变量的影响具有相互抵消的效应[13]。该效应是指按一定比率增大“家庭人均收入”相应的模型参数,或减小“家庭人均支出”相应的模型参数,最终对因变量将产生类似的影响,并由此导致模型参数求解的不稳定。

针对上述问题,可基于岭回归(Ridge Regression)的思路建立如式(3-52)所示的函数,并对其进行最小化。

式(3-52)在式(3-50)的基础上,添加了对模型参数的约束,λ控制约束强度。为使得式(3-52)中的函数取值尽可能小,约束项需尽可能小,因此模型参数将尽量接近于0,这在一定程度上避免了具有较高相关性的自变量对因变量的影响相互抵消。

线性模型的形式简单,求解方便,但其假设属性间存在线性关系,真实数据集往往难以满足该假设,因此基于线性回归的填补方法有时并不能有效拟合属性间复杂的关联关系。为了提高线性模型的填补性能,可通过特征选择、岭回归等方式对其实行优化。此外,当不完整数据集内的缺失情况过于复杂时,需构建若干个线性模型,依次对模型内的参数展开求解,并通过多个模型的协作共同填补缺失值,但会降低建模效率。因此,基于线性回归的填补方法主要适用于属性间存在线性关系,并且不完整属性缺失情况相对简单的场景。