從統(tǒng)計到概率,入門者都能用Python試驗的機器學習基礎
2018-09-05 來源:raincent

概率論與統(tǒng)計學是機器學習的基礎,但很多初學者不太了解它們。本文介紹了概率及統(tǒng)計的基本概念、聯(lián)系以及用法,并以正態(tài)分布為例展示了什么是概率分布、分布函數(shù)以及經(jīng)驗法則。同樣本文還概念性地解釋了中心極限定理,以及為什么正態(tài)分布在整個統(tǒng)計學中如此重要。此外,本文很多試驗都可以用 Python 實現(xiàn),不了解 Python 的讀者也可以跳過。
要學習統(tǒng)計,就不可避免得先了解概率問題。概率涉及諸多公式和理論,容易讓人迷失其中,但它在工作和日常生活中都具有重要作用。先前我們已經(jīng)討論過描述性統(tǒng)計中的一些基本概念,現(xiàn)在,我們將探討統(tǒng)計和概率的關系。
前提條件:
與上一篇博客類似,本文不要求讀者具備統(tǒng)計知識,但至少要對 Python 有一個基本的了解。考慮到讀者可能不太了解 for 循環(huán)和列表, 下面將先對它們做個簡單的介紹。
什么是概率?
從最基本的層面上來說,概率要回答的是一個這樣的問題:「一個事件發(fā)生的幾率是多少?」為了計算某個事件發(fā)生的幾率,我們還要考慮其它所有可能發(fā)生的事件。
概率問題的典型代表是扔硬幣。在扔硬幣的過程中,只會產(chǎn)生兩種結果:
1. 正面朝上
2. 反面朝上
這兩種結果構成了一個樣本空間,即所有可能結果的集合。為了計算一個事件發(fā)生的概率,我們要統(tǒng)計該事件發(fā)生(比如將硬幣擲為正面朝上)的次數(shù),并用它除以總試驗次數(shù)。因此,概率會告訴我們,把一枚硬幣擲為正面朝上或反面朝上的幾率為 1/2。通過觀察可能發(fā)生的事件,概率可以為我們提供一個預測事件發(fā)生頻率的框架。
然而,即使結果看起來很明顯,但如果我們真的試著去扔一些硬幣,我們很可能得到過高或過低的正面朝上概率。假設扔硬幣的做法不公平,那我們能做什么?收集數(shù)據(jù)!我們可以使用統(tǒng)計法來計算基于真實世界觀察樣本的概率,并將其與理想中的概率做對比。
從統(tǒng)計到概率
通過扔 10 次硬幣并計算正面朝上的次數(shù),我們可以獲得數(shù)據(jù)。我們把這 10 次扔硬幣的過程當做試驗,而硬幣正面朝上的次數(shù)將是數(shù)據(jù)點。也許正面朝上的次數(shù)不是「理想的」5 次,但不必著急,因為一次試驗只是一個數(shù)據(jù)點。
如果進行多次試驗,那我們預計所有試驗正面朝上的的平均概率將接近 50%。下面的代碼分別模擬了 10 次、100 次、1000 次和 1000000 次試驗,然后計算了正面朝上的平均頻率。下圖是對這一過程的總結。

coin_trial 函數(shù)代表了 10 次硬幣投擲的模擬。它使用 random() 函數(shù)來生成一個介于 0 和 1 之間的隨機浮點數(shù),如果浮點數(shù)在 0.5 以下,它會增加 heads(正面朝上)次數(shù)。然后,simulate 根據(jù)你想要的次數(shù)來重復這些試驗,并返回所有試驗后正面朝上的平均次數(shù)。
硬幣投擲模擬的結果很有趣。首先,模擬的數(shù)據(jù)顯示正面朝上的平均次數(shù)接近概率估計的結果。其次,隨著試驗次數(shù)的增加,這個 平均數(shù)也更加接近預期結果。做 10 次模擬時,有輕微的誤差,但試驗次數(shù)為 1000000 次時,誤差幾乎完全消失。隨著我們增加試驗次數(shù),與預期平均數(shù)的偏差在不斷減小。聽起來很耳熟是不是?
當然,我們可以自己扔硬幣,但是通過在 Python 代碼中模擬這一過程可以為節(jié)省大量時間。隨著我們獲得越來越多的數(shù)據(jù),現(xiàn)實世界(結果)開始與理想世界(預期)重合。因此,給定足夠的數(shù)據(jù),統(tǒng)計就可以讓我們根據(jù)現(xiàn)實世界的觀察來估計概率。概率提供了理論,而統(tǒng)計提供了使用數(shù)據(jù)來檢驗該理論的工具。于是,統(tǒng)計樣本的數(shù)值特征,特別是均值和標準差,成為了理論的替代。
你可能會問:「如果我本來就可以計算理論概率,那我為什么還要用一個替代品?」投擲硬幣是一個非常簡單的例子,但有些更有趣的概率問題并沒有這么容易計算。隨著時間的推移,一個人患病的可能性有多大?當你開車時,一個關鍵的汽車部件出故障的概率是多少?
計算概率沒有什么簡單的方法,所以我們必須依靠數(shù)據(jù)和統(tǒng)計。給定更多的數(shù)據(jù),我們的結果有更多的置信度,確信計算結果代表了這些重要事件發(fā)生的真實概率。
假設我是一名在職侍酒師,購買之前,我要先弄清楚哪些葡萄酒品質更優(yōu)。我手頭已有很多數(shù)據(jù),所以我們將使用統(tǒng)計數(shù)據(jù)來指導決策。
數(shù)據(jù)和分布
在解決「哪種葡萄酒更好」的問題之前,我們需要注意數(shù)據(jù)的性質。直觀來說,我們想通過打分來選出比較好的葡萄酒,但問題是:分數(shù)通常分布在一個范圍內(nèi)。那我們要如何比較不同類型葡萄酒的得分,并在一定程度上確定一種葡萄酒比另一種更好呢?
若有一個正態(tài)分布(也稱為高斯分布),它是概率和統(tǒng)計領域中一個特別重要的現(xiàn)象。正態(tài)分布如下所示:

正態(tài)分布最重要的特質是對稱性和形狀,以及其廣泛的普適性。我們一直稱其為分布,但是分布的到底是什么?我們可以直觀地認為概率分布是一個任務中所有可能存在的事件及其對應的概率,例如在「拋硬幣」任務中,「正面」和「反面」兩個事件,以及它們對應出現(xiàn)的概率 1/2 可以組成一個分布。
在概率中,正態(tài)分布是所有事件及對應概率的特定分布。x 軸表示我們想知道概率的事件,y 軸是與每個事件相關聯(lián)的概率——從 0-1。在這里,我們沒有深入討論概率分布,但是知道正態(tài)分布是一種特別重要的概率分布。
在統(tǒng)計中,正態(tài)分布是數(shù)據(jù)值的分布。在這里,x 軸是數(shù)據(jù)的值,y 軸是這些值的計數(shù)。以下是兩張相同的正態(tài)分布圖,但是根據(jù)概率和統(tǒng)計來進行標記:

在概率的正態(tài)分布中,最高點表示發(fā)生概率最大的事件。離這個事件越遠,概率下降越厲害,最后形成一個鐘的形狀。而在統(tǒng)計的正態(tài)分布中,最高點代表均值,與概率中的情況類似,離均值越遠,頻率下降越厲害。也就是說,兩端的點與均值存在極高的偏差,且樣本非常罕見。
如果你通過正態(tài)分布懷疑概率和統(tǒng)計之間存在另一種關系,那么你沒猜錯!我們將在本文后面探討這種重要關系,先別著急。
既然打算用質量分數(shù)的分布來比較不同的葡萄酒,我們需要設置一些條件來搜索感興趣的葡萄酒。我們將收集葡萄酒的數(shù)據(jù),然后分離出一些感興趣的葡萄酒質量分數(shù)。
為了取得數(shù)據(jù),我們需要以下代碼:
數(shù)據(jù)以表格形式顯示在下面。我們需要 points 列,所以我們將把它提取到自己的列表中。一位葡萄酒專家告訴我們匈牙利的托卡伊白葡萄酒非常棒,而一位朋友則建議我們以意大利的藍布魯斯科紅葡萄酒開始入手。我們可以用數(shù)據(jù)來比較這些葡萄酒!
如果你不記得數(shù)據(jù)是什么樣子的,下面有一個簡要的表格供你參考和重新了解。

如果把每組質量分數(shù)可視化為正態(tài)分布,我們可以根據(jù)它們所處的位置立即判斷兩種分布是否相同,但如下所示用這種方法很快會遇到問題。因為我們有大量數(shù)據(jù),所以假設分數(shù)會呈正態(tài)分布。雖然這種假設在這里沒問題,但實際上這么做很危險,這點將在稍后討論。

當兩個分數(shù)分布重疊太多時,最好假設你的分數(shù)是來自同一個而非不同的分布。在另一種極端即兩個分布沒有重疊的情況下,可以安全地假設它們來自不同的分布。麻煩在于有些重疊的情況比較特殊。例如,一個分布的極高點可能與另一個分布的極低點相交,這種情況下我們該如何判斷這些分數(shù)是否來自不同的分布。
因此,我們再次期望正態(tài)分布可以給我們一個答案,并在統(tǒng)計學和概率之間架起一座橋梁。
重新審視正態(tài)分布
正態(tài)分布對概率和統(tǒng)計學來說至關重要,原因有二:中心極限定理和 3σ 準則。
中心極限定理
在上一節(jié)中,我們展示了如果把擲硬幣的試驗重復十次,正面朝上的平均結果將接近理想的 50%。隨著試驗次數(shù)的增加,平均結果會越接近真實概率,即使個別試驗本身并不完美。這種想法或數(shù)學上稱為依概收斂就是中心極限定理的一個關鍵原則。
在擲硬幣的例子中,一次試驗扔 10 次硬幣,我們會估計每次試驗正面朝上的次數(shù)為 5。之所以是估計,是因為我們知道結果并沒有那么完美(即,不會每次都得到 5 次正面朝上的結果)。如果我們做出很多估計,根據(jù)中心極限定理,這些估計的分布將看起來像正態(tài)分布,這種分布的頂點或估計值的期望將與真實值一致。我們觀察到,在統(tǒng)計學中正態(tài)分布的頂點與平均值一致。因此,給定多次「試驗」作為數(shù)據(jù),中心極限定理表明,即使我們不知道真正的概率,我們也可以通過數(shù)據(jù)估計出分布可能的形狀。
中心極限定理讓我們知道多次試驗的平均值將接近真實平均值,而 3σ準則將告訴我們有多少數(shù)據(jù)將圍繞這個平均值分布。
3σ 準則
3σ 準則(也被稱為經(jīng)驗法則或 68-95-99.7 法則),是我們觀察到有多少數(shù)據(jù)落在平均值某一距離內(nèi)的一種表達。注意,標準差(又名「sigma」)是數(shù)據(jù)觀測值與平均值之間的平均距離。
3σ 準則規(guī)定,給定正態(tài)分布,68% 的觀測值將落在平均值的一個標準差之間,95% 將落在兩個標準差以內(nèi),99.7% 將落在三個標準差以內(nèi)。很多復雜的數(shù)學都涉及這些值的推導,因此,具體不在本文的討論范圍之內(nèi)。關鍵是要知道,3σ 準則使我們能夠了解正態(tài)分布的不同區(qū)間內(nèi)分別包含了多少數(shù)據(jù)。下圖是對 3σ 準則所代表內(nèi)容的總結。

我們將把這些概念與葡萄酒數(shù)據(jù)聯(lián)系起來。根據(jù)假設,作為一個品酒師,我們想知道與普通葡萄酒相比,霞多麗白葡萄酒和黑皮諾葡萄酒更受歡迎的程度。我們收集了成千上萬條關于葡萄酒的評論,而根據(jù)中心極限定理,這些評論的平均分數(shù)應該與葡萄酒質量(由評論者判斷)的「真實」表征一致。
雖然 3σ 準則說明了你的數(shù)據(jù)有多少在已知值范圍內(nèi),但它也說明了極端值的罕見性。任何偏離平均值三個標準差的值都應小心處理。通過 3σ準則和 Z-score,我們最終可以通過數(shù)值度量霞多麗白葡萄酒、黑皮諾葡萄酒與普通葡萄酒的區(qū)別程度。
Z-score
Z-score 是一個簡單的計算,它回答了這樣一個問題:「給定一個數(shù)據(jù)點,它離平均值有多少標準差?」下面是 Z-score 方程:

Z-score 本身并沒有給你提供很多少信息。但當與一個 Z-table 比較時,它就非常有價值,該表列出了一個標準正態(tài)分布的累積概率,直到給定 Z-score。標準正態(tài)分布是平均值為 0、標準差為 1 的正態(tài)分布。即使我們的正態(tài)分布不是標準的,Z-score 也允許我們參考 Z-table。
累積概率(或稱為概率分布函數(shù))是給定點出現(xiàn)之前所有值的概率之和。一個簡單的例子是平均值本身。平均值是正態(tài)分布的正中間部分,所以我們知道從左向右取值到平均值的所有概率之和為 50%。如果你想計算標準差之間的累計概率,3σ準則的值實際上會出現(xiàn)。下圖是累積概率的可視化圖。

所有概率之和必須等于 100%,所以我們用 Z-table 來計算正態(tài)分布下 Z-score 兩邊的概率。

這種超過某個 Z-score 的概率計算對我們很有用。它讓我們從「一個值離平均值有多遠?」的問題升級到「一個值與同一組觀測值的平均值相差特定距離的可能性有多大?」因此,從 Z-score 和 Z-table 得出的概率將回答我們關于葡萄酒的問題。
看起來朋友的推薦并不是很好!為了本文的目的,我們把托卡伊白葡萄酒和藍布魯斯科紅葡萄酒的分數(shù)都視為正態(tài)分布。因此,每種葡萄酒的平均分數(shù)將代表它們在質量方面的「真實」分數(shù)。我們將計算 Z-score,看看托卡伊白葡萄酒的平均值與藍布魯斯科紅葡萄酒的平均值相差多少。
答案是差距很小。但這到底意味著什么?這種概率的無窮小量可能需要詳細解釋。
假設托卡伊白葡萄酒和藍布魯斯科紅葡萄酒的質量沒有什么差別。也就是說,二者的品質差不多。同樣,由于葡萄酒之間的個體差異,這些葡萄酒的分數(shù)會有一些分散。根據(jù)中心極限定理,如果我們制作這兩種葡萄酒分數(shù)的直方圖,將會產(chǎn)生服從正態(tài)分布的質量分數(shù)。
現(xiàn)在,我們可以利用一些數(shù)據(jù)計算出這兩種葡萄酒的平均值和標準差。這些值可以檢驗它們的品質是否相似。我們將使用藍布魯斯科紅葡萄酒分數(shù)作為基礎,并比較了托卡伊白葡萄酒的平均分數(shù),反過來做也很簡單。唯一不同的是負 Z-score。
Z-score 為 4.01!假設托卡伊和藍布魯斯科的品質相似,根據(jù) 3σ準則,99.7% 的數(shù)據(jù)應該在 3 個標準差范圍內(nèi)。在托卡伊和藍布魯斯科被視為品質相同的情況下,遠離質量分數(shù)平均值的概率非常非常小。這種概率如此之小,以至于我們不得不考慮相反的情況:如果托卡伊不同于藍布魯斯科,將會產(chǎn)生不同的分數(shù)分布。
此處我們仔細選擇了措辭:我沒有說「托卡伊比藍布魯斯科好」。因為我們計算了這種概率,雖然微觀上很小,但不是零。確切地,可以說托卡伊和藍布魯斯科絕對不是來自同一個分布,但不能就此說其中一種比另一種更好或更差。
這種推理屬于推理統(tǒng)計的范疇,而本文只想做一個簡單的介紹。本文介紹了很多概念,所以如果你覺得有些頭疼,不妨回頭慢慢看。
總結
我們從描述性統(tǒng)計開始,然后將其與概率聯(lián)系起來。根據(jù)概率,我們開發(fā)了一種定量顯示兩組分數(shù)是否來自同一分布的方法。根據(jù)這種方法,我們比較了別人推薦的兩種葡萄酒,發(fā)現(xiàn)它們很可能來自不相同的質量分數(shù)分布。也就是說,一種葡萄酒很可能比另一種更好。
統(tǒng)計不是只屬于統(tǒng)計學家的領域,作為一名數(shù)據(jù)科學家,對常用的統(tǒng)計方法有一個直觀的理解將有助于你構建自己的理論,以及隨后測試這些理論的能力。在這里我們幾乎沒有觸及推理統(tǒng)計,但是同樣的想法將有助于指導理解統(tǒng)計原理。本文討論了正態(tài)分布的優(yōu)點,但是統(tǒng)計學家也開發(fā)了非正態(tài)分布的技術。
原文鏈接:https://www.dataquest.io/blog/basic-statistics-in-python-probability/
版權申明:本站文章部分自網(wǎng)絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。