文章出處

作者:Vamei 出處:http://www.cnblogs.com/vamei 嚴禁轉載。 
 
完成了概率論之后,數據之旅的下一站就是統計。統計是研究數據的學科。它包括了數據很多方面,比如如何描述數據、如何通過抽樣推測整體的信息、如何通過數據判斷假設的真偽。近年來,“數據科學”成為一門顯學。統計隨之風生水起,成為人們競相談論的話題。文藝作品自然不會錯過這個熱點。在電影“點球成金”中,布拉德·皮特飾演的球隊經理,就利用統計方法來搜尋球員和管理球隊,最終造就了一支勁旅。
《點球成金》
 
我將在這篇文章中將對統計進行概述,以便于你在深入學習統計之前,對統計有一個基本概念。
 

統計的歷史

其實在統計誕生之前,很多人已經有了數據意識。劉邦占領咸陽后,蕭何先去王宮中收集的,正是戶籍、地理、人口等手冊。后來楚霸王項羽來了,搶奪的卻是金銀珠寶。可以說,在楚漢相爭開始之前,劉邦已經在信息上勝了項羽。英國的“征服者”威廉也很有數據意識。威廉以旺盛的精力統治著英格蘭。他派遣手下,走遍英格蘭的每個村莊,編纂成《統計書》 (Domesday Book),詳細的記錄了英格蘭每個地區的人口、地理和物產,甚至于精確到每家養殖的牲口數目。當然,威廉收集數據的目的并不單純。只有掌握了這些數據,他才能清楚地知道貴族的財產,然后就可以不客氣的征稅。
 
現代意義的統計學誕生于近代的歐洲,主要服務于政府部門。“統計”英文是statistics,詞根就源于state,也就是“國家”。近代歐洲戰火不斷,耗資巨大。政府必須搜刮到足夠多的稅收,才能彌補國庫虧空。“統計”因此成了君王不可或缺的工具。另一方面,以經驗主義為基礎的現代科學開始孵化。對于伽利略和培根這樣的科學家來說,實驗產生的數據是科學的唯一基石。統計方法作為整理和描述數據的手段,變得不可或缺。在政府行政和科學發展的雙料刺激下,統計發展成一門獨立的學科,其思想影響到諸多領域。南丁格爾在議會演講時,就用統計圖的方式,向議員們說明克里米亞前線糟糕的衛生狀況,促使了戰地醫院的誕生。
南丁格爾的統計圖。用以說明衛生改善后,兵營中感染數目的減少。
 
但在很長的歷史時期里,統計并不被認為是數學的分支。人們只是把統計當做數據收集和數據描述的代名詞。十七世紀的科學家甚至有輕視數據的傾向。這個時代的科學家普遍信奉“決定論”。他們認為,所謂的數據是由絕對精確的物理規律產生出來的,數據中的落差都是由于“不完美”的實驗設計。到了十八世紀,科學理論進一步發展,用于驗證理論的觀測也變得越來越精細。科學家必須排除數據中的隨機因素,才能驗證理論的真偽。這個時代的拉普拉斯就因為找不到足夠多的數據,否定了自己的潮汐理論。不過,統計的理論基礎依然很粗糙。
 
到了二十世紀初,概率論完成了理論體系的建設,統計學家才看到嚴格化統計學的希望。統計學家把抽樣理解為概率論中的“隨機事件”,從而在概率論和統計之間建立了橋梁。統計因此找到了堅實的理論基礎,正式成為一門數學分支。以此為起點,統計學的影響力進一步擴大。日本二戰后的“產業奇跡”,就離不開統計帶來的高水平生產管控。在農業育種和藥物實驗方面,統計也是最常用的數學工具。在生物工程、網絡安全、人工智能等新興領域,統計也都起到了關鍵作用。可以說,統計已經成為現代社會不可或缺的基礎設施。
 

群體

統計研究的對象是某個群體(population)。群體包括了與問題相關的所有個體。我們想了解世界人口,那么群體就由世界上所有的人組成。如果我們想了解學生的身高,那么群體就包括了所有學生的身高值。收集群體中所有個體的數據,是了解一個群體最完備的方法。這個文件中就包括了一個學校所有學生的身高值。對此有興趣的人,當然可以打開文件逐行查看。但人腦存儲和處理信息的能力有限,因此往往看不了幾行就會頭暈腦脹。我們需要描述群體數據的辦法。
 
一種辦法是畫圖。畫圖可以把數字信息變得幾何化,從而讓統計數據變得容易理解。我們用常見的條形分布圖來畫學生身高的分布:
 
這種條形分布圖把身高在某個范圍內的學生總數繪成一個豎直的長條。這個長條的寬度是身高的范圍,高度是學生總數。數據繪圖一定程度上簡化了數據的信息量。從這種圖中,你沒法完整得獲得原始數據。不過,這樣的簡化讓數據變得更容易讀。上面的繪圖很容易編程實現,繪圖程序為:
import numpy as np
import matplotlib.pyplot as plt

with open("xiangbei_height.txt", "r") as f:
    lines = f.readlines()

x = list(map(float, lines))

plt.hist(x, 50)
plt.xlabel("height (cm)")
plt.ylabel("count")
plt.show()

 

另一個辦法是根據群體來計算群體參數(population parameter),比如群體的平均值和方差。這些參數用一個單一數字來代表群體某一方面的信息。群體平均值(population mean)可以反映群體總體狀況。它的定義如下:

$$\mu=\frac{1}{N} \sum_{i=1}^N x_i$$
 
群體方差(population variance)則可以反映群體的離散狀況,定義如下:
$$\sigma^2=\frac{1}{N} \sum_{i=1}^N (x_i - \mu)^2$$
 
從群體平均值和群體方差就可以讀出很多信息。比如下面列出兩所學校的群體參數。可以看出,陵南的學生總體身高比較高,而湘北不同學生之間身高差異比較大:
  陵男中學 湘北中學
群體平均值 178 172
群體方差 16 100
 
群體參數還有很多,比如群體總和、群體中位數等等。這些參數都可以從群體數據中計算出來,并反映出群體的某個特性,從而方便人們理解群體的信息。
 

統計推斷

我們來看一個典型的統計問題:工廠生產了1萬個產品,要如何檢查產品的合格率?
 
最直接的想法是,一個一個地檢查每個產品,也就是收集整個群體的數據。統計中的數據描述就起到了類似的作用。我們可以用表格或繪圖的方式來描述群體數據,比如:
不合格 合格
50 9950
 
 
如果能完整地收集到群體的數據,那么統計就變得簡單了很多。但很多時候,我們難以準確地獲得群體的數據。就拿世界人口來說,由于每一秒都有人出生和死亡,所以很難即時的搜集群體的信息。再拿全球氣溫來說,也很難在整個地球上布滿溫度傳感器,獲得所有的溫度數據。而在一些情境下,就算可以收集整個群體的數據,人們也會因為效率放棄。回到工廠的例子。工廠的生產往往遵守事件安排。如果檢測1萬個產品需要耗費很長時間,那么就會變得不可行。這時候,工廠經理想到一個樸素的辦法:抽樣(sampling)。
 
工廠經理從1萬個產品中拿出1000個進行檢測。根據他的經驗,如果這1000個都沒有問題,那么整批產品很可能沒有什么問題。如果這1000個中有很多都是不合格的,那么整批產品很可能出了大問題。所謂的抽查,就是從群體中抽取一個子集作為樣本(sample)。用方文山的歌詞來總結抽樣,再貼切不過:
繁華如三千東流水,我只取一瓢飲。
 
工廠經理隨后的推論,就是在用樣本來推測群體的信息。這被稱為統計推斷(statistical inference)。然而,樣品是從群體抽取的部分個體,抽樣的結果受到隨機性影響。就拿我們在表格中記錄的群體信息為例。工廠經理可能正好沒有抽到任何次品,也可能在樣本中包括了所有的次品。即使群體沒有發生變化,統計推斷也會因為樣品的隨機性而發生變化。這會帶來惱人的問題,比如說車間主任會質疑經理的抽樣結果,認為經理的推斷受到隨機性影響。因此,經理有必要定量化推論的不確定性。幸運的是,統計學家已經給出了一套大家都接受的方法,車間主任也不用老是和工廠經理扯皮。
 

樣本

把抽樣看作一個隨機事件,是統計向概率論靠攏的關鍵。抽樣所有可能的結果,就構成了我們的樣本空間。當我們從N個群體成員中抽取n個樣品成員時,就有[$ \left( \begin{array}{c} N \\ n \end{array} \right) $]種可能的結果。這些結果就構成了樣本空間。
 
舉例來說,放在罐子里的甲、乙、丙三個球作為群體,從中抽取兩個球。樣本空間就包含了三個元素:
[$\{ 甲球和乙球, 甲球和丙球, 乙球和丙球 \}$]
在這個例子中,群體中包含了3個成員,樣本抽取了其中的兩個。
 
如果抽樣時等概率事件,即三種抽樣結果的概率都是1/3:
$$P(甲球和乙球) = 1/3$$
$$P(甲球和丙球) = 1/3$$
$$P(乙球和丙球) = 1/3$$
 
我們再進一步,考慮每個成員的取值。我們抽樣時,感興趣的往往是群體某個方面的特征。比如球的顏色,或者學生的身高。群體成員的取值情況,就構成了群體的分布。如果樣本中包含了n個成員,我們就用[$X_1,X_2,...,X_n$]表示成員們的取值。群體中的成員各不相同,但取值卻完全有可能相同。這樣的話,取值的概率分布就會變得非常多樣化。甲、乙、丙球分別取紅、黃、藍顏色時,第一個抽樣成員[$X_1$]的分布:
$$P(X_1=紅)=1/3$$
$$P(X_1=黃)=1/3$$
$$P(X_1=藍)=1/3$$
 
如果在另一個罐子中,群體的配色發生了變化。甲、乙球取紅色,丙球取藍色,那么抽樣成員[$X_1$]的分布就變成了:
$$P(X_1=紅)=2/3$$
$$P(X_1=藍)=1/3$$
也就是說,群體取值的變化,會造成樣品取值概率分布的變化。三個球的系統中,群體就有下面10種可能:
紅 黃 藍
1  1  1
2  1  0
2  0  1
1  2  0
0  2  1
1  0  2
0  1  2
0  0  3
0  3  0
3  0  0

每種情況下,[$X_1, X_2$]都會有一種特定的概率分布。

 

為了研究方便,統計中經常采用理想化的抽樣方法,也就是所謂的簡單隨機抽樣(simple random sampling)。簡單隨機抽樣中,[$X_1, X_2, ..., X_n$]相互獨立,并且有相同的分布(iid random variables)。簡單隨機抽樣產生的樣品被稱為隨機樣品(random sample)。值得注意的是,在上面抽小球的例子中,盡管[$X_1$]和[$X_2$]有相同的分布,但兩者之間不獨立,所以并非簡單隨機抽樣。在實際操作上來說,抽樣大部分是不重復的。當某個成員被抽中時,會影響到其他成員被抽中的概率,很難讓成員取值相互獨立。不過,當樣品大小遠遠小于群體大小時,可以近似地認為是隨機抽樣。

 

樣品統計量

建立在樣品之上,還有一個簡單而重要的概念,就是樣品統計量(sample static)。我們知道,樣品成員的取值構成了一組隨機變量[$X_1, X_2, ..., X_n$]。所謂的樣品統計量,就是定義在這組隨機變量上的函數,即

$$sample\ static=T(X_1, X_2, ..., X_n)$$

通過之前在概率論中的學習,我們知道隨機變量的函數也是隨機變量。因此,樣品統計量也是有一定概率分布的隨機變量。當[$X_1, X_2, ..., X_n$]的分布確定時,樣品統計量的分布也就確定了下來。樣品平均值和樣品方差都是常見的樣品統計量:

$$\overline{X} = \frac{1}{n} \sum_{i=1}^n X_i$$

$$S^2 = \frac{1}{n-1} \sum_{i=1}^n (X_i - \overline{X})^2$$

 

應該注意到,樣品統計量和群體參數之間的不同。樣品統計量是一個隨機變量,而群體參數卻是一個具體的數字。但兩者之間又有聯系。對于隨機樣品來說,如果它來自的群體平均值為[$\mu$]、方差為[$\sigma^2$],那么可以證明:

$$E(\overline{X})=\mu$$

$$E(S^2)=\sigma^2$$

當然,這也并非巧合。樣品統計量只是定義在樣品上的函數,所以可以靈活地選擇形式。統計學家有意設計了樣品統計量的形式,以便于它們的期望正好等于某些群體參數。這能為很多統計處理帶來便利。

 

統計研究的一般思路

我們一直沿著從群體到樣品的思路。這就好像已經知道了整個宇宙的真相,然后再把視野局限到地球上。我們知道了群體的分布,自然很容易推導出樣本取值的分布。然而,我們在生活中,往往是從樣品推測群體。這就好像我們看到了一片葉子,然后去想象整個植物的樣子。
 
在罐子中抽小球的問題中,群體的分布可能只有10種。我們求出其一種情況下[$X_1, X_2$]的分布,然后進行真實的抽樣,看得到結果是不是符合該分布。我們假設紅、藍、黃各有一個,每次抽兩個球。如果抽樣100次,都沒有出現一個藍球。在三色球各有一個的情況下,這種結果出現的概率只有[$ (1/3)^{100} $],是一個非常小的概率。因此,我們一開始的假設很可能錯了。我們因此可以排除那些“猜錯了”的群體分布。
 
這種類似于“窮舉”的辦法非常笨拙,在很多問題中完全不可行。如果群體的成員有無限多個,那么分布的情況也會有無限多種。對于連續取值,比如學校學生的身高,群體的分布也會變成無限多種。在這種情況下,統計學家只好降低期望,只研究所有可能分布中的一小部分,甚至局限于同一類分布的不同參數取值。最終的研究目標,也從完整的群體分布,降低到群體分布的一些參數,例如群體的平均值和方差。統計中很多看似復雜的數學方法,其實都是出于這一無奈的苦衷。
 

總結

到這里,我介紹了統計的基礎概念:群體和樣本、統計推斷,并且描述了統計的研究思路。在后面的文章中,我會繼續講解統計的具體方法。我們將看到,這些統計方法,既可以解決了特定類型的問題,但也有其局限性。在數學嚴格性的限制下,我們不可能根據樣本回答所有關于群體的問題。但了解其中的細微嚴格之處,也是學習統計的一大樂趣所在。
 
歡迎繼續閱讀“數據科學”系列文章
 

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()