為什麼多重共線性與相關性不同?
我知道有人可能會說這個問題是重複的,我會得到反對票,但我非常確信它不是,或者至少沒有正確回答。看,我們有很多這樣的問題,當然。比如這個,還有這個,這個,還有這個帖子,哦還有這個帖子。
通過閱讀所有答案,我發現大多數人認為相關性和多重共線性是相同的,或者非常相關,但是一些非常有聲望的人(比如 Peter Flom)說它們實際上並不直接相關。此外,大多數答案都不是很深刻。至少對於像我這樣不那麼聰明的人來說不是。我的書中也沒有任何內容(如 Angrist 和 Wooldridge)。
所以我會在這裡抓住機會再次問:多重共線性和相關性之間有什麼區別?如何檢查數學上的多重共線性?這背後有什麼樣的數學?
我試圖從數學上“看到”差異。有人能幫我嗎?
根據維基百科的百科全書
在統計學中,多重共線性(也稱為共線性)是一種現象,在這種現像中,多元回歸模型中的一個預測變量可以從其他預測變量中以相當高的準確度線性預測。
所以多重共線性是相關的一個特例。更具體的有兩種方式
- 它特別涉及回歸模型中的預測變量。
- 它涉及與多個變量組合的線性組合的相關性。
相關性不需要是多個變量的線性組合(相關性是關於兩個變量)。相關性描述的現像比僅使用預測變量的情況要廣泛得多。
完美多重共線性(變量/預測變量之間的完美線性關係)或只是多重共線性(不是精確的線性關係,而是至少一個預測變量與其他預測變量的線性組合的強相關性)之間存在區別。
檢查多重共線性是否與檢查相關性相同?
不,不完全是。
多重共線性和相關性有什麼區別?如何檢查數學上的多重共線性?這背後有什麼樣的數學?
即使個別預測變量對之間幾乎沒有相關性,多重共線性也可能發生。當一個預測變量與其他預測變量的線性和存在相關時,可能會出現多重共線性問題。
想像一下,例如,當有六個預測變量並添加第七個作為總和時 $ X_7 = X_1 + X_2 + X_ 3 + X_4 + X_5 + X_6 $ . 之間的相關性 $ X_7 $ 其他預測變量只會相對較小。但是會有完美的多重共線性。
在完美線性關係的示例中,您可以通過計算設計矩陣的秩來檢查完美多重共線性,並且這應該等於列數,以便不存在完美多重共線性。
但當 $ X_7 $ 與總和只有一點點差異 $ X_1 + X_2 + X_3 + X_4 + X_5 + X_6 $ 那麼就不會有完美的多重共線性。然而,預測者 $ X_7 $ 仍然很大程度上依賴於其他六個(並造成麻煩)。
在這種情況下,您不能僅通過相關性輕鬆驗證,因為它們不是很大。在這種情況下,一種常見的方法是計算方差膨脹因子(VIF)。此 VIF 表示係數估計中的變異/方差/誤差有多少(計算為 $ s^2 (X^TX)^{-1} $ , 在哪裡 $ X $ 是設計矩陣)是由於與其他變量的相互作用。
計算示例
下面我們如上所述創建了七個變量。第七個是前六個的平均值,並添加了一些噪音。
設計矩陣的相關表 $ X $ ) 好像:
1.00 -0.30 -0.25 -0.32 0.11 -0.24 0.01 -0.30 1.00 0.29 0.29 -0.12 0.10 0.64 -0.25 0.29 1.00 0.11 -0.54 0.34 0.41 -0.32 0.29 0.11 1.00 0.03 -0.17 0.46 0.11 -0.12 -0.54 0.03 1.00 -0.44 0.10 -0.24 0.10 0.34 -0.17 -0.44 1.00 0.28 0.01 0.64 0.41 0.46 0.10 0.28 1.00
不是很了不起。
但是協方差表的倒數 $ (X^TX)^{-1} $ . 對角線上的最後一項具有較大的值 6.42。這與第 7 個係數的誤差(方差)有關,該係數幾乎大了 36 倍/膨脹了。
0.15 0.17 0.15 0.15 0.17 0.13 -0.93 0.17 0.24 0.18 0.18 0.23 0.16 -1.15 0.15 0.18 0.22 0.16 0.22 0.14 -1.07 0.15 0.18 0.16 0.21 0.20 0.15 -1.06 0.17 0.23 0.22 0.20 0.29 0.19 -1.29 0.13 0.16 0.14 0.15 0.19 0.16 -0.93 -0.93 -1.15 -1.07 -1.06 -1.29 -0.93 6.42
下面是設計矩陣表
該示例是使用此 R 代碼創建的
set.seed(1) # generate 6 random variables X_1_6 = matrix(rbinom(120,9,0.5), ncol = 6) # generate a 7-th variable with a bit noise x7 = (rowSums(X_1_6) + rbinom(20, 2, 0.5) - 1)/6 # make the design matrix from all 7 variables X = cbind(X_1_6,x7) ### the correlations round(cor(X), 2) ### the inverse of the covariance table round(solve(t(X) %*% X),2)
幾何視圖
我試圖從數學上“看到”差異。
從幾何的角度來看,您可以將回歸視為 $ n $ 觀察 $ y $ 到由跨越的表面上 $ m $ 預測向量。
這些觀察可以看作是一個點 $ n $ 維空間。這 $ m $ 預測向量在此內部形成一個子空間(m 維,在二維中,您可以將其視為一個表面) $ n $ 維空間。回歸的擬合解是該子空間內最接近觀測值的點。
這個問題的下圖可能有助於看到這一點。
我們可以垂直於向量所跨越的表面 $ x_1 $ 和 $ x_2 $ 多於。係數 $ \beta_1 $ 和 $ \beta_2 $ 解可以看作是這個表面上的坐標,告訴向量有多少 $ x_1 $ 和 $ x_2 $ 您需要添加才能獲得解決方案/預測 $ \hat{y} $ . (見後面的問題Intuition以線性回歸中 w 的封閉形式來解釋 $ \alpha $ 和 $ \beta $ 此圖像中的坐標)
然而,該坐標空間的軸彼此不垂直。下圖說明了這會為空間中一點的微小變化造成坐標的巨大變化。
該圖像包含 100 個隨機分佈的觀察/實驗的樣本,作為擬合/回歸的投影/解決方案。在高斯分佈誤差的情況下,它的分佈是一個圓形雲。
軸 $ x_1 $ 和 $ x_2 $ 彼此不垂直,而是對角線。您可以看到,這種方式使坐標線彼此靠近(並且這些坐標對應於作為回歸輸出的係數)。這意味著這個坐標/係數的變化會更大。
此圖形示例的情況是二維的,但您可以將其想像為擴展到多個維度。多重共線性意味著至少一個軸(對應於預測向量)與其他軸的組合(與那些其他軸跨越的空間)具有小角度。這意味著它不一定是一個單軸和另一個單軸相對於彼此具有小角度(在 2D 情況下是),而是一個軸與另一個軸創建的子空間具有小角度 $ m-1 $ 其他軸。
在 3 個維度中,您可以如下查看它。說軸 $ x_3 $ 被剪切並與其他人成一定角度。你可以擁有這個 $ x_3 $ 與立方體的底平面(甚至在它的內部)成很小的角度,沒有獨立的角度 $ x_1 $ 和 $ x_2 $ 非常小。
請參閱相關問題(與其他相關問題的更多鏈接)為什麼相同的變量在合併到具有多個 x 變量的線性模型中時具有不同的斜率