你應該知道的7種迴歸方法

本文是我從國外網站翻譯而來的文章,如有錯誤之處,敬請指出!
原文標題:7 Types of Regression Techniques you should know!
鏈接:https://www.analyticsvidhya.com/blog/2015/08/comprehensive-guide-regression/

Introduction

線性迴歸(Linear regressions)和對率迴歸(Logistic regressions)是人們學習算法的第一個預測模型。因此它們很常見,還有許多分析人員認爲它們是僅有的迴歸模型,部分分析師認爲它們是所有迴歸模型中最重要的。
事實上有無數的迴歸模型都能被使用,每種形式的迴歸模型都有它獨特且重要的應用場景。在這篇文章裏我以簡單的方式解釋最常用的7種迴歸模型,通過這篇文章,我希望人們對迴歸模型有一種廣泛性的瞭解,取而代之的是希望能在每個場景合適的使用linear / logistic regression。

Table of Contents

  1. 什麼是迴歸分析?
  2. 爲什麼使用迴歸分析?
  3. 有什麼類型的迴歸?
    • Linear Regression
    • Logistic Regression
    • Polynomial Regression
    • Stepwise Regression
    • Ridge Regression
    • Lasso Regression
    • ElasticNet Regression
  4. 如何正確的選擇迴歸模型?

什麼是迴歸分析?

迴歸分析是預測模型技術中的一種形式,它探討的是因變量(target)和獨立變量(predictor)之間的關係。這個技術常用於進行預測、時間序列模型和在兩變量之間尋找因果效應的關係。譬如,使用迴歸能最好的研究道路交通事故和司機魯莽駕駛的關係。

迴歸分析是建模和分析數據的一類重要的工具。這裏,我們使用曲線/直線來擬合這些數據點,某些方法是數據點到曲線/直線的距離偏差最小,在接下來的部分我將說明更多的細節。

這裏寫圖片描述

爲什麼使用迴歸分析?

如上所述,迴歸分析是評估兩個或更多變量之間的關係。讓我們使用一個簡單的例子進行理解:

如我所說,你想基於當前的經濟狀況去評估公司的銷售額的增長,公司最近的數據表明在當前的經濟條件下出現2到5倍的增長,利用這個發現,我們能基於當前或過去的信息來預測公司未來的銷售情況。

這有使用迴歸分析的幾點好處:
1.它表明了因變量和獨立變量之間的重要關係;
2.它表明的是多個獨立變量對因變量影響的強度。

迴歸分析還使我們能比較變量在不同程度上影響,如價格變動對促銷活動的影響。這樣有利於市場研究員/數據分析師/數據科學家在建立模型的時候排除並評估出最好的變量。

我們有多少種迴歸技術?

有很多的迴歸技術可用於預測中,大多數的迴歸由3個指標所衡量(自變量的數目,因變量的類型以及迴歸線的形狀),在後面我們對這3個指標進行更加詳細的討論。

這裏寫圖片描述
對於有創造性的人,你可以創造新的迴歸,就需要組合以前沒有使用過的參數。在你開始之前,讓我們來了解最常用的迴歸:

1. 線性迴歸(Linear Regression)

它是廣泛爲人所知的模型技術之一。線性迴歸常被選用在線性預測模型中,在這個模型中,因變量是連續的,自變量可以是連續或離散的,迴歸線的性質是線性的。

線性迴歸使用最佳擬合直線建立因變量(Y)和一個或多個獨立變量(X)之間的關係(也成爲迴歸線)

它是被方程式:Y = a + b*X + e 所表示,這裏 a 爲截距,b 爲斜率和 e 爲誤差項。這個方程式能基於給定的預測變量來預測目標變量的值。

這裏寫圖片描述

簡單的線性迴歸與多元線性迴歸的區別在於,多元線性迴歸有多個(>1)獨立變量,而簡單線性迴歸只有1個獨立變量。現在,我們如何獲得最佳擬合線?

1). 如何獲得最佳擬合線(a和b的值)?

這個目標可以容易的由最小二乘法完成,最小二乘法是擬合迴歸線最常用的方法,它通過最小化每個數據點到線的垂直偏差的平方和來計算觀察數據的最佳擬合線。因爲偏差是一個平方,當相加時,在正值和負值之間沒有抵消。

minωXωy22

這裏寫圖片描述
我們可以使用R平方來評估模型性能。要了解有關這些指標的更多詳細信息,您可以閱讀:模型性能指標第1部分第2部分

2). 要點:
* 獨立變量和因變量之間必須存在線性關係;
* 多元迴歸具有多重共線性,自相關,異方差性;
* 線性迴歸對異常值非常敏感。它可以嚴重影響迴歸線和最終的預測值;
* 多重共線性可以增加係數估計值(係數)的方差,並使該估計值對模型中的微小變化非常敏感。結果是係數估計值不穩定;
* 在多個獨立變量的情況下,我們可以採用前向選擇,反向消除和逐步方法來選擇最重要的自變量。

2. 對率迴歸(Logistic Regression)

邏輯迴歸用於發現事件的概率=成功和事件的事件=失敗。當因變量是二進制(0/1,True / False,是/否)時,我們應該使用邏輯迴歸。這裏,Y的值的範圍從0到1,並且它可以由以下等式表示。

odds= p/(1-p) = probability of event occurrence / probability of not event occurrence
ln(odds) = ln(p/(1-p))
logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3….+bkXk

上面,p是有特徵存在的概率。你應該問的是“爲什麼我們在方程中使用log?”。

因爲我們這裏用二項分佈(因變量),我們需要選擇最適合這種分佈的鏈接函數。並且,它是logit函數。在上面的等式中,選擇參數用來最大化這些觀察樣本的似然值,而不是最小化平方誤差的和(類似於普通迴歸)。

這裏寫圖片描述

要點
* 它被廣泛的用於分類問題;
* 邏輯迴歸不需要依賴變量和自變量之間的線性關係。它可以處理各種類型的關係,因爲它對預測的勝率使用非線性對數(log)變換;
* 爲了避免過擬合和欠擬合,我們應該使用所有的有意義的變量。確保這種做法的一個好方法是使用逐步法來估計邏輯迴歸;
* 它需要大量的樣本,因爲最大似然估計在小樣本上比普通最小二乘方更弱;
* 自變量之間不應該彼此相關,即沒有多共性。然而,我們在分析和模型時包含分類變量的交互效應(相互之間有影響);
* 如果因變量的值是有序的,那麼它被稱爲有序邏輯迴歸;
* 如果因變量是多類,則稱爲多分類Logistic迴歸。

3. 多元迴歸

如果自變量的冪大於1,則迴歸方程是多項式迴歸方程。下面的方程式表示多項式方程:

y=a+bx2

在這種迴歸技術中,最佳擬合線並不是直線。它是一條擬合數據點的曲線。

這裏寫圖片描述
要點
* 雖然可能存在用較高次多項式去擬合較低次多項式的誤差,這可能導致過擬合。繪製出數據點與擬合曲線之間的擬合圖來確保曲線擬合問題的性質。這裏有一個如何繪製的例子可以幫助理解:

這裏寫圖片描述

  • 特別注意曲線向兩端,看看這些形狀和趨勢是否有意義。更高的多項式可以最終在外推上產生更多的結果。

4. 逐步迴歸

當我們處理多個自變量時常使用這種形式的迴歸。在這種技術中,獨立變量的選擇是藉助於自動過程完成的,其不用涉及到人類干預。

它的專長是通過觀察統計值,如R平方,t統計和AIC度量來辨別重要變量。逐步迴歸基本上適合迴歸模型,通過基於指定標準一次一個地添加/刪除共變量。下面列出了一些最常用的逐步迴歸方法:

  • 標準逐步迴歸做兩件事。它根據需要爲每個步驟添加和刪除預測變量;
  • 向前選擇從模型中的最重要的預測變量開始,併爲每個步驟添加變量;
  • 向後消除從模型中的所有預測變量開始,並刪除每個步驟中的最低有效變量。

該建模技術的目的是利用最小數量的預測變量來最大化預測能力。它是處理更高維度數據集的方法之一。

5. Ridge Regression

Ridge迴歸是當數據受多重共線性(自相關變量高度相關)時常使用的技術。在多重共線性中,即使最小二乘估計(OLS)是無偏的,它們的方差很大,這偏離了觀察值遠離真實值。通過對迴歸估計增加一定程度的偏差,Ridge迴歸減小了標準誤差。

上面,我們看到了線性迴歸方程,它可以表示爲:

y=a+bx

這個方程也有一個誤差項。完整方程式變爲:

y=a+b*x+e (error term), [error term is the value needed to correct for a prediction error between the observed and predicted value]
=> y=a+y= a+ b1x1+ b2x2+....+e, for multiple independent variables.

在線性方程中,預測誤差可以分解爲兩個子分量。第一是由於偏差,第二是由於方差。由於這兩個或兩個分量中的任一個都可能發生預測誤差。在這裏,我們將討論由於方差導致的錯誤。

Ridge迴歸通過收縮參數λ(lambda)來解決多重共線性問題。看看下面的方程。

=argminβRpyXβ22Loss+λβ22Penelty

在這個方程中,我們有兩個組成部分。第一個是最小二乘項,另一個是β2(β平方)的總和乘以lambda,其中β是係數。這被添加到最小二乘項以便收縮具有非常低的方差參數。

要點
* 該回歸的假設與最小二乘迴歸相同,除非不假設數據集正態性;
* 它收縮係數的值,但不會達到零,這表明沒有特徵選擇特徵;
* 這是一個正則化方法,並使用l2正則化。

6. Lasso Regression

與Ridge迴歸類似,Lasso(最小絕對收縮和選擇算子)也懲罰迴歸係數的絕對大小。此外,它能夠減少變化性和提高線性迴歸模型的準確性。看看下面的方程:

β=argminβRpyXβ22Loss+λβ1Penelty

Lasso迴歸與Ridge迴歸的區別在於,它使用的是絕對值懲罰函數而不是平方懲罰函數。這使懲罰(或等價地約束估計的絕對值的和)值導致一些參數估計精確地爲零。使用更大的懲罰會讓估計進一步的收縮到絕對零。這導致在給定的n個變量中作變量選擇。

要點
* 該回歸的假設與最小二乘迴歸相同,除非不假設正態性;
* 它將係數收縮爲零(正好爲零),這有助於特徵選擇;
* 這是一個正則化方法,使用l1正則化;
* 如果一批預測變量是高度相關,則Lasso只挑選其中一個,並將其他縮減爲零。

7. ElasticNet Regression

ElasticNet是Lasso和Ridge迴歸技術的混合模型。它是用L1和L2作爲正則化訓練的。當有多個相關的特徵時,Elastic-net是有用的,Lasso可能隨機選擇其中一個,Elastic-net很可能選擇兩個。

β̂ =argminβ(yXβ2+λ2β2+λ1β1)

在Lasso和Ridge之間折衷的實際優點是它允許Elastic-Net繼承一些Ridge的穩定性。

要點
* 它鼓勵在高度相關變量之間的羣效應;
* 對所選變量的數量沒有限制;
* 它可能遭受雙倍收縮率。

如何正確的選擇迴歸模型?

當你只知道一兩種技術時生活通常很簡。我知道一個培訓機構告訴他們的學生:如果結果是連續的就應用線性迴歸。 如果是二元態的就使用邏輯迴歸!然而,我們可用的選項數量越多,選擇正確的選項就越困難。類似的情況發生在迴歸模型。

在多種類型的迴歸模型中,重要的是基於獨立和因變量的類型、數據的維度和數據的一些其他基本特徵來選擇最適合的技術。 以下是您應該練習選擇正確迴歸模型的關鍵因素:

  1. 數據探索是建立預測模型的必要組成部分。它應該是你選擇正確的模型之前的第一步,如識別變量的關係和影響;
  2. 爲了比較不同模型的擬合程度,我們可以分析不同的指標,如參數的重要性統計、R平方、調整r平方、AIC、BIC和誤差項。另一個是Mallow的Cp標準。這本質上是通過將模型與所有可能的子模型(或仔細選擇它們)進行比較來檢查模型中的可能偏差;
  3. 交叉驗證是評估用於預測的模型的最佳方式。這裏您將數據集分爲兩組(訓練集和驗證集)。觀測值和預測值之間的簡單均方差給出一個預測精度的指標;
  4. 如果您的數據集有多個混雜變量,您不應選擇用自動模型選擇的方法,因爲您不想同時將它們放在一個模型中;
  5. 這也將取決於你的目標。與高度統計學顯着的模型相比,一個相對不強大的模型更容易實現;
  6. 迴歸正則化方法(Lasso,Ridge和ElasticNet)在具有高維度和多重共線性的數據集變量上效果更好。

結束語

現在,我希望你對迴歸有一個總體概述。確定使用哪種技術的最佳方法之一是檢查變量族,即離散或連續。

在本文中,我討論了7種類型的迴歸和每種技術相關的一些關鍵點。作爲這個行業的新人,我建議你學習這些技術,然後在你的模型中實現它們。

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