迴歸算法

內容


1.什麼是迴歸分析?

2.我們爲什麼要使用迴歸分析?

3.迴歸有哪些類型 ?

4.線性迴歸

5.邏輯迴歸(邏輯迴歸並不是迴歸算法,而是分類算法)

6.多項式迴歸

7.逐步迴歸

8.嶺迴歸

9.Lasso迴歸

10.ElasticNet迴歸

 

什麼是迴歸分析?


       迴歸分析是研究自變量和因變量之間關係的一種預測模型技術。這些技術應用於預測,時間序列模型和找到變量之間關係。例如可以通過迴歸去研究超速與交通事故發生次數的關係。

我們爲什麼要用迴歸分析?


     這裏有一些使用迴歸分析的好處:它指示出自變量與因變量之間的顯著關係;它指示出多個自變量對因變量的影響。迴歸分析允許我們比較不同尺度的變量,例如:價格改變的影響和宣傳活動的次數。這些好處可以幫助市場研究者/數據分析師去除和評價用於建立預測模型裏面的變量。

迴歸有哪些類型?


      我們有很多種迴歸方法用預測。這些技術可通過三種方法分類:自變量的個數、因變量的類型和迴歸線的形狀。

 

 

1.線性迴歸

       線性迴歸可謂是世界上最知名的建模方法之一,也是應該是我們第一個接觸的模型。在模型中,因變量是連續型的,自變量可以使連續型或離散型的,迴歸線是線性的。

線性迴歸用最適直線(迴歸線)去建立因變量Y和一個或多個自變量X之間的關係。可以用公式來表示:

Y=a+b*X+e

a爲截距,b爲迴歸線的斜率,e是誤差項。

      簡單線性迴歸與多元線性迴歸的差別在於:多元線性迴歸有多個(>1)自變量,而簡單線性迴歸只有一個自變量。到現在我們的問題就是:如何找到那條迴歸線?

      我們可以通過最小二乘法把這個問題解決。其實最小二乘法就是線性迴歸模型的損失函數,只要把損失函數做到最小時得出的參數,纔是我們最需要的參數。

我們一般用決定係數(R方)去評價模型的表現。

重點:

1.自變量與因變量之間必須要有線性關係。

2.多重共線性、自相關和異方差對多元線性迴歸的影響很大。

3.線性迴歸對異常值非常敏感,其能嚴重影響迴歸線,最終影響預測值。

4.在多元的自變量中,我們可以通過前進法,後退法和逐步法去選擇最顯著的自變量。

 

2.邏輯迴歸(邏輯迴歸並不是迴歸算法,而是分類算法)

邏輯迴歸是用來找到事件成功或事件失敗的概率。當我們的因變量是二分類(0/1,True/False,Yes/No)時我們應該使用邏輯迴歸。

重點:

1.在分類問題中使用的非常多。

2.邏輯迴歸因其應用非線性log轉換方法,使得其不需要自變量與因變量之間有線性關係。

3.爲防止過擬合和低擬合,我們應該確保每個變量是顯著的。應該使用逐步迴歸方法去估計邏輯迴歸。

4.邏輯迴歸需要大樣本量,因爲最大似然估計在低樣本量的情況下表現不好。

5.要求沒有共線性。

6.如果因變量是序數型的,則稱爲序數型邏輯迴歸。

7.如果因變量有多個,則稱爲多項邏輯迴歸。

 

3.多項式迴歸

如果一個迴歸,它的自變量指數超過1,則稱爲多項式迴歸。可以用公式表示:

y = a + b * x^2

在這個迴歸技術中,最適的線不是一條直線,而是一條曲線。

重點:

1.很多情況下,我們爲了降低誤差,經常會抵制不了使用多項式迴歸的誘惑,但事實是,我們經常會造成過擬合。所以要經常的把數據可視化,觀察數據與模型的擬合程度。

2.特別是要看曲線的結尾部分,看它的形狀和趨勢是否有意義。高的多項式往往會產生特別古怪的預測值。

 

4.逐步迴歸

      當我們要處理多個自變量時,我們就需要這個迴歸方法。在這個方法中選擇變量都是通過自動過程實現的,不需要人的干預。

      這個工程是通過觀察統計值,比如判定係數,t值和最小信息準則等去篩選變量。逐步迴歸變量一般是基於特定的標準加入或移除變量來擬合迴歸模型。一些常用的逐步迴歸方法如下:

1.標準逐步迴歸做兩件事情。只要是需要每一步它都會添加或移除一些變量。

2.前進法是開始於最顯著的變量然後在模型中逐漸增加次顯著變量。

3.後退法是開始於所有變量,然後逐漸移除一些不顯著變量。

4.這個模型技術的目的是爲了用最少的變量去最大化模型的預測能力。它也是一種降維技術。

 

5.嶺迴歸

      當碰到數據有多重共線性時,我們就會用到嶺迴歸。所謂多重共線性,簡單的說就是自變量之間有高度相關關係。在多重共線性中,即使是最小二乘法是無偏的,它們的方差也會很大。通過在迴歸中加入一些偏差,嶺迴歸酒會減少標準誤差。

     ‘嶺迴歸是一種專用於共線性數據分析的有偏估計迴歸方法,實質上是一種改良的最小二乘估計法,通過放棄最小二乘法的無偏性,以損失部分信息、降低精度爲代價獲得迴歸係數更爲符合實際、更可靠的迴歸方法,對病態數據的擬合要強於最小二乘法。’ ---百度百科

      嶺迴歸是通過嶺參數λ去解決多重共線性的問題。看下面的公式:

     其中loss爲損失函數,penalty爲懲罰項。

重點:

1.嶺迴歸的假設與最小二乘法迴歸的假設相同除了假設正態性。

2.它把係數的值收縮了,但是不會爲0.

3.正則化方法是使用了l2正則.

 

6.LASSO迴歸

       和嶺迴歸類似,Lasso(least Absolute Shrinkage and Selection Operator)也是通過懲罰其迴歸係數的絕對值。看下面的公式:

       Lasso迴歸和嶺迴歸不同的是,Lasso迴歸在懲罰方程中用的是絕對值,而不是平方。這就使得懲罰後的值可能會變成0.

重點:

1.其假設與最小二乘迴歸相同除了正態性。

2.其能把係數收縮到0,使得其能幫助特徵選擇。

3.這個正則化方法爲l1正則化。

4.如果一組變量是高度相關的,lasso會選擇其中的一個,然後把其他的都變爲0.

 

7.ElasticNet迴歸

      ElasticNet迴歸是Lasso迴歸和嶺迴歸的組合。它會事先訓練L1和L2作爲懲罰項。當許多變量是相關的時候,Elastic-net是有用的。Lasso一般會隨機選擇其中一個,而Elastic-net則會選在兩個。

      與Lasso和嶺迴歸的利弊比較,一個實用的優點就是Elastic-Net會繼承一些嶺迴歸的穩定性。

重點:

1.在選擇變量的數量上沒有限制

2.雙重收縮對其有影響

3.除了這7個常用的迴歸技術,你也可以看看貝葉斯迴歸、生態學回歸和魯棒迴歸。

 

如何去選擇迴歸模型


      面對如此多的迴歸模型,最重要的是根據自變量因變量的類型、數據的維數和其他數據的重要特徵去選擇最合適的方法。以下是我們選擇正確迴歸模型時要主要考慮的因素:

1.數據探索是建立預測模型不可或缺的部分。它應該是在選擇正確模型之前要做的。

2.爲了比較不同模型的擬合程度,我們可以分析不同的度量,比如統計顯著性參數、R方、調整R方、最小信息標準、BIC和誤差準則。另一個是Mallow‘s Cp準則。

3.交叉驗證是驗證預測模型最好的方法。你把你的數據集分成兩組:一組用於訓練,一組用於驗證。

4.如果你的數據集有許多讓你困惑的變量,你就不應該用自動模型選擇方法,因爲你不想把這些變量放在模型當中。

5.不強大的模型往往容易建立,而強大的模型很難建立。

6.迴歸正則方法在高維度和多重共線性的情況下表現的很好。

 

轉載:https://www.jianshu.com/p/15dd20f8d02c

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