<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

對于機器學習/數據科學初學者 應該掌握的七種回歸分析方法

zhKF_jqr_AI ? 來源:未知 ? 作者:steve ? 2018-04-27 15:55 ? 次閱讀

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

Sunil Ray是一位在印度保險行業擁有豐富經驗的商業分析師和人工智能專家,針對這個問題,他指出其實回歸有無數種形式,每種回歸算法都有自己擅長的領域和各自的特色。在本文中,他將以最簡單的形式介紹7種較為常見的回歸形式,希望讀者們在耐心閱讀完畢后,可以在學習、工作中多做嘗試,而不是無論遇到什么問題都直接上“萬金油”的線性回歸和Logistic回歸。

目錄

1. 什么是回歸分析?

2. 為什么要用回歸分析?

3. 幾種常見的回歸分析方法

線性回歸

Logistic回歸

多項式回歸

逐步回歸

嶺回歸

Lasso回歸

ElasticNet回歸

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

什么是回歸分析?

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

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

為什么要用回歸分析?

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

假設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中常用的回歸分析方法外,貝葉斯回歸、生態學回歸和魯棒回歸也是出鏡率很高的一些選擇。

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

當你只知道一種或兩種方法時,生活通常很簡單。相信不少讀者都聽到過這種論調:如果結果是連續的,用線性回歸;如果是個二分類,就用Logistic回歸。然而隨著現在我們的選擇越來越多,許多人不免要深受選擇恐懼癥影響,無法做出滿意的決定。

那么面對這么多的回歸分析方法,我們該怎么選擇呢?以下是一些可以考慮的關鍵因素:

數據探索是構建預測模型不可或缺的一部,因此在選擇正確的模型前,我們可以先分析數據,找到變量間的關系。

為了比較不同方法的擬合成都,我們可以分析統計顯著性參數、R方、調整R方、最小信息標準、BIC和誤差準則等統計值,或者是Mallow‘s Cp準則。將模型與所有可能的子模型進行比較來檢查模型中可能存在的偏差。

交叉驗證是評估預測模型最好的方法沒有之一。

如果你的數據集中有多個奇怪變量,你最好手動添加而不要用自動的方法。

殺雞焉用牛刀。根據你的任務選擇強大/不強大的模型。

嶺回歸、Lasso回歸和ElasticNet回歸在高維度、多重共線性情況下有較好的表現。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器學習
    +關注

    關注

    66

    文章

    8173

    瀏覽量

    130891
  • 數據科學
    +關注

    關注

    0

    文章

    164

    瀏覽量

    9993

原文標題:初學者應該掌握的七種回歸分析方法

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    對于一個初學者,該怎么學習LABVIW?

    對于一個初學者,該怎么學習LABVIW?
    發表于 01-17 15:32

    DSP5509A這個芯片,對于初學者應該從哪里開始學習?????

    DSP5509A這個芯片,對于初學者應該從哪里開始學習?????看些什么資料???還有就是網上的視頻我也看了一部分,但是一開始就是軟件,對于硬件
    發表于 08-14 13:26

    初學者如何快速掌握

    初學者如何快速掌握
    發表于 04-22 16:30

    對于初學者不知怎么學的問題

    把網上的那些東西全部看一遍,那樣又費時,又感覺工程太大,讓初學者沒有信心去把每一都看完。網上說的些方面都要知道,不一定全部都掌握,我們可以退成求其次,每一個都知道一些,當然會的越多越好。下面給嵌入式
    發表于 06-25 09:40

    初學者之路—硬件學習經驗

    初學者之路—硬件學習經驗一文是一位搞硬件的在校研究生寫的,希望對那些初學者之路電腦網等處于迷茫的硬件初學者學習之路有所幫助!
    發表于 12-29 10:20 ?1.4w次閱讀

    HDL初學者謹記:學習HDL前必知

    電子發燒友網核心提示: 對于初學者而言,在學硬件描述語言(HDL)之前一定要注意以下幾點。算是電子發燒友網小編給HDL語言初學者的一點小小提示吧,希望對初學者起到一些指引作
    發表于 10-15 11:14 ?2592次閱讀

    cad初學者應該注意的問題

    很多學習CAD的新手都不免在學習過程中犯下各種各樣的錯誤,下面是小編整理出一些cad初學都應注意的問題,這此問題都是CAD初學者經常會遇到的問題,希望下面的文章對CAD
    發表于 10-18 09:43 ?1603次閱讀

    從51初學者到電子工程師

    51初學者學習指導,對51初學者是個很好的入門教程,
    發表于 02-23 15:53 ?0次下載

    verilog初學者學習ppt

    適合verilog初學者的教程,可以好好參考學習。
    發表于 03-25 14:01 ?32次下載

    電子學習資料[適初學者]

    適合初學者學習資料
    發表于 02-08 17:25 ?0次下載

    九張機器學習和深度學習代碼速查表分享_初學者必備

    本文作者在 Github 上建立了一個代碼速查表,對機器學習初學者來說是不可多得的一個資源。 對于初學者來講,入門
    的頭像 發表于 06-30 00:52 ?3826次閱讀
    九張<b class='flag-5'>機器</b><b class='flag-5'>學習</b>和深度<b class='flag-5'>學習</b>代碼速查表分享_<b class='flag-5'>初學者</b>必備

    機器學習初學者必看指南

    文章簡潔地介紹了機器學習的主要算法和一些偽代碼,對于初學者有很大幫助,是一篇不錯的總結文章,后期可以通過文中提到的算法展開去做一些實際問題。 引言 Google的自駕車和
    發表于 11-15 14:26 ?6830次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b>的<b class='flag-5'>初學者</b>必看指南

    fpga開發板推薦初學者

    對于一個初學者來說,選擇一款適合學習的FPGA是整個FPGA學習生涯的必經之路。我個人建議在選擇FPGA的時候,應該抓住如下幾個原則:
    的頭像 發表于 11-10 14:55 ?1.8w次閱讀

    給Linux初學者的一些經驗與建議與學習方法及其學習方向

    這篇文章是寫給 Linux 初學者的,我會分享一些作為初學者應該知道的一些東西,這些內容都是本人從事 Linux 開發工作多年的心得體會,相信會對初學者有所幫助。
    的頭像 發表于 03-19 11:33 ?2759次閱讀

    PLC初學者必須掌握的梯形圖

    PLC初學者必須掌握的七大梯形圖
    發表于 05-25 16:44 ?4次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>