對於機器學習/數據科學的研究者而言,回歸分析是最基礎的功課之一,可以稱得上是大多數機器學習/數據科學研究的起點。
本文作者 Kevin Hannay 是一位從生物學跨界到數學、數據科學的研究者,而他之所以選擇「跨界」的原因便是數學學科能夠讓他脫離死記硬背的苦海,完全以像回歸分析這樣的方式來推導結論。
在他看來,基本上所有的問題都能夠用回歸分析的思維來解決。他認為,在機器學習/數據科學的模型創建中,應該從停止死記硬背開始,而更多地借用回歸分析的思維。
相信他的分享能夠給大家一些啟發,下面來看他的分享:
一、序曲
我記性很差。
在大學,我的「初戀」是生物學,但最終我被這些課程拒之門外,因為它們強調記憶。後來我對數學這門學科「一見鍾情」,因為我不必死記硬背任何知識。數學的魅力在於它關注我們以何種方式得出結論,如果自己不能證明一個結論,那就說明你還不理解它。
出於某種原因,統計學仍然經常通過列出各種場景中應用的檢驗來授課。例如下圖所示的複雜流程圖和更加具體的統計檢驗。
檢驗平均數假設的統計流程圖
這會導致統計檢驗的混亂和誤用。不過沒關係,因為我將給大家帶來一個好消息。基礎統計學可以分為三個部分來闡釋:採樣、置信區間和回歸。
對於有數據科學和/或機器學習背景的人來說,這是個好消息。由於回歸是大多數機器學習研究的起點,這意味著你可能在還沒意識到的情況下,就已經在做統計假設檢驗了。
在本文中,我將通過舉例說明如何從回歸的角度來考慮常見的統計檢驗,從而集中討論統計檢驗的最後一步。
二、快速回顧線性回歸
在線性回歸中,我們建立特徵x和響應變量y之間關係的線性模型。
這個模型具有統計學意義,因為
被設為隨機參數。
普通最小二乘法(OLS)中噪聲項假設為正態分布
這是一個數學模型,這也是一種精確表示我們對數據集進行假設的方法。每當我們建立一個模型時,記住George Box這句名言大有裨益:
所有模型都是錯的,但其中有一些是有用的。(All models are wrong, but some are useful)
模型是對現實世界複雜性的抽象和簡化,正因為是一種簡化,所以模型總是不能完全反映現實問題,但利用它們可能捕捉到一些重要的想法。
讓我們先看一個1991至2018年 NBA選秀的數據集案例。我們可以看看選秀次數和每場比賽平均職業積分之間的關係,下面的散點圖以及數據的最佳擬合回歸線顯示了這一關係。
1991-2018年737個NBA球員的選秀次數及其職業場均得分(PPG)平均值的線性回歸分析
注意,這些點隨機抖動以避免在散點圖上重疊
最佳擬合回歸方程如下:
最佳擬合線性回歸模型
線性回歸的最佳擬合通常是通過最小化殘差項的平方來實現的。
N個數據點的線性回歸成本函數
這裡我不再討論成本函數的實際最小化原理。可以說,利用線性代數的一些技巧,能夠很快找到此成本函數的全局最小值,這為我們提供了一些最佳的斜率和截距擬合參數。
三、分類變量回歸
我們也可以對本質上是分類的特徵進行回歸,這裡的訣竅是對分類變量進行所謂的獨熱編碼,其思想是將分類級別轉換為指標變量(
)。如果輸入屬於指定的級別,則這些值為 1,否則為 0。
例如,對於NBA選秀數據,可以將「選秀號碼」列拆分為樂透區選秀(≤14)和非樂透區選秀(NL)。
然後我們可以找出這兩組球員每場平均分的差異。
編碼回歸模型,如果不是樂透區方式指標變量為0,否則為1
下面是顯示回歸線的數據圖。
斜率項 β 反映了每場比賽中非樂透區選秀(x=0)和樂透區選秀(x=1)之間的平均分差異。這裡的小幅上升趨勢意味著,我們有證據表明樂透區選秀者在職業生涯中的平均分數往往更高。
當然,這一趨勢分析是基於隨機抽樣的球員,所以如果我們收集了一個新的樣本,這種上升趨勢可能會消失。為了解決由於隨機採樣而引起的這種變化,我們可以形成斜率的置信區間。
對於上面的樂透區選秀示例,我們找到以下參數置信度為95%的置信區間:
這告訴我們,樂透區選秀球員職業 PPG 減去非樂透區選秀球員的職業PPG,其平均值可能在3.48到4.78之間。這使我們對結果的趨勢(正)和結果的大小(3.5-4.8點)都有一個了解。
我們可以看到斜率區間不包含0,這說明如果重新採樣數據,不太可能看到這種趨勢的逆轉。如果將置信水平從95%提高到99%,將看到置信區間的間隔寬度增加。為了減少錯誤,需要更大範圍的置信水平值。
我們可以玩增加置信區間的置信水平(100-p)%的遊戲,直到區間的左側剛好達到0,此時的參數值叫做p值。
零假設斜率為零的p值可以通過穩定增加置信區間的寬度,直到接觸零假設區域確定
P值給出了原假設為真(即Ho:β=0)時觀察數據的概率P(D|Ho)。
四、雙樣本 t 檢驗
在某些情況下,我們可能只關心結果的趨勢,而不關心結果的大小,這屬於雙樣本 t 檢驗的統計檢驗範疇。在基礎統計學課程中,我們學過使用雙樣本t檢驗來評估這兩種條件下收集的數據,以證明平均值的差異:控制組和實驗組。
為了在 R 語言中執行這個檢驗,首先要從相當大的選秀數據集中創建一個較小的數據集。下面的命令只生成包含100個球員的隨機子集供我們比較,還在數據集中創建一個樂透區列以便進行良好的計算。
設置兩個組進行雙樣本t檢驗,使用相同的隨機種子值可以得到與我一樣的結果
現在已準備好用R語言運行 t 檢驗。
進行雙樣本t檢驗以尋找樂透區和非樂透區選秀的NBA球員的每場比賽平均職業積分的差異
現在注意結果中的 p 值,這裡相對較小的值表明,在原假設的情況下數據不太可能達到P值。
現在,將其作為具有分類特徵的線性回歸進行檢驗。
下面將用R語言顯示簡單線性回歸的summary命令結果。
上面已經強調了重要的一點,將其與我們使用雙樣本t檢驗得到的結果進行比較,t值(直到符號)和p值是一樣的!
另外,使用R語言查看回歸的summary結果時,注意到summary結果的最後一行重複了相同的p值,這是在整個回歸模型上運行 F 檢驗的結果。
通過檢驗,可以知道模型中的任何特徵是否在統計學意義上偏離零。在這個簡單的例子中只有一個特徵,因而基於模型的F檢驗和基於樂透區特徵的T檢驗等價,但兩者在多元回歸(超過1個特徵)中將有所不同。
五、方差分析與多元回歸
假設我們想評估球員位置對他們職業平均得分的影響。首先,我們應該清理數據集中位置列的級別。
使用R中的forcats包清理位置(Pos)列的級別,這裡把一些類別合併在一起,得到C,F,G作為位置
然後,我們可以繪製按位置劃分的職業得分箱形圖:
位置對NBA球員職業得分影響的箱形圖
我們可能想知道這些組的均值是否確實不同,或者觀察到的差異是否也可以通過抽樣誤差來解釋。在經典統計中,我們通常會進行單向方差分析(方差分析)。利用R語言很容易實現:
利用R語言做方差分析,注意p值在最右邊且p=0.0813
現在也可以將其作為回歸問題來處理,回歸模型有以下形式:
通過α截距值可以得知中心的平均值,通過兩個斜率可以得知相對於中心值的點。
以上操作在R語言底層完成,下面是輸出:
雷鋒網雷鋒網
比較回歸輸出和方差分析輸出中的最後一行(F檢驗),我們再次看到同樣的結果!
由此得知單向方差分析只是具有兩個以上級別分類特徵的線性回歸模型。使用的檢驗有一個原假設,即所有斜率都為零。
六、雙因素方差分析
在雙因素方差分析中,使用兩個分類特徵來預測連續響應變量。
使用Tm(選秀團隊)列和Pos(位置)列來處理選秀數據集,雙因素方差分析需要更多的數據來擬合模型,因此我們將使用完整的數據集,而不是經過刪減的數據集。首先運行下面的兩個命令來清理兩個分類特徵級別。
利用forcats包清理整個選秀數據集的團隊列和位置列
在這種情況下,線性模型的形式是:
第一個總和是虛擬編碼的團隊變量疊加形成,第二個總和是位置類別疊加形成,上述結果很好地在R語言底層完成,要進行分析,我們可以使用以下方法構建線性模型:
建立雙因素方差分析線性模型
這裡唯一的變化是應該在模型上使用anova( )命令,而不是通常的summary( )命令,這將顯示以下結果:
Tm和Pos所在行的數據證實了位置與職業積分有密切關係,但沒有足夠的證據證明團隊與職業積分有關。現在可以看到如何使用多元回歸進行多因素方差分析。
七、協方差分析
如果在回歸中添加一個連續的特徵,那麼就會變成協方差分析(ANCOVA)。進行協方差分析的目的是,已知位置與NBA球員的PPG相關性大,但是這可能只是因為某些位置的球員比其他位置的球員的上場時間更多。
可以通過在模型中包含此特徵來控制上場分鐘數的作用效果。首先,重新縮放上場分鐘數(MP)列,使平均值為零,標準差設為1。這樣設置的目的是,因為線性模型中的截距會給平均每場比賽0分鐘的中鋒帶來職業PPG,在其他方面真的沒有作用。
現在,通過截距信息可以解釋每場比賽中平均上場時間的中鋒的平均PPG含義。也許只能解釋一小部分,但對於模型理解更有意義。
縮放「上場分鐘數」列
這是一個比賽時間和每場得分之間的關係圖,位置以顏色顯示。
現在來建立線性模型:
將產生以下結果:
通過第一行數據可以得知即使在控制了上場時間後,位置對職業PPG也有著統計上的顯著影響。
八、比例和廣義線性模型
我們也可以將其他基本的統計過程表述為回歸。然而,我們還需要利用所謂的廣義線性模型(GLM)來進行更進一步的研究。
首先要生成一個偽數據集。下面的命令生成一個R數據框,用於存儲假想比賽的罰球結果和球員姓名,其中球員A和B各投100個罰球。
球員B的命中率僅為77%,而球員A的命中率則為80%,儘管這有抽樣誤差。可以使用R語言中的table命令查看隨機繪製的結果:
這裡可能需要進行兩個樣本的比例檢驗,以檢驗兩位球員百分比不同的假設。
可以使用R語言中 prop.test 命令完成檢驗。
用R語言進行雙尾比例檢驗的結果,這裡簡單地使用兩個比例相等的原假設進行檢驗,也可以作為具有相同p值的卡方檢驗來完成。
現在是回歸方法,如上所述,由於響應變量不再是連續的,需要調整回歸來處理二進位輸出。實際上,我們希望模型產生一個概率
。
這裡可以使用邏輯回歸來實現,通常的回歸形式是:
在邏輯回歸中,輸出
應該給出給定
特徵時
取值是1的概率。如上所述,我們會有疑問,因為模型的右側輸出
範圍的值,而左側應該位於[0,1]範圍內。
因此,要使用上述模型就需要將輸出從[0,1]轉換為整個實數R範圍。logit 函數是最佳選擇,因為它的邏輯回歸映射為:[0,1]→R。
因此,如果輸出是由logit函數
產生的,可以使用多元回歸技術。這是邏輯回歸的基本思想:
最後,可以利用logit函數的倒數,得到實際的概率:
其中,
通過以下方式給出:
邏輯回歸是廣義線性模型(GLM)一系列技術中的一個實例。廣義線性模型包括一個線性預測函數
和一個將線性預測函數映射到響應變量的連結函數g( ):
這用R語言很容易實現,只需將lm( )函數改為glm( )函數,並指定要使用的連結函數。
使用logistic回歸和模型比較進行兩樣本比例檢驗,注意p值與上面得到的結果相匹配
在上述情況下,我們實際擬合了兩個邏輯回歸,第一個是實際想要建立的模型,第二個與雙樣本比例檢驗的原假設等價。僅擬合截距(1以上),兩個球員的罰球百分比必須相同。
然後使用anova( )函數來比較建立的模型和原假設模型,指定方差分析使用似然比檢驗(LRT)。當然,通常要注意取與上面的比例檢驗相同的p值。
另外,通過這個例子展示了如何使用回歸模型和anova命令來進行模型選擇。實際上,這是我們一直努力的方向,因為原假設一直是一個模型,以前不需要在anova命令中指定它,這也向我們展示了如何開始將建立的模型與更複雜的原假設模型進行比較。
通過模型選擇可以比較模型並超越普通的原假設模型。
九、為什麼這很重要?
數學模型自然級數的花式圖解如下所示:
RIP模型,讓此成為研究深度學習的警示!
當我們被迫將統計檢驗視作數學模型時,假設就成為了最核心的部分。研究者所希望的,是能在模型生命周期的前兩個階段維持更長的時間。而且,這就意味著我們可以停止記憶一堆統計檢驗知識。
創建模型,從停止死記硬背開始。
大家如果想繼續學習該主題,強烈建議查看 Jonas Lindelv 的網站:
https://lindeloev.github.io/tests-as-linear/教科書方面,我推薦《Statistical Rethinking》,另外基礎統計學類的書籍,大家可嘗試閱讀下《All of Statistics》;而一些更高級的回歸分析方面的書籍,我建議大家關注一下Gelman和Hill兩位學者。
via https://towardsdatascience.com/everything-is-just-a-regression-5a3bf22c459c?gi=fdba1e4d53ca雷鋒網雷鋒網雷鋒網