之前提到過,線性回歸模型有三個限制:響應變數服從正態分佈,響應變數和解釋變數之間服從線性關係,方差不變。
其實在構建乙個線性模型的時候,除了上述的兩個要求,我們還需要對解釋變數進行具體的分析,主要有幾點,首先是解釋變數之間的相互作用(interaction)對結果的影響,簡單來說就是模型不僅僅受因素a和因素b影響,因素a和因素b的共同作用也會對模型產生影響,這是乙個方面。
除此之外,還有因素的共線性(collinearity),比如模型中同時考慮乙個物體的長、寬和面積,顯然面積完全可以用長寬去表示,如果同時考慮這三個因素,在資料的層面會出現共線性的情況,所以我們往往會分析變數之間的相關性去判斷他們的共線性程度,再進一步分析到底應該保留哪些變數應該捨棄哪些變數。
最後,在響應變數和解釋變數不服從線性關係的時候,我們還會考慮是否可以通過變換(transformation)使他們服從線性關係,這裡有乙個例子
這個例子主要分析了新生嬰兒腦袋的重量和身體重量的關係,一開始兩個資料都是right skewed的,畫出來的關係圖也看不出是不是線性的,對兩者經過乙個log變換之後,明顯就能看出兩者這時候服從線性關係了,這就像女生一開始好像對你沒感覺,你嘗試付出一些額外的努力,然後就成了(當然其實最後能不能成誰也不知道),這個嘗試的過程就是資料探索,尋找乙個合適的transformation。
transformation除了可以讓變數之間服從線性關係之外,其實更多是為了讓資料的分布更偏向於正態,畢竟很多時候我們的模型僅僅通過一兩個變換就變成簡單的線性模型,所以,一般來說,transformation都是sqrt、log之類的函式,這些函式有乙個特點,就是使得資料的分布變得更平緩,只是程度不一樣 。
最後總結一下,如果我們想要構建乙個線性回歸模型,首先,我們要檢測響應變數是不是服從正態分佈,響應變數和解釋變數之間是不是服從線性關係,如果不是,再分析能不能通過變換使得他們服從線性關係,如果可以,進一步對解釋變數進行分析,包括他們是否存在相互作用,是否具有共線性,最後,才構建乙個線性回歸模型。
可以看到,其實構建乙個理想的線性回歸模型,不僅檢查的東西多,限制更多,假如我們對模型進行了一大堆transformation還是不滿足線性關係那怎麼辦,這時候我們就需要廣義線性模型了,簡單來說,廣義線性模型就是對線性回歸模型的推廣,一方面,它不要求響應變數和解釋變數之間服從線性關係,另一方面,他也不要響應變數服從正態分佈。
這裡舉乙個最簡單的例子,如果我們想要分析一年中某條路段發生車禍的次數和車流量的關係,你對車禍次數(響應變數)做什麼變換都不會服從正態分佈,因為他是離散資料,而且非負,一般來說,它是服從泊松分布的。
具體來說,廣義線性模型是如何實現這種擴充套件的,主要就是靠乙個link function:
η i=
xitβ
\eta _i = x_i^t \beta
ηi=xi
tβf(e
(yi)
)=ηi
f(e(y_i)) = \eta _i
f(e(yi
))=
ηie(y
i)=f
−1(η
i)e(y_i) = f^ (\eta _i)
e(yi)
=f−1
(ηi
)其中,eta就是模型的線性部分,f就是link function,其實我們也可以這樣理解,既然響應變數和解釋變數之間不服從線性關係,那麼我們就根據他們之間的關係,找乙個非線性函式對他們做變換不就行了,這就是link function的思想,比如,之前提到的車禍次數的例子,響應變數服從泊松分布,我們可以選擇identity或者sqrt作為link function,讓模型的線性部分的輸出更接近響應變數的泊松分布。
在這裡再強調一次,廣義線性模型,一般是在響應變數和解釋變數不服從線性關係的時候應用的,我們主要通過尋找乙個合適的link function,以及通過模型學習合適的引數,使得模型的線性部分eta的輸出,能夠盡可能地擬合響應變數的分布(盡可能地接近響應變數的數值),即使它的分布並不是正態分佈。
理解了glm的思想之後,我們再來想一下,是不是不論響應變數服從什麼分布,我們都能通過glm來擬合,答案肯定是不是的,我個人認為,可以從兩個方面去分析,一方面,link function沒那麼厲害,僅僅通過乙個link function就能讓線性輸出擬合任意的分布,我們還需要神經網路幹嘛(當然,其實神經網路實質上也就是glm的網路結構而已),另一方面,也算是為了求解模型(通過最大似然估計求引數)的方便,模型也限定了,響應變數只能服從指數分布族(exponential family)裡的分布。
所謂的指數族分布,指的是可以寫成以下形式的分布:
f (y
;θ,ϕ
)=ex
p(yθ
−b(θ
)a(ϕ
)+c(
y,ϕ)
)f(y;\theta, \phi) = exp(\frac + c(y,\phi))
f(y;θ,
ϕ)=e
xp(a
(ϕ)y
θ−b(
θ)+
c(y,
ϕ))其中,a、b、c是任意函式,theta稱為natural parameter, phi稱為scale parameter。事實上,正態分佈、poisson分布等等都屬於指數分布族。
這個指數分布族有什麼好,主要就是我們利用mle求解引數的時候,計算似然函式需要把分布函式乘起來,然後再看一下,這些指數分布族的分布寫成似然函式的時候,相乘就變成了指數相加了,再log一下,整個形式就很簡單了,所以說,一切都是為了方便求解引數。
關於這個指數分布族,更多的分析推導網上的資料很多,這裡不再細說,重點還是在於理解線性回歸有什麼限制,以及廣義線性模型是如何改進這些不足的,如果想深入理解乙個廣義線性模型,建議學習邏輯回歸,它就是通過乙個logit函式,使得模型的輸出限制在[0,1]之間,並通過設定閾值,使得輸出滿足二項分布的。
想瀏覽更多關於數學、機器學習、深度學習的內容,可瀏覽本人部落格
廣義線性模型
廣義線性模型是線性模型的擴充套件,主要是對非正態因變數的分析 廣義線性擬合的核心是最大似然估計,而不是最小二乘 擬合模型如下 y 0 pj 1 jx j 其中,beta是係數,mu是優勢比的對數,beta係數是對優勢比的影響。通過擬合求得的就是 我們可以通過兩個例子看一下兩種變數 類別型 自變數x ...
1 1 廣義線性模型
下面介紹的是一組用於回歸的方法,這些方法的目標值是輸入變數的線性組合。用 作為 值。貫穿模組,我們指定向量 為coef 係數 為intercept 截距 要使用廣義線性模型實現分類,詳見logistic回歸。線性回歸擬合以係數 最小化可觀測到的資料的響應與線性模型 的響應的殘差和的平方,用數學公式表...
廣義線性模型和線性回歸
首先術語廣義線性模型 glm 通常是指給定連續和 或分類 變數的連續響應變數的常規線性回歸模型。它包括多元線性回歸,以及anova和ancova 僅具有固定效果 形式為 yi n x 2 其中xi包含已知的協變數,包含要估計的係數。這些模型使用最小二乘和加權最小二乘擬合。術語廣義線性模型 glim或...