迴歸分析的英文是regression analysis,它是現在資料分析裡面用的最多的方法之一吧,也可以說是非常重要的一種統計思想,大學學習的第一個模型就是迴歸模型,迴歸分析是一門特別重要的專業課,所以足見這個方法的重要性。
首先回歸分析能解決什麼問題。
在做實際資料分析的時候我們經常會遇到這樣的問題,比如說產品的價格是不是會顯著的影響它的銷量,比如說不同性別的人在某一個領域,他的收入是不是有顯著的差異。這些問題呢,都可以用迴歸分析的方法來回答,所以可見迴歸在解決實際問題的時候確實是非常的實用的。
迴歸需要了解幾個要素。
第一個要素呢,叫做因變數,我用大寫的Y來記。因變數,英文又叫做response,它顧名思義就是因為別人的改變而變化的量,這個量很重要,它是我們的研究目標,或者在企業裡邊可能是我們關心的一個核心的業務問題,所以在做資料分析的時候呢,我們往往要先確定因變數,就是明確我們研究的目標和我們核心關心什麼問題。
根據因變數的資料型別,可分為不同的迴歸模型的型別,所以對於因變數的資料型別的把握,實際上是非常重要的。
比較常見的有這麼幾種:連續型、0-1型、計數型、定序型、生存資料。
連續型比如個人消費金額,
0-1型:比如借款人貸款後會不會還款,
計數型:比如一天內致電客服的人數,
定序型:比如問卷調查裡面的滿意、一般、不滿意,
生存資料:比如半年內客戶是否欠款。
確定了研究問題之後就確定了這個因變數,搞清楚它的型別,選對迴歸模型的形式。
迴歸分析乾的事情就是首先明確這個因變數Y,因變數是因為其他的量的改變而變化的量,
那其他變數是誰?這些就是自變數,我們通常用X來記。自變數是指會去影響到因變數的可能的因素,
比如說我們的因變數是收入,我特別關心收入哪些因素會影響到它,那這裡邊可能有學歷,有職業,有年齡等等,你可以頭腦風暴一大堆。
自變數的型別不決定迴歸模型的型別,自變數不管是定性的還是定量的,它不決定迴歸模型的基本形式,所以這一點要牢記。
迴歸模型的基本形式由因變數所決定,那再去確定自變數的時候呢,有一些辦法,比如頭腦風暴。
頭腦風暴是一方面,
另一方面也要看這個資料能不能獲取到,有的時候可能頭腦風暴想的很好,以及這個指標特別的關鍵,但沒法獲取這部分資料,那也是肯定不行的,所以自變數的選擇往往就是看資料的一個可獲取性,這是因變數和自變數。
那自變數到底是怎麼去影響因變數的呢,這個就是我們迴歸模型的基本的形式了。
自變數呢,通過一個函式去影響因變數,函式的形式可以多種多樣,
可以是線性或非線性,
我們看到還有一個很特殊的變數ε,
如果沒有這個量就變成了Y=F(X),這是一個數學函式,比如說Y=a+bX,那他就是一個直線的方程,比如說Y=aX**2+bX+c,那他就是一個拋物線的方程。
在迴歸模型裡邊最特殊和最重要的,實際上就是這個ε,它的讀法是Epsilon,就是經常拿這個符號來記,
ε這一項,叫做隨機誤差,它英文叫做random Error,Random error是說除了自變數之外,肯定還有觀察不到的因素,
對於Y有影響,但是一方面可能是由資料可獲取性的原因,實在是拿不到它,
另一方面有可能認識不充分,還沒有考慮周全,有一些因素沒有被納入模型裡邊,
所以呢,把這些通通的合起來放到這個隨機誤差裡邊,管它叫做一個這個除了X之外對Y有影響的因素的這麼一個集合。
注意他可是觀察不到的觀測不到的,unobserver的,所以這就是一個迴歸模型或者一個統計模型最基本的形式了,
我們也管這個F(x)叫做一個確定性或者系統性的一個因素。
隨機的誤差,看不到的一個因素,Y是由這兩部分共同決定的,那統計模型的特殊性就在你不能忽略隨機誤差,就是它是一定要在的,它也是特色所在,如果沒有它的話,就一切都是確定的形式,那就變成了一個數學,而不是統計了。
所以希望大家通過隨機誤差來理解好到底什麼叫做一個統計模型。
那我們舉一個具體的例子,比如說我有兩個自變數,Y是我的收入,然後我的X1呢,比如說是我的年齡,X2呢,可能是性別。我的Y呢,就等於α0+β1x1+β2x2+ε。這就是特別簡單的一個線性迴歸模型的基本形式,這個模型裡邊我們注意到啊,實際上F(x)=α0+β1x1+β2x2,你說你怎麼知道F(x)這個形式。
實際上F是什麼形式,也沒人知道,就是不知道這個資料產生的機制是什麼樣子的,我們就都會有各種假定,各種嘗試,那往往都從最簡單的開始學習和研究對吧,
線性模型是最簡單的一個形式了,所以我們就先會學習線性迴歸模型,研究它的各種性質哦,那這裡邊真實情況是怎麼樣不知道,而且大概率真實情況也不會是一個線性的,但不妨礙我們就是去學習迴歸或者統計模型,這種思想作為一個起點來理解它。
所以這個線性迴歸模型雖然簡單,但也是最常用的,往往越簡單越樸素的越好用,就是效果越好,然後我們們再一起來看一下唄。α0、β1和β2是未知的,他們叫做一個迴歸係數,我們的核心任務是要去把他估計出來啊,估計出來,比如說β1他就代表了年齡對收入的一種影響,比如說估計出來它是正的,那也就是年齡越大,收入就平均水平就會越高哦,就可以做這種類似的解讀,
所以呢,我們的核心任務是把它去估計出來,估計它呢,需要利用到樣本資料,我們能獲得的樣本資料實際上就是X和Y,那是我們能獲得的,比如說第一個人,X11她的年齡30歲,X2性別女性,然後收入是多少等等,我們能拿到,就是樣本量,N組觀測就是我們的樣本資料,我們會去估計它,這個是我們的核心的任務,估計完了它之後呢,就把β0、β1和β2算出來了,把她它帶進去,這個函式表示這是根據樣本資料預測出來的,這就是我的預測的方程,
迴歸模型的第二個任務就是要做一下整體的一個評價,就是我去用這樣一個線性的方程到底整個的效果是怎麼樣的啊。那把這個評價好了之後,覺得它可用可行,就要去做一個很重要的任務,叫做預測,
比如說一個人,他過來來貸款了對吧,我有一個已有的模型,那我是已知他的X,他填了他的性別,他的收入,我想要去預測它是不是會還不了款。
這時候就要利用已有的模型去預測未知的一個Y,所以從這幾個核心的步驟也能看出來,我們建立迴歸模型就是要完成了兩個非常重要的任務,
第一個就是解讀。解讀,也就是去看這個未知的迴歸係數啊,比如說估計出來β1=3,它代表著X1對Y的一種影響。這種解讀呢,挺重要的,在業務上我可以獲得各個因素對我核心的業務指標的一種影響,我可以基於這樣的一種資料分析和解讀對我的業務提供各種建議和幫助,
第二呢就是預測。預測,就像剛才說的,我來了一個人申請貸款,他只有X,但是我又特別關心他的Y,我就特別想知道他會不會欠款,這對於我來說很重要啊,由已知的X預測未知的Y,是這個迴歸的另外一個非常重要的任務,
所以總結了兩點回歸模型能做什麼,把他估計出來之後呢,一方面去做解讀,另一方面去做預測。
線性迴歸是在金融資料分析中很基礎的機器學習演算法,本文將通俗易懂的介紹線性迴歸的基本概念,優缺點和邏輯迴歸的比較。
首先回顧一下之前統計學習中比較重要的幾個關鍵點:
---自變數和因變數
在統計學習的背景下,有兩種型別的資料:
· 自變數:可以直接控制的資料。
· 因變數:無法直接控制的資料。
無法控制的資料,即因變數,需要進行預測或估計。
---模型
模型本質上就是一個轉換引擎,主要的作用就是找到自變數和因變數之間的關係函式。
---引數
引數是新增到模型中用於輸出預測的要素。
什麼是線性迴歸?
線性迴歸的位置如上圖所示,它屬於機器學習 — 監督學習 — 迴歸 — 線性迴歸。
什麼是迴歸?
迴歸是一種基於獨立預測變數對目標值進行建模的方法。迴歸的目的主要是用於預測和找出變數之間的因果關係。比如預測明天的天氣溫度,預測股票的走勢。迴歸之所以能預測是因為它通過歷史資料,摸透了"套路",然後通過這個套路來預測未來的結果。
迴歸技術主要根據自變數的數量以及自變數和因變數之間的關係型別而有所不同。
什麼是線性?
線性的意思是:資料點排成一條直線(或接近直線),或者沿直線延長。線性意味著,因變數和自變數之間的關係可以用直線表示。
"越…,越…"符合這種說法的就可能是線性關係:「房子」越大,「租金」就越高「金子」買的越多,花的「錢」就越多杯子裡的「水」越多,「重量」就越大……
但是並非所有"越…,越…"都是線性的,比如"充電越久,電量越高",它就類似下面的非線性曲線:
線性關係不僅僅只能存在 2 個變數(二維平面)。3 個變數時(三維空間),線性關係就是一個平面,4 個變數時(四維空間),線性關係就是一個體。以此類推...
什麼是線性迴歸?
線性迴歸本來是是統計學裡的概念,現在經常被用在機器學習中。
線性迴歸是利用數理統計中迴歸分析,來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法,運用十分廣泛。其表達形式為y = w'x+e,e為誤差服從均值為0的正態分佈。
迴歸分析中,只包括一個自變數和一個因變數,且二者的關係可用一條直線近似表示,這種迴歸分析稱為一元線性迴歸分析。如果迴歸分析中包括兩個或兩個以上的自變數,且因變數和自變數之間是線性關係,則稱為多元線性迴歸分析。
如果 2 個或者多個變數之間存在"線性關係",那麼我們就可以通過歷史資料,摸清變數之間的"套路",建立一個有效的模型,來預測未來的變數結果。
線性迴歸的優缺點
優點:
-
建模速度快,不需要很複雜的計算,在資料量大的情況下依然執行速度很快;
-
可以根據係數給出每個變數的理解和解釋。
缺點:
不能很好地擬合非線性資料。所以需要先判斷變數之間是否是線性關係。
線性迴歸 VS 邏輯迴歸
線性迴歸和邏輯迴歸是 2 種經典的演算法。經常被拿來做比較,下面整理了一些兩者的區別:
- 線性迴歸只能用於迴歸問題,邏輯迴歸雖然名字叫回歸,但是更多用於分類問題;
- 線性迴歸要求因變數是連續性數值變數,而邏輯迴歸要求因變數是離散的變數;
- 線性迴歸要求自變數和因變數呈線性關係,而邏輯迴歸不要求自變數和因變數呈線性關係;
- 線性迴歸可以直觀的表達自變數和因變數之間的關係,邏輯迴歸則無法表達變數之間的關係;