作者:Will Badr
編譯:ronghuaiyang
鸛會接生孩子嗎?雖然它已經在相關性和因果關係的背景下得到了理論上的證明,但本文探討了相關性以及它與因果關係的不同之處。
器學習模型的好壞取決於你所擁有的數據。這就是為什麼數據科學家可以花費數小時對數據進行預處理和清理。他們只選擇對結果模型的質量貢獻最大的特徵。這個過程稱為「特徵選擇」。特徵選擇是選擇能夠使預測變量更加準確的屬性,或者剔除那些不相關的、會降低模型精度和質量的屬性的過程。
數據與特徵相關被認為是數據預處理中特徵選擇階段的一個重要步驟,尤其是當特徵的數據類型是連續的。那麼,什麼是數據相關性呢?
數據相關性:是一種理解數據集中多個變量和屬性之間關係的方法。使用相關性,你可以得到一些見解,如:
那麼,相關性為什麼有用?
讓我們更仔細地看看這意味著什麼,以及相關性是如何有用的。相關性有三種類型:
正相關:表示如果feature A增加,feature B也增加;如果feature A減少,feature B也減少。這兩個特徵是同步的,它們之間存在線性關係。
負相關(左)正相關(右)
負相關:表示如果feature A增加,feature B減少,反之亦然。
無相關性:這兩個屬性之間沒有關係。
這些相關類型中的每一種都存在於由0到1的值表示的頻譜中,其中微弱或高度正相關的特徵可以是0.5或0.7。如果存在強而完全的正相關,則用0.9或1的相關分值表示結果。
如果存在很強的負相關關係,則表示為-1。
如果你的數據集具有完全正或負的屬性,那麼模型的性能很可能會受到一個稱為「多重共線性」的問題的影響。多重共線性發生在多元回歸模型中的一個預測變量可以由其他預測變量線性預測,且預測精度較高。這可能導致歪曲或誤導的結果。幸運的是,決策樹和提升樹算法天生不受多重共線性的影響。當它們決定分裂時,樹只會選擇一個完全相關的特徵。然而,其他算法,如邏輯回歸或線性回歸,也不能避免這個問題,你應該在訓練模型之前修復它。
我該如何處理這個問題?
有多種方法來處理這個問題。最簡單的方法是刪除完全相關的特性。另一種方法是使用降維算法,比如PCA。
Spearman VS Pearson相關矩陣:
Spearman和Pearson是計算兩個變量或屬性之間相關性強弱的兩種統計方法。Pearson相關係數可用於線性關係的連續變量。舉個例子:
上面代碼的輸出
要列印Pearson係數評分,只需運行 pearsonr(X,Y),結果為: (0.88763627518577326,5.1347242986713319e-05),其中第一個值為Pearson相關係數,第二個值為p值。0.8表示變量呈高度正相關。
如果變量之間存在非線性關係,則可以使用Spearman 相關係數來度量相關性。也可以與ordinal categorical variables一起使用。可以通過運行 scipy.stats.spearmanr(X,Y)來獲得Spearman係數得分。
這聽起來可能很複雜特別是對於高維數據集。在這種情況下,最好在矩陣中可視化相關關係。下面是如何使用panda實現這一點,我使用的是Porto Seguro的Kaggle安全駕駛預測數據集:
從上面的矩陣中可以看出,psreg03和psreg02變量之間以及pscar12和pscar13之間具有很高的相關性。
還有一種很流行的方法叫做Kendall’s Tau係數,它也是基於可變等級的,但與Spearman係數不同,它沒有考慮等級之間的差異。由於本文的重點是Pearson和Spearman的相關性,所以Kendall方法不在本文的研究範圍之內。
誤解(鸛會接生孩子嗎?):
相關性經常被解釋為因果關係,這是一個很大的誤解。變量之間的相關性並不表示因果關係。任何高度相關的變量都應該仔細檢查和考慮。這是一篇(幽默的)德語文章,它使用相關性來證明嬰兒是由鸛來接生的理論。研究表明,城市周邊鸛類數量的增加與城市醫院外接生數量的增加之間存在顯著的相關性。
左邊的圖表顯示鸛的數量增加(粗體黑線),醫院分娩的數量減少。另一方面,右邊的圖表顯示,醫院外分娩的數量(白色方塊標記)遵循鸛數量增加的模式。雖然這項研究並不是為了科學地證明(嬰兒鸛理論),但它表明,通過高相關性,一種關係可能看起來是因果關係。這可能是由於一些未觀察到的變量。例如,人口增長可以是另一個因果變量。
總之:相關性在許多應用中都非常有用,尤其是在進行回歸分析時。然而,它不應與因果關係混在一起,並以任何方式被誤解。你還是應該始終檢查數據集中不同變量之間的相關性,並在探索和分析過程中收集一些見解
英文原文:https://towardsdatascience.com/why-feature-correlation-matters-a-lot-847e8ba439c4
請長按或掃描二維碼關注本公眾號