5.5 强影响点

5.5 强影响点

前面分析指出,最小二乘法是残差平方和 i ( b i a r i T x ) 2 \sum_i (b_i-\mathbf{a}^T_{ri}\mathbf{x})^2 最小对应的解,为什么会有残差呢?测量误差导致的,如果没有测量误差,则不需要过测量,只需刚刚好的测量次数就能获得真实值。但由于测量误差,我们过测量,取平均,测量误差正负抵消,估计值更可靠,估计值不会因为偶然一次测量误差而导致过大的偏差。如果测量误差不能正负抵消,比如由于测量差错或人为错误,使某个测量误差很大(应该称测量差错),且远远大于其它测量误差,为了使 i ( b i a r i T x ) 2 \sum_i (b_i-\mathbf{a}^T_{ri}\mathbf{x})^2 最小,则最优解必须进行较大调整才能使之最小,这样就偏离了没有差错时的理想最优解,导致最小二乘法失败!假设某次测量有差错,不失一般性,假设第一次有差错,本来理想测量值是 b 1 b_1 ,现在为 b 1 + ϵ b_1+\epsilon 。无差错时的最优解为 x ^ = ( A T A ) 1 A T b \mathbf{\hat{x}}=(A^TA)^{-1}A^T\mathbf{b} ,有差错为 x ^ = ( A T A ) 1 A T ( b + ϵ e 1 ) = x ^ + ϵ ( A T A ) 1 A T e 1 \mathbf{\hat{x'}}=(A^TA)^{-1}A^T(\mathbf{b}+\epsilon\mathbf{e}_1)=\mathbf{\hat{x}}+\epsilon (A^TA)^{-1}A^T\mathbf{e}_1 ,所以偏差为 x ^ x ^ = ϵ ( A T A ) 1 A T e 1 \mathbf{\hat{x'}}-\mathbf{\hat{x}}=\epsilon (A^TA)^{-1}A^T\mathbf{e}_1 ,与 ϵ \epsilon 成正比,其较大时,偏差也大。理论上,只要存在一个强影响点,最小二乘法就会失败,所以在使用最小二乘法时,必须先去除测量中的差错,再进行最小二乘!

根据 x ^ m = x ^ m 1 + K m ϵ m \mathbf{\hat{x}_{m}} = \mathbf{\hat{x}_{m-1}}+K_{m}\epsilon_{m} ,我们可以分析第 m m 次测量对近似解的影响 K m ϵ m K_{m}\epsilon_{m} ϵ m = b m a r m T x ^ m 1 \epsilon_{m}=b_{m}-\mathbf{a^T_{rm}}\mathbf{\hat{x}_{m-1}} 表示第 m m 次测量数据按前 m 1 m-1 次最优近似解 x ^ m 1 \mathbf{\hat{x}_{m-1}} 计算预测值 b ^ m m 1 = a r m T x ^ m 1 \hat{b}^{m-1}_{m}=\mathbf{a^T_{rm}}\mathbf{\hat{x}_{m-1}} ,与实际测量值 b m b_{m} 的残差,由于计算 x ^ m 1 \mathbf{\hat{x}_{m-1}} 并未利用第 m m 次测量数据,故称 ϵ m \epsilon_{m} 为预测残差。根据 x ^ m x ^ m 1 = K m ϵ m \mathbf{\hat{x}_{m}} - \mathbf{\hat{x}_{m-1}} = K_{m}\epsilon_{m} ,说明最优近似解的更新量与预测残差成正比,预测残差越大,更新量越大。我们把预测残差大的点称为异常点,异常点为可能的强影响点。以无人驾驶车辆实时判断前面车辆的运动状态为例,如果前面车辆运动状态不变,即做匀加速运动,则最优近似解是不变的,也就是更新量为零。这说明只要方程代表的系统在测量过程中,待测量没有发生变化,则最优近似解更新量为零。前面又表明更新量与预测残差成正比,这说明预测残差在待测量没有发生变化时,在零附近随机变动。

最优近似解的更新量还与向量 K m K_{m} 成正比,由于向量不好分析,我们需要把其变换为一个数,内积就可以把向量变为数。计算第 m m 次测量数据按前 m 1 m-1 次最优近似解 x ^ m 1 \mathbf{\hat{x}_{m-1}} 计算预测值 b ^ m m 1 \hat{b}^{m-1}_{m} 和按前 m m 次最优近似解 x ^ m \mathbf{\hat{x}_{m}} 计算预测值 b ^ m m \hat{b}^{m}_{m} 之差,称为预测差值,预测差值越大,说明第 m m 次测量数据影响越大,是强影响点。

b ^ m m 1 = a r m T x ^ m 1 , b ^ m m = a r m T x ^ m b ^ m m b ^ m m 1 = a r m T x ^ m a r m T x ^ m 1 = a r m T ( x ^ m x ^ m 1 ) x ^ m = x ^ m 1 + K m ϵ m b ^ m m b ^ m m 1 = a r m T ( A T A ) m 1 a r m ϵ m = p m m ϵ m p m m = a r m T ( A T A ) m 1 a r m \because \hat{b}^{m-1}_{m} = \mathbf{a^T_{rm}}\mathbf{\hat{x}_{m-1}},\hat{b}^{m}_{m} = \mathbf{a^T_{rm}}\mathbf{\hat{x}_{m}} \\ \therefore \hat{b}^{m}_{m}-\hat{b}^{m-1}_{m} = \mathbf{a^T_{rm}}\mathbf{\hat{x}_{m}}-\mathbf{a^T_{rm}}\mathbf{\hat{x}_{m-1}}=\mathbf{a^T_{rm}}(\mathbf{\hat{x}_{m}} - \mathbf{\hat{x}_{m-1}}) \\ \because \mathbf{\hat{x}_{m}} = \mathbf{\hat{x}_{m-1}}+K_{m}\epsilon_{m}\\ \therefore \hat{b}^{m}_{m}-\hat{b}^{m-1}_{m} = \mathbf{a^T_{rm}}(A^TA)_m^{-1}\mathbf{a_{rm}}\epsilon_{m}=p_{mm}\epsilon_{m}\\ p_{mm} = \mathbf{a^T_{rm}}(A^TA)_m^{-1}\mathbf{a_{rm}}

预测差值与数 p m m p_{mm} 成正比, p m m p_{mm} 称为杠杆值,故高杠杆点可能是强影响点,注意这里是可能,不是一定。因为 p m m p_{mm} 只与矩阵 A A 有关,而与 b \mathbf{b} 无关。观察 p m m p_{mm} 表达式,可以发现它是投影矩阵 P = A ( A T A ) 1 A T P=A(A^TA)^{-1}A^T 对角线元素 p m m p_{mm} 。投影矩阵对角线任意元素具有如下性质 0 p i i 1 0 \le p_{ii} \le 1 ,证明如下:因为 P T = P , P = P 2 = P T P P^T=P,P=P^2=P^TP ,所以 p i i = p i T p i = j = 1 m p j i 2 = p i i 2 + j i p j i 2 p_{ii}=\mathbf{p}^T_i \mathbf{p}_i=\sum^m_{j=1}p^2_{ji} = p^2_{ii} + \sum_{j\ne i}p^2_{ji} ,故 p i i p i i 2 p_{ii} \ge p^2_{ii} 0 p i i 1 0 \le p_{ii} \le 1
所以 b ^ m m b ^ m m 1 b m b ^ m m 1 |\hat{b}^{m}_{m}-\hat{b}^{m-1}_{m}| \le |b_{m}-\hat{b}^{m-1}_{m}| ,即预测差值小于预测残差,也就是预测值比测量值更接近预测值,这是符合常识。

( b ^ m m b ^ m m 1 ) 2 = p m m 2 ϵ m 2 (\hat{b}^{m}_{m}-\hat{b}^{m-1}_{m})^2=p^2_{mm}\epsilon^2_{m} 只是度量了第 m m 个测量数据的预测差值,所以 p m m 2 ϵ m 2 p^2_{mm}\epsilon^2_{m} 乘积只能部分反映第 m m 个测量数据的影响强度。我们需要度量所有测量数据的预测差值,计算预测差值的平方和,该值可以较全面度量第 m m 个测量数据的影响强度。第 i i 个测量数据的预测差值

b ^ i m b ^ i m 1 = a r i T ( A T A ) m 1 a r m ϵ m = p i m ϵ m p i m = a r i T ( A T A ) m 1 a r m P p i m ( b ^ i m b ^ i m 1 ) 2 = p i m 2 ϵ m 2 i = 1 m ( b ^ i m b ^ i m 1 ) 2 = i = 1 m ( p i m 2 ϵ m 2 ) = ϵ m 2 i = 1 m p i m 2 = p m m ϵ m 2 \hat{b}^{m}_{i}-\hat{b}^{m-1}_{i} = \mathbf{a^T_{ri}}(A^TA)_m^{-1}\mathbf{a_{rm}}\epsilon_{m}=p_{im}\epsilon_{m}\\ p_{im} = \mathbf{a^T_{ri}}(A^TA)_m^{-1}\mathbf{a_{rm}} 是投影矩阵P元素 p_{im} \\ \therefore (\hat{b}^{m}_{i}-\hat{b}^{m-1}_{i})^2 = p^2_{im}\epsilon^2_{m}\\ \therefore \sum^m_{i=1} (\hat{b}^{m}_{i}-\hat{b}^{m-1}_{i})^2 = \sum^m_{i=1} (p^2_{im}\epsilon^2_{m} ) = \epsilon^2_{m} \sum^m_{i=1} p^2_{im} = p_{mm}\epsilon^2_{m}\\

所以 p m m ϵ m 2 p_{mm}\epsilon^2_{m} 较全面度量第 m m 个测量数据的影响强度。由于 ϵ m \epsilon_{m} 是预测残差,是利用 x ^ m 1 \mathbf{\hat{x}_{m-1}} 计算,实际使用中,我们一般不会计算 x ^ m 1 \mathbf{\hat{x}_{m-1}} ,而是计算 x ^ m \mathbf{\hat{x}_{m}} ,故需转化。

ϵ m = b m a r m T x ^ m 1 x ^ m = x ^ m 1 + K m ϵ m ϵ m = b m a r m T ( x ^ m K m ϵ m ) = b m a r m T x ^ m + a r m T K m ϵ m = δ m + p m m ϵ m ϵ m = δ m / ( 1 p m m ) \epsilon_{m} = b_{m}-\mathbf{a^T_{rm}}\mathbf{\hat{x}_{m-1}} \\ \because \mathbf{\hat{x}_{m}} = \mathbf{\hat{x}_{m-1}}+K_{m}\epsilon_{m} \\ \therefore \epsilon_{m} = b_{m}-\mathbf{a^T_{rm}}(\mathbf{\hat{x}_{m}} - K_{m}\epsilon_{m}) = b_{m}-\mathbf{a^T_{rm}}\mathbf{\hat{x}_{m}} + \mathbf{a^T_{rm}}K_{m}\epsilon_{m} = \delta_{m} + p_{mm}\epsilon_{m}\\ \epsilon_{m} = \delta_{m}/(1-p_{mm})

定义 残差 δ m = b m a r m T x ^ m \delta_{m} = b_{m}-\mathbf{a^T_{rm}}\mathbf{\hat{x}_{m}} 为第 m m 次测量数据按前 m m 次最优近似解 x ^ m \mathbf{\hat{x}_{m}} 计算预测 b m ^ \hat{b_{m}} ,与实际测量值的差。高残差点称为异常点。

根据 ϵ m = δ m / ( 1 p m m ) \epsilon_{m} = \delta_{m}/(1-p_{mm}) ϵ m δ m |\epsilon_{m}| \ge |\delta_{m}| ,即预测残差大于残差,因为预测残差没有利用第 m m 次测量数据,而残差利用了,所以残差更小,合乎常识。在机器学习中,残差是训练集样本残差,预测残差是测试集样本残差,预测残差大于残差,表明模型在训练集残差比测试集要小,即训练集性能要高于测试集,即模型的泛化性能要变差些。线性模型能证明该显而易见的结论,但非线性模型如神经网络就比较难证明了。

所以 D m = p m m ϵ m 2 = p m m ( 1 p m m ) 2 δ m 2 D_m = p_{mm}\epsilon^2_{m}=\frac {p_{mm}}{(1-p_{mm})^2} \delta^2_{m} ,该式能全面反映第 m m 次测量数据的影响。 p m m ( 1 p m m ) 2 \frac {p_{mm}}{(1-p_{mm})^2} p m m p_{mm} 的增函数。这里有个特别迷惑的地方,当 p m m = 1 p_{mm}=1 时, p m m ( 1 p m m ) 2 \frac {p_{mm}}{(1-p_{mm})^2} 无穷大,是不是第 m m 次测量数据的影响很大呢?其实不是,此时 δ m 2 = 0 \delta^2_{m}=0 ,故 D m D_m 不会无穷大,其实 D m = p m m ϵ m 2 = ϵ m 2 D_m=p_{mm}\epsilon^2_{m}=\epsilon^2_{m} 不会很大。同理当 δ m 2 \delta^2_{m} 很大时, p m m p_{mm} 可能比较小,故 D m D_m 有可能比较小。为什么会这样,这是因为 p m m p_{mm} 只与矩阵 A A 有关, δ m 2 \delta^2_{m} A , b , b m A,\mathbf{b},b_m 都有关。所以如果第 m m 次测量数据是高杠杆点或异常点,只是有可能是强影响点,必须综合考虑。本质上,杠杆值 p m m p_{mm} 度量了点 a r m T \mathbf{a^T_{rm}} 在点集 a r i T , i [ 1 , m ] \mathbf{a^T_{ri}}, i \in [1, m] 中的位置,可以认为是距离点集中心的距离,如果远离中心,则杠杆值大,否则小,是离群程度的一种度量。 δ m 2 \delta^2_{m} 度量了拟合好坏的程度。

前面都是分析最后一个测量点的影响,其实任意一个测量点 i i 的影响,分析流程完全一致,结果也是一样,即 D i = p i i ϵ i 2 = p i i ( 1 p i i ) 2 δ i 2 D_i = p_{ii}\epsilon^2_{i}=\frac {p_{ii}}{(1-p_{ii})^2} \delta^2_{i} ,该式能全面反映第 i i 次测量数据的影响。

与其它测量点比较起来,具有很大 D i D_i 值的测量点,为强影响点。具体相对大多少可以认为是强影响点,这个没有普遍的结论,需具体问题具体分析。

我们已经推导出 D i D_i 计算公式,所以读者容易误认为检测强影响点很容易,其实检测强影响点很难,目前没有特别好的办法,为什么呢?首先,我们计算 D i D_i 是假定测量数据满足线性关系 A x = b A\mathbf{x}=\mathbf{b} ,其实很多实际问题,很难判断其是否满足该假设,如果不满足该假设,则所有理论都是不适用该问题,根据这些理论检测出的强影响点显然就很有问题。其次,即使满足线性假设,如果数据很理想,只有一个强影响点,则检测相对容易。但如果数据不理想,有多个强影响点,则最优近似解受多个强影响点的影响,拟合直线会拉向强影响点,导致远离理想最优近似解,而计算 D i D_i 应该采用理想最优近似解,但此时我们不能获得该解,只能用远离理想最优近似解的最优近似解代替,这样会导致 D i D_i 远离理想值,由于拟合直线会拉向强影响点,这就有可能使本来是强影响点伪装成正常点,而正常点看起来像强影响点了,它们互相伪装起来,难以辨别。

测量中为什么会产生强影响点呢?一般来说有两种途径,一是收集数据失误导致的,如测量差错,记录时笔误等,这种强影响点一般都是孤立的,但影响十分巨大,必须要发现,并去除,所以在收集数据时,必须仔细小心,尽量避免出现差错,或使差错尽量小。二是测量数据本来就具有随机性,如果不幸抽样到一个误差很大的点,则该点成为强影响点。例如假设测量误差满足正态分布,则误差大部分位于 2 2 倍标准差之内,此时测量点都是正常点。如果某次测量,误差大于 3 3 倍标准差,虽然没有测量差错,是正常测量,但由于误差不在正常范围内,也成为强影响点。

如何知道测量中存在差错呢?对于低维问题,如果能做出 ( a r i T , b i ) (\mathbf{a}^T_{ri},b_i) 的图形,则观察图形中偏离直线的点,这些离群点即是差错点,去掉这些点后再最小二乘。对于高维问题,由于无法作图,则很难判断离群点,在机器学习中,这称为异常点检测,是个十分困难的问题,目前没有很好的解决方案。

如果有幸发现强影响点,该如何处置呢?首先要根据问题的领域知识,数据收集过程,分析强影响点产生的原因。如果是收集数据失误导致的,应删除。如果不是测量失误导致的,则有可能是误差超大的正常测量点成为强影响点,可能会导致强影响点和正常点互相伪装,需要仔细分析,但强影响点能提供巨大信息,比普通点更有价值。

D i = p i i ( 1 p i i ) 2 δ i 2 D_i = \frac {p_{ii}}{(1-p_{ii})^2} \delta^2_{i} 中残差 δ i \delta_{i} 进行归一化,就得到标准度量,该度量即是著名的Cook距离。

猜你喜欢

转载自blog.csdn.net/jhshanvip/article/details/105896839
5.5