模型的診斷與補救(Diagnostic/Remedial techniques)
以往的推論,都是基於以下假設:
ε∼N(0,σ2I)E(y)=Dβ
但是,收集到的數據並不一定符合這些假設。因此,在通過統計報表得到結論之前,我們需要檢查模型是否適合這筆數據。這種檢查稱為模型診斷(diagnostics)。
Remark: 通常會使用殘差 ei=yi−y^i 來診斷模型是否適合數據。因此我們會需要畫出殘差圖(residual plot)。如果診斷後發現模型不適合 數據,那麼會有一些方法來修正模型,這些方法稱為模型補救(remedial techniques)。
Idea: 當模型正確的時候,我們可以推導出殘差應該符合的性質。因此,如果殘差圖嚴重違反這些性質,那麼我們就可以認為模型不適合數據。如果模型並沒有嚴重違背,那麼我們就可以認為模型適合這些數據。
任何模型都是錯誤的,但有些模型是有用的。因此,我們不應該追求完美的模型,而是應該追求有用的模型。
首先第一個問題,為什麼用殘差來診斷模型是否適合數據?
一般來說,在設計模型時,我們會讓設計矩陣 D 是 full rank 的,i.e. (DtD)t exists ⟹Y^=HY,其中 H=D(DtD)−1Dt 為投影矩陣。
⟹e=Y−Y^=(I−H)Y=MY=dM(Dβ+ε)=Mε=(I−H)ε
這裡 e,Y^,Y 是實際觀察到的數據,而 M(Dβ+ε) 是無法觀察到的隨機變量。因此在這裡不能使用 = 來表示,而應該使用 =d 來表示。
Y=Dβ+ε 是表示我們通過這個等式來建立模型,其中的 Y 與實際觀察到的數據 Y 是不同的。
如果 ε∼Nn(0,σ2I)⟹e∼Nn(0,σ2(I−H))
令 H=(h1,⋯,hn)⟹e=d(I−H)ε=ε−Hε
∀iei=dεi−hitε=εi−j=1∑nhijεj(△1)
- E(ei)=0
- σ2{ei}=(1−hii)σ2
Note that HH=H,Ht=H i.e. hii=hithi,∀i
- E(htε)=0
- σ2{hitε}=hitσ2{εhi}=σ2hii
如果 hii≈0⟹σ2{hitε}≈0 根據 Chebyshev's inequality,如果方差很小,那麼這個隨機變量就會很接近於常 數,並且這個常數會是它的期望值。i.e. hitε≈E(hitε)=0 almost surely。因此 (△1) 會變成 ei≈dεi。
- 因此,當 hii≈0 時,殘差 ei 就會接近於 εi。
c.f. ε 是互相獨立的,而 e 不是,因為
- ∑ei=0,因此如果我知道了前 n−1 個殘差,那麼我就可以知道第 n 個殘差。
- σ2{e}=σ2⋅M,但 M 通常不是對角矩陣,並且不是 full rank 的。
接下來的問題是 hii 的值是多少?
∀i0≤hii=hithi=j=1∑nhij2=hii2+j=i∑hij≥hii2
⟹hii∈[0,1] 並且 rank(H)=dim(Ω)=p=tr(H)=∑i=1nhii
因此 hii 的平均值大概就會是 np,而當 n≫p 時,np≈0⟹hii≈0⟹∑j=1nhij2≈0⟹hij≈0 ∀j=i
此時 M 矩陣非對角線的元素都會很小,因此 e 的相關性基本上 可以忽略不計。並且 M 矩陣的對角線元素也會接近於 1。因此在做診斷時,當 n 足夠大時,才有較高的可信度。
ei∼N(0,(1−hii)σ2)
-
standardized residual:
γi≜MSE(1−hii)ei∼tn−pn−p→∞N(0,1)
-
n≫p,直接假設 hii=0。semi-standardized residual:
ei∗≜MSEei∼:N(0,1)
i.e.
n≫p⟹{γ1,⋯,γne1∗,⋯,en∗ sample of size n from N(0,1)
殘差圖
在做診斷時,我們通常會畫出殘差圖(residual plot)來檢查模型是否適合數據。因為 ei 的方差還是與 σ 相關,所以我們通常會用 ei∗ 或 γi 來畫殘差圖。
- 殘差直方圖
因為理想狀況下我們認為殘差是服從期望值為 0 的常態分佈。因此我們會先畫出殘差的分佈圖,並重點關注是否是對稱的,並且集中於 0 附近。
-
理想:
-
非理想:
要注意的是,當數據量少的時候,殘差的直方圖可能並不會呈現完美的常態分佈。在這種情況,我們可以直接把點畫出來,然後看是否集中於 0 附近即可。
- 時間序列圖(Time sequence plot)
因為 e 可以一定程度上反映 ε 的性質,而 ε 是隨機的,不與具體的數據有關。因此,我們希望 ei 與 i (e.g. 時間) 是無關的。
-
理想狀況下,ei/ei∗/γi 和 i 的點圖應該大致呈現一條在 x 軸附近的水平區帶。
-
如果點圖畫出來發現有線性或非線性的趨勢,那麼 i 所代表的變數(e.g. 時間)也需要加入到模型中。
而如果殘差圖的波動範圍有明顯變化,這代表數據違背了方差相等的假設。這可以通過做加權最小二乘法(WLSE)或通過轉換來解決。
- ei/ei∗/γi v.s. Y^i。理想下,這個圖應該是一條在 x 軸附近的水平區帶。
- ei/ei∗/γi v.s. 每一個解釋變數 x
- 理想下,這個圖同樣也會是呈現一條在 x 軸附近的水平區帶。
- 非理想下:
- 呈線性關係:這代表代碼可能有問題。如果 x 確實加入到模型中,那麼 x 的線性關係已經被模型考慮了,殘差圖不可能會呈現線性關係。
- 曲線關係:
- 可能需要在模型中加入額外的變數,e.g. x2
- 對 Yi 進行轉換
- 波動範圍有明顯變化:
- 通過做加權最小二乘法(WLSE)
- 通過對 Yi 進行轉換
- Normal probability plot(Normal Quantile-Quantile Plot)
理想下,q-q plot 畫出來的圖應該是直線的。
Note:U1,⋯,Un∼U(0,1) 排序得到 U(1)≤⋯≤U(n)
pdf of U(i)=(i−1)!(n−i)!n!ti−1(1−t)n−it∈(0,1)
⟹U(i)∼Beta(i,n−i+1) 並且 E(U(i))=n+1i
U(i)=E(U(i))+U(i)−E(U(i))=n+1i+εi∗where E(εi∗)=0
因此這就會是一個簡單線性回歸模型。
Recall: 如果隨機變量 W 有 cdf F,那麼 F(W)∼U(0,1)
令 W1,⋯,Wn∼iidN(μ,τ2) 並排序得到 W(1)≤⋯≤W(n)
τWi−μ∼N(0,1)⟹Φ(τWi−μ)∼U(0,1)
因為 Φ 是遞增的,先排序再轉換,和先轉換再排序是一樣的。
∴Φ(τW(i)−μ)∼Beta(i,n−i+1)⟹E(Φ(τW(i)−μ))=n+1i
Idea: 如果 X 是隨機變量,我們可以將 Φ(X) 在 E[X] 點處做一階泰勒展開:
⟹Φ(X)≈Φ(E[X])+ϕ(E[X])(X−E[X])E[Φ(X)]≈Φ(E[X])+E[ϕ(E[X])](E[X]−E[X])=E[Φ(X)]
⟹Φ(E[τW(i)−μ])≈E[Φ(τW(i)−μ)]=n+1i⟹E(τW(i)−μ)≈Φ−1(n+1i)≜dn,i(quantile of N(0,1))
Note that Φ(dn,i)=Φ(Φ−1(n+ii))=n+ii⟹dn,1<dn,i<dn,n
⟺E(W(i))≈μ+τ⋅dn,i⟺W(i)≈μ+τ⋅dn,i+εi∗ with E(εi∗)=0
這看起來就像是一個簡單線性回歸模型,W(i) 是因變量,而 dn,i 是自變量。因此我們將 W(i) 對 dn,i 的圖畫出來,應該是一條直線,並且截距為 μ,斜率為 τ。
Some research results:
E(τW(i)−μ)≈Φ−1(n−2c+1i−c)≜dn,ic,∀c∈[0,1]
因此,如果 hii≈0 (i.e. n≫p)
⟹ei∼:N(0,σ2)ei∗∼:N(0,1)γi∼:N(0,1)
i.e. 截距 μ=0,斜率 τ=σ(使用 e(i)) 或 τ=1(使用 e(i)∗/γ(i))
-
將 W(i) 對 dn,i 的圖畫出來,理想下應該是:
因為 normal 分佈的 pdf 對於遠離中心的值很小,因此在 q-q plot 中,中心點的點會比較密集,而兩端的點會比較稀疏。因此我們會把看圖的重點放在兩端的部分。
-
不理想的圖會有兩種情況:
-
兩端趨近 0:代表數據 pdf 的兩端較薄,而中心較厚。
-
兩端遠離 0:代表數據 pdf 的兩端較厚,而中心較薄。
這種情況更糟,這代表更有可能出現更極端的值,甚至沒有期望值(e.g. Cauchy 分佈)。
- ei/ei∗/γi v.s. 其他還未加入模型的變數 x∗
這裡為了檢查是否還有其他重要的變數沒有加入到模型中。
- 如果殘差圖呈現一條在 x 軸附近的水平區帶,那麼這代表 x∗ 並不是一個重要的變數。
- 如果殘差圖呈現線性關係,那麼就將 x∗ 加入到模型中。
- 如果殘差圖呈現二次曲線關係,則將 x∗ 和 x∗2 加入到模型中。
- 如果c殘差圖呈現波動範圍有明顯變化,那麼說明數據收集時可能有問題,比如資料的品質發生了變化。
離群點
當畫原始點 Y 和 x 之間的圖時,可能會發生一些點與其他點有明顯的差距。這些點會影響 b 的結果。
有些會一定程度影響估計出的結果,而有些可能會讓估計呈現完全相反的結果。
- Outlier: 與大部分數據有明顯差異的數據。會有不同的定義。
e.g. ∣ei∗∣≜MSEei>4⟹outlier
- High-leverage point(influential): 是否包含這個數據會極大改變推論的結果。這個點的殘差可能會很小,因為回歸線會直接通過這個點。因為這個點可以撬動回歸線,所以這個點是高槓桿的。
Remark: 直方圖、點圖或殘差圖可以幫我們找到 outliers,但可能無法找到 influential points。因此要用其他方法來找,比如:DBeta, DFitted, Cook's distance...
可以用以下方式找到 influential points:
-
hii∈H,如果 hii>n2p (不同程式可能會有不同標準),那麼就將第 i 筆資料標記。
Y^=HYwith H=(hij)n×n,0≤hii≤1,∑hii=p⟹hii≈np
⟹Y^i=j=1∑nhijYj=hiiYi+j=i∑hijYj
i.e. hii 代表了 Yi 對 Y^i 的影響程度。如果 hii 過大,那麼這個點就是 high-leverage point。
-
如果 ∣ti∗∣>tn−1−p,2nα,那麼就將第 i 筆資料標記為 outlier/influential。
因為 influential 是指有無這個點會有很大的影響。那麼我們先從原始資料 (Y,D) 中刪除第 i 筆資料,得到新的一組資料 (Y(i),D(i)) 並計算 出刪除 i 後的 LSE b(i)。
⟹Y^(i)=Db(i)and e(i)=Y−Y^(i)
然後就能得到第 i 個預測值 Y^i(i)=(Db(i))i=citb(i),with ci is the i-th row of D。
Def: di=Yi−Y^i(i): deleted residual for the i-th case.
⟹E(di)=0E(Yi)=E(Y^i(i))=citβσ2=σ2+σ2{Y^i(i)}Yi⊥Yi(i)