[轉]如何正確的選擇回歸模型?


轉自CSDN_楊志友  http://blog.csdn.net/yangzhiyouvl/article/details/53955073
原文標題: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種類型的回歸和每種技術相關的一些關鍵點。作為這個行業的新人,我建議你學習這些技術,然后在你的模型中實現它們。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM