機器學習|你應該掌握的7種回歸技術!

極市平臺 發佈 2023-06-07T03:43:43.170744+00:00

轉載自丨沈浩老師來源丨https://www.analyticsvidhya.

轉載自丨沈浩老師

來源丨https://www.analyticsvidhya.com/blog/2015/08/comprehensive-guide-regression/

編輯丨極市平台

前言

機器學習者對線性回歸和邏輯回歸這兩種分析方法一定不陌生,可以說它們是最重要的回歸分析技術,但千萬不要認為回歸分析僅限於這兩種方法。事實上,有無數種形式的回歸,每種形式都有其自身的重要性和最適合應用的特定條件。在本文中,我們將簡單地介紹7種最常用的回歸類型,一起來看看吧~

1 什麼是回歸分析?

回歸分析是一種預測建模技術,它研究的是因變量(目標)和自變量(預測因子)之間的關係。通常將這種技術用於預測分析、時間序列建模以及發現變量間的因果關係。例如,我們要研究司機的魯莽駕駛和其交通事故數量之間的關係,最好的方法就是回歸分析。

回歸分析是建模和分析數據的重要工具。其核心思想是,通過將曲線或直線擬合到數據點,以使各數據點到曲線或直線的距離差最小化。太抽象?沒關係,我們將在下文中詳細解釋這一點。


2 為什麼要使用回歸分析?

如前所述,回歸分析通常用於估計兩個或多個變量間的關係。舉一個簡單的例子,假設你要根據當前的經濟狀況估算一家公司的銷售額增長情況,你手中的公司最新數據顯示,銷售額增長約為經濟增長的2.5倍,那麼,使用回歸分析,我們就可以根據當前和過去的數據預測公司未來的銷售情況。

使用回歸分析主要有以下優點:

① 它可以表明自變量和因變量之間的顯著關係

② 它可以表明多個自變量對一個因變量的不同影響強度

③ 回歸分析還允許我們去比較用不同尺度衡量的變量之間的相互影響,如價格變化與促銷活動數量之間的聯繫

這些優點都有助於我們排除無關變量,並評估出一組用於構建預測模型的最佳變量。


3 七種常見的回歸模型

有各種各樣的回歸技術可用於進行預測分析,這些技術主要從自變量個數、因變量類型、回歸線形狀這三個方面度量。

使用這些參數的組合,我們甚至可以創造出一個從未被使用過的回歸模型。但現在,讓我們先來了解一下最常見的回歸方法吧~

1. 線性回歸(Linear Regression)

線性回歸通常是人們在學習預測建模時首選的技術之一。它的因變量是連續的,自變量可以是連續的也可以是離散的,並且回歸線是線性的。

線性回歸使用最佳擬合直線(也就是回歸線)在因變量(Y)和一個或多個自變量(X)之間建立一種關係。它由方程式Y=a+b*X+e表示,其中a表示截距,b表示直線的斜率,e是誤差項。這個方程可用於根據給定的預測變量來預測目標變量的值。

一元線性回歸和多元線性回歸的區別在於,多元線性回歸有(>1)個自變量,而一元線性回歸通常只有1個自變量。

那麼,我們如何得到一個最佳的擬合線呢?使用最小二乘法可以輕鬆完成。最小二乘法也是用於擬合回歸線最常用的方法。它通過最小化每個數據點到線的垂直偏差的平方和來計算觀測數據的最佳擬合線。由於偏差先平方再相加,所以正值和負值之間不會抵消。

我們可以使用R-square指標來評估模型性能。在使用線性回歸時,我們需要注意:

① 自變量和因變量之間必須要有線性關係

② 多元線性回歸存在多重共線性,自相關性和異方差性

③ 線性回歸對異常值非常敏感,它會嚴重影響回歸線,並最終影響預測值

④ 多重共線性會增加係數估計值的方差,並使得估計對模型的輕微變化也非常敏感,從而導致係數估計值不穩定

⑤ 在有多個自變量的情況下,我們可以使用向前選擇法,向後剔除法和逐步篩選法來選擇最重要的自變量

2. 邏輯回歸(Logistic Regression)

邏輯回歸用於計算「事件=Success」和「事件=Failure」的概率。當因變量是二元變量(1/0,真/假,是/否)時,我們應該使用邏輯回歸。其中,Y的取值範圍是0到1,可以用以下等式表示:

odds=p/(1-p)=事件發生的概率/事件不發生的概率

ln(odds) = ln(p/(1-p))

logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3....+bkXk

在上式中,p表示具有某個特徵的概率。你可能會問,為什麼要在公式中使用對數log呢?因為在這裡我們對因變量使用的是二項分布,就需要選擇一個對這個分布來說最佳的連結函數——Logit函數。在上述方程中,通過觀測樣本的極大似然估計值來選擇參數,而不是最小化平方誤差的總和(在普通回歸中使用的)。

劃重點:

① 邏輯回歸被廣泛用於分類問題

② 邏輯回歸不要求自變量和因變量間具有線性關係,它甚至可以處理各種類型的關係,因為它對預測的相對風險指數OR使用了一個非線性的log轉換

③ 為了避免過擬合和欠擬合,我們應該使用所有重要的變量。確保這一點的一個很好的方法是,使用逐步篩選來估計邏輯回歸

④ 邏輯回歸需要很大的樣本量,因為在樣本數量較少的情況下,極大似然估計的效果還不如普通的最小二乘法

⑤ 使用的自變量不應該是相互關聯的,即不具有多重共線性。然而,在分析和建模時,我們可以選擇包含分類變量相互作用的影響

⑥ 如果因變量的值是序數,則稱它為序邏輯回歸

⑦ 如果因變量是多類的,則稱它為多元邏輯回歸

3. 多項式回歸(Polynomial Regression)

如果一個回歸方程的自變量的指數大於1,那麼它就是多項式回歸方程。可表示為:

y = a + b * x ^ 2

在這種回歸技術中,最佳擬合線不是直線,而是一條用於擬合數據點的曲線(如下圖所示)

劃重點:

雖然可以嘗試擬合一個更高階的多項式以獲得較低的誤差,但這可能會導致過擬合。你需要經常畫出關係圖來查看擬合情況,並確保既沒有過擬合又沒有欠擬合。下面是一個圖例,可以幫助理解:

尤其要注意向兩端尋找曲線點,看看這些形狀和趨勢是否有意義,高階多項式最終可能會產生奇怪的結果。

4.逐步回歸(Stepwise Regression)

當要處理多個自變量時,我們可以使用這種形式的回歸。在這種技術中,自變量的選擇是在一個自動的過程中完成的,該過程無需人工干預。具體實現是通過觀察R-square,t-stats和AIC指標等統計值來識別重要變量。

逐步回歸可以通過基於指定條件一次添加或刪除一個協變量來擬合回歸模型。下面是一些最常用的逐步回歸方法:

① 標準逐步回歸,根據每個步驟的需要添加和刪除預測變量

② 向前選擇法,從模型中最重要的預測變量開始,然後在每一步中添加變量

③ 向後剔除法,從模型中的所有預測變量開始,然後在每一步中去除最低有效變量

逐步回歸建模技術的目的是,使用最少的預測變量來最大化預測能力。這也是處理高維數據集的方法之一。

5.嶺回歸(Ridge Regression)

嶺回歸分析用於當數據存在多重共線性(自變量高度相關)時。在多重共線的情況下,即使最小二乘法(OLS)對每個變量是無偏的,它們的方差也很大,這使得觀測值偏離了真實值。嶺回歸通過在回歸估計中增加一個偏差度,來降低標準誤差。

你還記得我們在上面提到的線性回歸方程嗎?它可以表示為:

y = a + b * x

添加誤差項後,等式變為:

y = a + b * x + e

當有多個自變量時可寫為:

y = a + b1x1 + b2x2 + .... + e

其中,e是誤差項,即校正觀測值和預測值間的誤差所需的值

在線性方程中,預測誤差可以分解為兩部分:偏差和方差。它們中的一個或兩個都可能會導致預測錯誤。在這裡,我們將討論由方差引起的誤差。

嶺回歸通過收縮參數λ解決多重共線性問題。看下面的公式

這個公式有兩個組成部分,第一個是最小二乘項,第二個是相關係數β平方和的λ倍,把它添加到最小二乘項以縮小參數,從而得到一個非常低的方差。

劃重點:

① 除常數項外,嶺回歸的假設與最小二乘回歸類似;

② 嶺回歸縮小了相關係數的值,但不會達到零,這表明它沒有特徵選擇功能

③ 這是一個正則化方法,並且使用的是L2正則化。

6. 套索回歸(Lasso Regression)

類似於嶺回歸,「套索」(Lasso,最小絕對收縮和選擇算子)也會懲罰回歸係數的絕對值大小。此外,它能夠減少變化程度並提高線性回歸模型的精度。看看下面的公式:

套索回歸與嶺回歸的區別之處在於,它使用的懲罰函數是絕對值而不是平方。這導致懲罰值(或等於約束估計的絕對值之和)使一些參數估計結果等於零。使用的懲罰值越大,進一步估計會使得縮小值趨近於零。這將導致我們要從給定的n個變量中選擇變量。

劃重點:

① 除常數項以外,這種回歸的假設與最小二乘回歸類似

② 套索回歸將係數縮小至接近零(等於零),將有助於特徵選擇

③ 這是一個正則化方法,使用的是L1正則化;

④ 如果一組預測變量是高度相關的,套索回歸會選出其中一個並將其它變量收縮為零

7. ElasticNet回歸

ElasticNet回歸是套索回歸和嶺回歸的結合,它使用L1和L2正則化器進行訓練。當有多個相互關聯的特徵時,ElasticNet回歸是很有用的,套索回歸會隨機挑選這些特徵中的一個,而ElasticNet回歸會都選

在套索回歸和嶺回歸之間進行折中的一個優點是,它允許ElasticNet回歸繼承循環狀態下嶺回歸的某些穩定性。

劃重點:

① 在變量高度相關的情況下,它會產生群體效應

② 選擇變量的數目沒有限制

③ 它可以承受雙重收縮

除了這7種最常用的回歸方法,還有一些其他的回歸模型,如Bayesian、Ecological和Robust回歸。

4 如何選擇正確的回歸模型?

此前,你可能會有這樣的結論:如果結果是連續的,就使用線性回歸;如果是二元的,就使用邏輯回歸。然而,在了解了另外5種回歸方法後,在回歸建模時你可能會有「選擇困難症「。

別擔心!還記得我們在前面提到的嗎?在多種類型的回歸模型中,我們需要根據自變量和因變量的類型、數據的維數以及數據的其它基本特徵,來選擇最合適的方法。以下列出了一些在選擇時需考慮的關鍵因素:

① 數據探索是預測建模必不可少的一部分。在選擇合適的模型之前,比如確定變量的關係和影響時,它應該是你進行的第一步

② 我們可以通過分析不同指標參數,如R-square、調整後的 R-square、AIC、BIC以及誤差項等,來比較不同模型的擬合程度。另外也可以使用Mallows』 Cp準則,通過將模型與所有可能的子模型進行對比,檢查在你的模型中可能出現的偏差

③ 交叉驗證是評估預測模型的最佳方法。將數據集分成訓練集和驗證集,使用觀測值和預測值之間的一個簡單均方差可以衡量你的模型的預測精度

④ 如果數據集中有多個混合變量,那麼就不應該使用自動模型選擇方法,畢竟你應該不想同時把所有變量放在一個模型中

⑤ 取決於你的目的,與具有高度統計學意義的模型相比,功能較弱的模型更易於實現

⑥ 在高維數據集,以及數據集變量間有多重共線性的情況下,回歸正則化方法(套索回歸、嶺回歸和ElasticNet回歸)效果很好

關鍵字: