logo
Loading...

【QA】什麼是共線性(Collinearity)?? - Cupoy

當多個連續變項同時放入模型中,容易造成相同或相似特性的變數影響同一個目標,造成結果反而更差的現象,形...

【QA】什麼是共線性(Collinearity)??

2021/10/06 下午 08:19
機器學習共學討論版
王健安
觀看數:8287
回答數:1
收藏數:0

當多個連續變項同時放入模型中,容易造成相同或相似特性的變數影響同一個目標,造成結果反而更差的現象,形成「共線性」,那麼具體來說「共線性」是什麼呢?有什麼辦法解決呢?

回答列表

  • 2021/10/06 下午 08:20
    王健安
    贊同數:0
    不贊同數:0
    留言數:0

    共線性是指「兩個(含)以上的自變項的相關性過高時,會導致主要的影響因子受到不良影響,導致目標變數受到不良影響」,當線性迴歸模型、羅吉斯迴歸模型,甚至是層數低等非樹狀的神經網路有許多變數時,每個變數都會造成潛在造成共線性,因此辨識每個變數是否可能有共線性是很重要的。若變數發生共線性時,以下方法可以解決: 1. 透過相關係數找到各個有相關的組別後,再把各組去除掉某一個變數,即可破壞掉高相關係數的組合,減緩共線性的問題。 2. 把 Variance Inflation (VIF) 超過10的變數排除:VIF是一個典型用來檢測共線性的方法,輪流把特徵當作目標特徵,並將其他特徵作為自變項後建立迴歸,接著藉由決定係數帶入以下公式,如此便能計算出VIF。 $$$$ VIF = \frac{1}{1-R^2} $$$$ 3. 使用Principle Component Analysis (PCA) 或 Factorical Analysis (FA) 把高相關的特徵合併成數個代表性特徵, 4. 使用Lasso Regression:把每個係數都加入校正項,辨識出每個特徵在模型中的影響性,如此便能知道每個特徵的影響力有多大,也能夠篩選出沒有受到共線性的特徵。 - 參考答案來源: https://blog.clairvoyantsoft.com/correlation-and-collinearity-how-they-can-make-or-break-a-model-9135fbe6936a https://www.yongxi-stat.com/multicollinearity/ https://statisticsbyjim.com/regression/multicollinearity-in-regression-analysis/