FacebookTwitterLineHatena

對於機器學習/資料科學的初學者來說,線性回歸,或者Logistic回歸是許多人在建立預測模型時接觸的第一/第二種方法。由於這兩種演算法適用性極廣,有些人甚至在走出校門當上資料分析師後還固執地認為回歸只有這兩種形式,或者換句話說,至少線性回歸和Logistic回歸應該是其中最重要兩個演算法。那麼事實真的是這樣嗎?

目錄

1. 什麼是回歸分析?
2. 為什麼要用回歸分析?
3. 幾種常見的回歸分析方法

線性回歸
Logistic回歸
多項式回歸
逐步回歸
嶺回歸
Lasso回歸
ElasticNet回歸

4. 如何挑選適合的回歸模型?

什麼是回歸分析?

回歸分析是一種預測建模技術,它可以被用來研究因變數(目標)和自變數(預測)之間的關係,常見於預測建模、時間序列建模和查找變數間關係等應用。舉個例子,透過回歸分析,我們能得出司機超速駕駛和發生交通事故次數之間的關係。

它是建模和資料分析的重要工具。回歸分析在圖像上表示為一條努力擬合所有數據點的曲線/線段,它的目標是使資料點和曲線間的距離最小化。

為什麼要用回歸分析?

如上所述,回歸分析估計的是兩個或兩個以上變數間的關係。我們可以舉這樣一個例子來幫助理解:

假設A想根據公司當前的經濟狀況估算銷售增長率,而最近一份資料表明,公司的銷售額增長約為財務增長的2.5倍。在此基礎上,A就能基於各項資料資訊預測公司未來的銷售情況。

使用回歸分析有許多優點,其中最突出的主要是以下兩個:

它能顯示因變數和自變數之間的顯著關係
它能表現多個獨立變數對因變數的不同影響程度

除此之外,回歸分析還能揭示同一個變數帶來的不同影響,如價格變動幅度和促銷活動多少。它為市場研究人員/資料分析師/資料科學家構建預測模型提供了評估所用的各種重要變數。

幾種常見的回歸分析方法

回歸分析的方法有很多,但其中出名的沒幾個。綜合來看,所有方法基本上都由這3個重要自變數驅動:自變數的數量、因變數的類型和回歸曲線的形狀。

至於為什麼是這三點,我們會在後文作出具體解釋。當然,對於那些有創意、能獨立設計自變數的人,他們的模型大可不必局限於這些自變數。這只是以前大多數人的做法。

1. 線性回歸

線性回歸是知名度最廣的建模方法之一。每當提及建立一個預測模型,它總能占一個首選項名額。對於線性回歸,它的因變數是連續的,自變數則可以是連續的或是離散的。它的回歸線在本質上是線性的。

在一元問題中,如果我們要用線性回歸建立因變數Y和和自變數X之間的關係,這時它的回歸線是一條直線,如下圖所示。

它的相應運算式為:Y = a + b × X + e。其中a是y軸截距,b是回歸線斜率,e是誤差項。

但有時我們可能擁有不止一個自變數X,即多元問題,這時多元線性回歸的回歸方程就是一個平面或是一個超平面。

既然有了一條線,那我們如何確定擬合得最好的那條回歸線呢(a和b的值)?對於這個問題,最常規的方法是最小二乘法——最小化每個點到回歸線的歐氏距離平方和。由於做了平方,距離不存在正負差別影響。

線性回歸重點:

自變數和因變數之間必須存在線性關係;
多元回歸受多重共線性、自相關和異方差影響;
線性回歸對異常值非常敏感。它會嚴重影響回歸線,並最終影響預測值。
多重共線性會使自變數估計值的方差增大,可能會過度地影響最小二乘估計值,從而造成消極影響。
在存在多個自變數的情況下,我們可以用前進法、後退法和逐步法選擇最顯著的自變數。

2. Logistic回歸

Logistic回歸一般用於判斷事件成功/失敗的概率,如果因變數是一個二分類(0/1,真/假,是/否),這時我們就應該用Logistic回歸。它的Y是一個值域為[0, 1]的值,可以用下方等式表示:

odds = p/ (1-p) = 事件發生概率 / 事件未發生概率 ln(odds) = ln(p/(1-p)) logit(p) = ln(p/(1-p)) = b0+b1×1+b2×2+b3×3….+bk×k

在上式中,p是目標特徵的概率。不同於計算平方和的最小值,這裡我們用的是極大似然估計,即找到一組自變數θ,使得在這組自變數下,樣本資料的似然度(概率)最大。考慮到對數損失函數與極大似然估計的對數似然函數在本質上是等價的,所以Logistic回歸使用了對數函數求解自變數。

Logistic回歸重點:

Logistic回歸被廣泛用於分類問題。
Logistic回歸無需依賴自變數和因變數之間的線性關係,而是用非線性對數計算用於預測的比值比,因此可以處理各種類型的問題。
為了避免過擬合和欠擬合,Logistic回歸需要包含所有重要變數,然後用逐步回歸方法去估計邏輯回歸。
Logistic回歸對樣本大小有較高要求,因為對於過小的資料集,最大似然估計不如普通最小二乘法。
各自變數間不存在多重共線性。
如果因變數的值是序數,那麼它就該被稱為序數Logistic回歸。
如果因變數是多個類別,那麼它就該被稱為多項Logistic回歸。

3. 多項式回歸

多項式回歸是對線性回歸的補充。線性回歸假設自變數和因變數之間存在線性關係,但這個假設並不總是成立的,所以我們需要擴展至非線性模型。Logistic回歸採取的方法是用非線性的對數函數,而多項式回歸則是把一次特徵轉換成高次特徵的線性組合多項式。

一元多項式回歸

簡而言之,如果自變數的冪大於1,那麼該回歸方程是多項式回歸方程,即Y = A + B × X2。在這種回歸方法中,它的回歸線不是一條直線,而是一條力爭擬合所有數據點的曲線。

多項式回歸重點:
儘管更高階的多項式回歸可以獲得更低的誤差,但它導致過擬合的可能性也更高。
要注意曲線的方向,觀察它的形狀和趨勢是否有意義,在此基礎上在逐步提高冪。

4. 逐步回歸

截至目前,上述方法都需要針對因變數Y選擇一個目標自變數X,再用線性的、非線性的方法建立「最優」回歸方程,以便對因變數進行預測或分類。那麼當我們在處理多個自變數時,有沒有一種回歸方法能按照對Y的影響大小,自動篩選出那些重要的自變數呢?

這種方法就是本節要介紹的逐步回歸,它利用觀察統計值(如R方,t-stats和AIC度量)來辨別重要變數。作為一種回歸分析方法,它使用的方法是基於給定的水準指標F一次一個地添加/丟棄變數,以下是幾種常用的做法:

標準的逐步回歸只做兩件事:根據每個步驟添加/刪除變數。
前進法:基於模型中最重要的變數,一次一個添加剩下的變數中最重要的變數。
後退法:基於模型中所有變數,一次一個刪除最不重要的變數。

這種建模方法的目的是用盡可能小的變數預測次數來最大化預測能力,它是處理更高維資料集的方法之一。

5. 嶺回歸

在談及線性回歸重點時,我們曾提到多重共線性會使自變數估計值的方差增大,並過度地影響最小二乘估計值,從而降低預測精度。因此方差和偏差是導致輸出值偏離真值的罪魁禍首之一。

我們先來回顧一下線性回歸方程:Y = a + b × X + e。

如果涉及多個自變數,那它是:Y = a + Y = a + b1X1 + b2X2 + … + e

上式表現了偏差和誤差對最終預測值的明顯影響。為了找到方差和偏差的折中,一種可行的做法是在平方誤差的基礎上增加一個正則項λ,來解決多重共線性問題。請看以下公式:

這個代價函數可以被分為兩部分,第一部分是一個最小二乘項,第二部分則是係數β的平方和,再乘以一個調節參數λ作為懲罰項,它能有效控制方差和偏差的變化:隨著λ的增大,模型方差減小而偏差增大。

嶺回歸重點:

嶺回歸的假設與最小二乘法回歸的假設相同,除了假設正態性。
嶺回歸可以縮小係數的值,但因為λ不可能為無窮大,所以它不會等於0。
這實際上是一種正則化方法,使用了l2範數。

6. Lasso回歸

同樣是解決多重共線性問題,嶺回歸是在平方誤差的基礎上增加一個正則項λ,那麼Lasso回歸則把二次項改成了一次絕對值。它可以降低異常值對模型的影響,並提高整體準確度。

一次項求導可以抹去變數本身,因此Lasso回歸的係數可以為0。這樣可以顯著真正的特徵篩選效果。

Lasso回歸重點:

Lasso回歸的假設與最小二乘法回歸的假設相同,除了假設正態性。
Lasso回歸的係數可以為0。
這實際上是一種正則化方法,使用了l1範數。
如果一組變數高度相關,Lasso回歸會選擇其中的一個變數,然後把其他的都變為0。

7. ElasticNet回歸

ElasticNet是Lasso和Ridge回歸技術的結合。它使用L1和L2范數作為懲罰項,既能用於權重非零的稀疏模型,又保持了正則化屬性。簡單來說,就是當有多個相關特徵時,Lasso回歸只會選擇其中的一個變數,但ElasticNet回歸會選擇兩個。

在Lasso和Ridge之間進行權衡的一個實際優勢是,它允許Elastic-Net繼承嶺回歸的一些穩定性。

ElasticNet回歸重點:

它鼓勵在高度相關變數的情況下的群體效應。
在選擇變數的數量上沒有限制。
受雙重收縮影響。

除了這7中常用的回歸分析方法外,貝葉斯回歸、生態學回歸和魯棒回歸也是出鏡率很高的一些選擇。

如何挑選適合的回歸模型?

當你只知道一個或兩個技術時,生活往往很簡單。我知道的一個培訓機構告訴他們的學生,如果結果是連續的,就使用線性回歸。如果是二元的,就使用邏輯回歸!然而,在我們的處理中,可選擇的越多,選擇正確的一個就越難。類似的情況下也發生在回歸模型中。

在多類回歸模型中,基於自變數和因變數的類型,資料的維數以及資料的其它基本特徵的情況下,選擇最合適的技術非常重要。以下是你要選擇正確的回歸模型的關鍵因素:

1.資料探索是構建預測模型的必然組成部分。在選擇合適的模型時,比如識別變數的關係和影響時,它應該首選的一步。

2.比較適合於不同模型的優點,我們可以分析不同的指標自變數,如統計意義的自變數,R-square,Adjusted R-square,AIC,BIC以及誤差項,另一個是Mallows’ Cp準則。這個主要是透過將模型與所有可能的子模型進行對比(或謹慎選擇他們),檢查在你的模型中可能出現的偏差。

3.交叉驗證是評估預測模型最好額方法。在這裡,將你的資料集分成兩份(一份做訓練和一份做驗證)。使用觀測值和預測值之間的一個簡單均方差來衡量你的預測精度。

4.如果你的資料集是多個混合變數,那麼你就不應該選擇自動模型選擇方法,因為你應該不想在同一時間把所有變數放在同一個模型中。

5.它也將取決於你的目的。可能會出現這樣的情況,一個不太強大的模型與具有高度統計學意義的模型相比,更易於實現。

6.回歸正則化方法(Lasso,Ridge和ElasticNet)在高維和資料集變數之間多重共線性情況下運行良好。

感謝閲讀!FineReport提供最全免費功能版本,不用等待,直接點擊以下按鈕激活&下載!
免費試用FineReport10.0>

來源:Analytics Vidhya

原文地址:www.analyticsvidhya.com/blog/2015/08/comprehensive-guide-regression/

獲得帆軟最新動態:數據分析,報表實例,專業的人都在這裡!加入FineReport臉書粉絲團

相關文章:
資料分析裡最能掙錢的工具模型是哪個?你可能天天在用呢!

寫給資料分析入門者:一種通用的資料分析思路

10年數據老手建議:從入門到專家,如何規劃資料分析職涯

喜歡這篇文章嗎?歡迎分享按讚,給予我們支持和鼓勵!

熱門文章推薦

立即試用,可獲取更多 報表範本和案例

免費試用