異常檢測 cook distance

前面寫了leverage 槓桿的計算以及其意義
主要是爲後面的內容做一些鋪墊.Cook’s distance起源於提出這個名詞的統計學家Cook,用於刪除一個樣本後,對模型的影響。
假設有如下模型
y=Xβ+ϵ,XRm×p {\mathbf{y}}= {\mathbf{X}}{{\beta}}+\epsilon,X \in \mathbb{R}^{m \times p}
β^=(XTX)1XTyy^=Xβ^\hat{\beta}= (X^TX)^{-1}X^Ty\Rightarrow \hat{y}=X\hat{\beta}
X(i),y(i)X_{(-i)},y_{(-i)}表示從原來數據中去掉第i行數據
β(i)^=(X(i)TX(i))1X(i)Tyy^(i)=Xβ^(i)\hat{\beta_{(-i)}}=(X_{(-i)}^TX_{(-i)})^{-1}X_{(-i)}^Ty\Rightarrow\hat{y}_{(-i)}=X\hat{\beta}_{(-i)}
e=yy^s2=(yy^)T(yy^)/(np)=eTenpe=y-\hat{y}\Rightarrow s^2=(y-\hat{y})^T(y-\hat{y})/(n-p)=\frac{e^Te}{n-p}
n-p表示自由度,顯然,這個公式不適合n<=p的情況,對於高維的情況可以參考相應的擴展版。
對第i個樣本的cook距離表示如下
Di=(y^(i)y^)T(y^(i)y^)ps2=(β(i)^β^)TXTX(β(i)^β^)ps2D_i=\frac{(\hat{y}_{(-i)}-\hat{y})^T(\hat{y}_{(-i)}-\hat{y})}{ps^2}=\frac{(\hat{\beta_{(-i)}}-\hat{\beta})^TX^TX(\hat{\beta_{(-i)}}-\hat{\beta})}{ps^2}

上式的變量的平方和,讓人很容易想起卡方分佈X2\mathcal{X^2}
兩個卡方的相除又讓人想到方差齊性檢測F(p,mp,1α)F(p,m-p,1-\alpha)分佈,這是DiD_i的主要意義所在。利用了分佈的概率Di<=F(p,mp,1α)D_i<=F(p,m-p,1-\alpha)去估計樣本的異常情況,顯然更加科學,有技術含量。

從表面上看,如果要實現這個功能,需要藉助留一法去處理,顯然這樣做會帶來很大的運算量,使得算法的實現變得困難。藉助以下公式,使得運算簡單
β^β^i=(XTX)1xi1vi(yixiTβ^)\hat{\beta}-\hat{\beta}_{{-i}}=\frac{(X^TX)^{-1}x_i}{1-v_i}(y_i-x_i^T\hat{\beta})
這裏,xix_i表示第i個樣本,即X的第i行。vi=xiT(XTX)1xiv_i=x_i^T(X^TX)^{-1}x_i
簡略證明如下:
我們對X做行交換,y做相應的變換,是不會影響β\beta的估計。因此,有
X=[X(i)xiT],y=[y(i)yi]X=\begin{bmatrix} X_{(-i)}\\ x_i^T \end{bmatrix},y=\begin{bmatrix} y_{(-i)}\\ y_i \end{bmatrix}

由於 X=[x1TxmT]X = \begin{bmatrix} x_1^T\\ \cdots\\ x_m^T \end{bmatrix},得到
XTX=[x1,,xm][x1TxmT]=i=1mxixiT=X(i)TX(i)+xixiTX^TX=[x_1,\cdots,x_m]\begin{bmatrix} x_1^T\\ \cdots\\ x_m^T \end{bmatrix}=\sum_{i=1}^mx_ix_i^T=X_{(-i)}^TX_{(-i)}+x_ix_i^T

由於(A+UV)1=A1(A1UVA1)/(1+VA1U)(A + UV')^{-1} = A^{-1} - (A^{-1}UV'A^{-1})/(1 + V'A^{-1}U)
A=X(i)TX(i)A =X_{(-i)}^TX_{(-i)}
(XTX)1=(X(i)TX(i)+xixiT)1=A1A1xixiTA1/(1+xiTA1xi)(X^TX)^{-1}=(X_{(-i)}^TX_{(-i)}+x_ix_i^T)^{-1}=A^{-1}-A^{-1}x_ix_i^TA^{-1}/(1+x_i^TA^{-1}x_i)

XTy=[X(i)xiT]T[y(i)yi]=X(i)Ty(i)+xiyiX^Ty=\begin{bmatrix} X_{(-i)}\\ x_i^T \end{bmatrix}^T\begin{bmatrix} y_{(-i)}\\ y_i \end{bmatrix}=X_{(-i)}^Ty_{(-i)}+x_iy_i
wi=xiT(A)1xiw_{i}=x_i^T(A)^{-1}x_i
β^=(XTX)1XTy=A1X(i)Ty(i)A1xixiTA1X(i)Ty(i)/(1+xiTA1xi)+A1xiyiA1xixiTA1xiyi/(1+xiTA1xi)=(IA1xixiT/(1+wi))β(i)+A1xiyi/(1+wi)\hat{\beta}=(X^TX)^{-1}X^Ty=A^{-1}X_{(-i)}^Ty_{(-i)}-A^{-1}x_ix_i^TA^{-1}X_{(-i)}^Ty_{(-i)}/(1+x_i^TA^{-1}x_i)+\\ A^{-1}x_iy_i-A^{-1}x_ix_i^TA^{-1}x_iy_i/(1+x_i^TA^{-1}x_i)\\ =(I-A^{-1}x_ix_i^T/(1+w_i))\beta_{(-i)}+A^{-1}x_iy_i/(1+w_i)\\
由此推得
xiTβ^=(xiTwixiT/(1+wi))β^(i)+wiyi/(1+wi)xiTβ^=xiTβ^(i)/(1+wi)+yiyi/(1+wi)xiTβ^yi=(xiTβ^(i)yi)/(1+wi)x_i^T\hat{\beta}=(x_i^T-w_ix_i^T/(1+w_i))\hat{\beta}_{(-i)}+w_iy_i/(1+w_i)\Rightarrow\\ x_i^T\hat{\beta}=x_i^T\hat{\beta}_{(-i)}/(1+w_i)+y_i-y_i/(1+w_i)\Rightarrow\\ x_i^T\hat{\beta}-y_i=(x_i^T\hat{\beta}_{(-i)}-y_i)/(1+w_i)

β^β^(i)=A1xi(yixiTβ^(i))/(1+wi)=A1xi(yixiTβ^)\hat{\beta}-\hat{\beta}_{(-i)}=A^{-1}x_i(y_i-x_i^T\hat{\beta}_{(-i)})/(1+w_i)=A^{-1}x_i(y_i-x_i^T\hat{\beta})

由於X(i)TX(i)=XTXxixiTX_{(-i)}^TX_{(-i)}=X^TX-x_ix_i^T
(X(i)TX(i))1=(XTX)1+(XTX)1xixiT(XTX)1/(1vi)(X_{(-i)}^TX_{(-i)})^{-1}=(X^TX)^{-1}+(X^TX)^{-1}x_ix_i^T(X^TX)^{-1}/(1-v_i)
vi=xiTXTXxiv_i=x_i^TX^TXx_i,可以推得

(X(i)TX(i))1xi=(XTX)1xi+(XTX)1xixiT(XTX)1xi/(1vi)=(XTX)1xi/(1vi)(X_{(-i)}^TX_{(-i)})^{-1}x_i=(X^TX)^{-1}x_i+(X^TX)^{-1}x_ix_i^T(X^TX)^{-1}x_i/(1-v_i)\\ =(X^TX)^{-1}x_i/(1-v_i)
得到
β^β^(i)=(XTX)1xi1vi(yixiTβ^)\hat{\beta}-\hat{\beta}_{(-i)}=\frac{(X^TX)^{-1}x_i}{1-v_i}(y_i-x_i^T\hat{\beta})
代入 DiD_i公式得到
Di=(yixiTβ^s1vi)2vip(1vi)D_i = (\frac{y_i-x_i^T\hat{\beta}}{s\sqrt{1-v_i}})^2\frac{v_i}{p(1-v_i)}
可以看出DiD_i考慮了樣本i的兩部分信息,前者是學生化後的殘差,後者反應了該樣本的槓桿值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章