34

作者:石豐

摘要:本文通過研究資料物件的熵,對大資料方法和傳統抽樣方法的臨界關係做了分析,得到一個理論公式:S = λ*2 ^H(X),並給出了詳細解釋。

關鍵詞:大資料,抽樣,熵。

引言:

大資料的概念一經提出,立即獲得業界追捧,一時間各個高科技論壇言必稱大資料。邁克—舍恩伯格在其《大資料時代》[Big Data: A Revolution That Will Transform
How We Live, Work and Think]一書中提出的三個重大思維轉變更是被追隨者奉為圭臬,即:“首先,要分析與某事物相關的所有資料,而不是依靠分析少量的資料樣本。其次,我們樂於接受資料的紛繁複雜,而不再追求精確性。最後,我們的思想發生了轉變,不再探求難以捉摸的因果關係,轉而關注事物的相關關係。”

大資料的踐行者們不僅在思維上進行了轉變,在資料處理上同樣採取“大資料”的方法:分析全體而不是樣本,不追求精確性,“知其然,不知其所以然”(注:第三句是筆者歸納,原文意思是隻要知道“是什麼”,不必知道“為什麼”,或只問相關性,不問因果關係)。同時宣佈傳統的抽樣方法已經過時,不能適應當今網際網路資訊社會的要求。

上述斷言過於武斷。如果斷言的目的是為了強調面對資訊爆炸,人們必須不斷地尋找新的方法,包括“大資料方法”,來分析和處理資料,那麼如何誇大和渲染,都是可以理解並接受的;但是,如果斷言的目的是為了勸導人們放棄傳統的抽樣理論,轉而皈依“大資料思維”,這就值得商榷。

縱觀科技史,人們對物體運動規律的研究,牛頓定律曾被認為絕對正確。但隨著科學家們對微觀粒子世界,高速運動(近似光速)物體的研究,牛頓定律不再適用,而代之以量子力學和相對論。但這並不意味著牛頓定律的死亡,在人們生活所及的物理社會裡,仍然是牛頓定律起主導作用。

資訊社會也是如此,資訊的不斷膨脹、變化、繁雜使得傳統抽樣統計方法顯得力不從心,於是所謂的“大資料思維”出現了。但“大資料”究竟是要取代傳統方法,還只是傳統方法的補充,有待於進一步的觀察。

質疑:

對於“大資料思維”的三個轉變,可以提出三點質疑:首先,如果通過分析少量的樣本資料就可以得到事物的準確性質,是否還有必要花費成本去搜集全體資料?其次,如果能夠得到準確資料,還有必要刻意追求不準確嗎?最後,如果能夠了解到因果關係,會視而不見,只去分析相關嗎?

合理的解釋是:首先,如果通過分析少量的樣本資料無法得到事物的性質,人們不得不花費更多成本去搜集全體資料來分析。其次,如果得不到準確資料,人們不得不接受不那麼準確的、差強人意的資料來進行分析。最後,如果不能夠了解到因果關係,人們會退而求其次,以分析相關關係來了解事物。

基於上述解釋,大資料方法不應該是刻意為之,而應該是不得已而為之。換言之,大資料方法僅在傳統的抽樣統計方法不起作用的時候有其用武之地。這就像只有當物體的運動速度接近於光速時我們才用相對論取代牛頓定律。

當然,不可否認,在飛速發展的網路空間裡,人們的研究物件,即資料,變得越來越龐大,越來越繁雜模糊,越來越非結構化,這一大趨勢使人們樂於接受大資料思維。舉個不太恰當的例子,當人們不能解釋許多自然現象時,更容易接受某種宗教的解釋。

在資訊爆炸的今天,傳統的抽樣統計方法不僅不應該被拋棄,而應該通過一系列改進得到加強,成為高效、實時反映事物狀態的主要手段之一。同時,我們歡迎並樂意採用新的方法,比如如日中天的“大資料方法”以及可能的“模糊資料方法”等等。

至此,一個關鍵問題出現了:面對一個具體事物,如何確定應該用傳統方法還是大資料方法?當物理學家研究微觀粒子之間的作用力時,會採用量子力學;研究一個橋樑受力時,會採用牛頓力學。資訊或資料專家們有這樣的理論或判別標準嗎?本文下一小節將對此展開討論。

分析:

首先,考察一般意義上的選取樣本大小的規則。

定理:設X1,X2…Xn為獨立同分布隨機變數,分佈為p(x), x∈(x1,x2..xn),則一般抽樣樣本大小S為:

     S = λ*2 ^H(X) …………………………(1)

其中:λ是常數,H(X)= -∑p(xi)*log
p(xi),即隨機變數X的熵。

例1:瞭解總體為N個人對某事物的看法,是或否兩個選擇,其熵約為1,(假設兩種回答人數基本相當),則在一定的置信度、置信區間的要求下(本文不做精確的抽樣理論推導,僅舉例定性說明,以下同),S隨著N的增加(比如到10萬)逐步趨向為一個常數;400,此時λ=200。 可以證明,當其它條件不變,隨著熵增加,S指數增加,λ保持不變。

換一個方式解釋λ。

定義1:λ是在一次抽樣中,“典型狀態”出現的期望值

定義2:典型狀態指該狀態出現概率等於或近似等於相同熵值平均分佈下各狀態出現概率的那個狀態。

舉例來說,X服從一個8狀態平均分佈,其熵為3位元,其每個狀態都是“典型狀態”,其出現概率都是1/8。

如果X服從一個12個狀態的分佈,其狀態分佈概率為

p(x1,x2,x3,x4,x5…x12)=(1/3,1/5,1/6,1/7,1/8,1/15…1/50),H(X) ~=3 位元。其典型狀態是 x5, 出現概率為1/8.

基於上述規定,如果λ取1,H(X)=3,則樣本大小S =8,在一次抽樣中,典型狀態(出現概率1/8)出現次數的期望值為1,等於λ。但狀態出現是依概率的,儘管期望值為1,但觀察值也可能為0,2,3…,這樣的估計誤差過大。

如果λ取100,H(X)=3,則樣本大小S =800,在一次抽樣中,典型狀態出現的期望值為100,等於λ。其實際觀察值在極大概率下落在95-105之間,如果誤差可接受,取λ=100,否則,加大λ。

另外一個影響λ的因素是分層。將例1中的總體N分為高收入(20%),中等收入(50%),低收入(30%)3類人來調查對某事物看法。如果採用純隨機抽樣,要保證每層的分佈得到準確的估計結果,就要使得最少個體的層能夠抽到足夠數量,因此λ要乘5(20%的倒數)。但事實上,人們更關心總體結果,兼顧分層的結果,因此,為了節約成本,實際的λ修正係數會小一些,比如取3,這時,樣本大小約為1200 。這時,不管總體是10萬人還是3億人,對1200人的樣本進行的調查結果可以在3%的誤差範圍內反映出實際情況。

通過以上分析可以看出,λ是一個100-1000之間的常數,具體數值取決於調查方希望在一次抽樣中得到多少個典型狀態(或分層的)的個體(期望值),並滿足誤差要求。在確定了λ之後,樣本的大小就只和系統熵相關,呈指數增長關係,即公式(1)。

採用傳統抽樣方法時,研究物件的隨機狀態和變化有限,或通過人為的分類使之變得有限,導致熵值很小,因此,使用較小的樣本就可以準確地估計總體。加之那時的取樣成本很高,調查方要花費很大精力設計抽樣方案,在不失精度的前提下,使得樣本規模儘量縮小。

網際網路時代的狀況恰恰相反,研究物件是網際網路的行為,獲取資料非常容易,因為資料已經產生,不管你用不用它,它就在那裡。而網際網路上許多研究物件的狀態無限多,也很難統計歸類(比如“長尾現象”),系統熵值很大,導致樣本規模巨大或根本無法確定規模。此時,採用總體分析,即大資料方法就具有優勢。當然,即使總體資料已經存在,對其整理和運算也相當消耗資源。一些情況下,採用抽樣的方法仍然是最佳的選擇。

現在,讓我們嘗試回答上節最後提出的問題:面對一個具體問題如何選取分析方法?

首先,考察研究物件所需的資料是否已經在應用中自動被收集,比如,使用者的線上購物行為。如果不是,比如線下購物,需要研究者設計方法去收集資料,此時,應該採用傳統抽樣方法。

其次,面對網際網路已經(或可以實時線上)獲得的海量資料,當研究物件熵值小於5,建議仍採用傳統抽樣方式,可以得到更高效率;當熵值介於5-15之間,總體分析或抽樣分析都可以考慮,視具體情況;熵值大於15,建議採用總體分析,即大資料方法。

上述建議仍然很抽象。在下一小節中,我們借用長尾理論的描述方法,將統計研究物件分為4種型別,分別討論適用的方法。

分類:

第一類:“無尾模型”。此時,研究物件的狀態明確且數量有限,出現概率最小的狀態仍然具有統計意義。如民主投票,狀態有贊成、反對、棄權3個狀態,或是有限個被選舉人的支援率;再如收視率調查,狀態有幾十或幾百個電視臺。統計結果的描述方法通常是分佈直方圖,即將狀態出現的頻次從高向低順序以柱狀圖的方式表示出來。連線直方圖的各個頂點,就得到總體的概率分佈曲線。按照相同順序排列頻次累計數並將頂點相連,就得到所謂“帕累託曲線”。兩個曲線表現為凹函式,或二階導數恆為負值(借用連續的分析,實際上是離散的),在曲線尾部沒有出現變化。隨著狀態數的增多,“二八現象”會顯著,即少數狀態(比如20%)佔到了多數頻次(比如80%)。

第二類:“翹尾模型”。此時,研究物件的狀態較明確且數量較多,出現概率很小的狀態相對失去統計意義,在統計上把這些狀態統一歸類為“其它”狀態。絕大多數情況下,由於其它狀態是由許多狀態構成的,其出現概率的和高於排列在前的某些較小概率狀態的概率,因此,總體概率分佈曲線及帕累託曲線在尾部會出現上翹,即所謂“翹尾模型”。為了保證統計效果,其它狀態總的概率一般不超過5%。這時,二八現象極為顯著,便於“ABC分析”和重點管理,因此翹尾模型在企業管理上應用極為廣泛。如質量管理(缺陷分析),庫存管理(零配件庫、商店、賣場,特別是實體書店,可與後面網路書店的長尾現象比較)等。

以上兩種模型運用傳統的抽樣方法均可以取得良好的統計結果。隨著物件狀態數量增加,並不存在明顯界限。以收視率調查為例:選擇3萬個調查樣本戶進行收視調查,當有二、三十個電視臺臺時,收視率最低的電視臺也能得到顯著的觀察值,可以認為是無尾模型。當電視臺數量超過100,許多收視率達不到0.3%的電視臺在一次抽樣中就無法達到可以保證相對精度的觀測值,此時,既可以擴大樣本範圍來滿足精度要求,也可以將小於0.3%的狀態合併為“其它”,採用“翹尾模型”。

隨著三網融合的進展,絕大多數電視機將具有雙向功能,總體資料變得唾手可得,此時,抽樣方法仍然有效,它可以用來做實時的、頻繁的統計,而採用總體的大資料方法可以定時進行校正,畢竟處理幾萬個樣本比處理幾億條總體資料要迅速、便宜得多。

第三類:“長尾模型”。此時,研究物件的狀態不夠明確且數量很多,出現概率很小、相對失去統計意義的狀態眾多。但是,這些小概率狀態的全部或部分和佔到總體狀態的30%-40%,甚至更多。反映在概率分佈或帕累託圖上就形成一個長長的尾巴(漸進於X軸或Y=1的直線)。如果採用翹尾模型,用抽樣的辦法,會使總體的30%-40%,甚至更多的狀態無法描述。從而必須採用全體資料即大資料的方法。

舉例來說:一個實體書店的貨架上有1000種書籍,經過統計,老闆會發現,賣得好的前200種書佔到其銷售額的80%以上,而賣得不好的後500種書的佔比甚至不到5%,統計上可以併為一類。這就是所謂“二八現象”,老闆採用抽樣統計的方法可以掌握佔銷售額95%的書籍的分佈情況。而一個網路書店的資料庫中可能列有20萬種書籍,其中熱賣的200種佔銷售額的20%,前2000種共佔到40%。而餘下的19.8萬種書籍構成其餘60%的銷售額,但每種份額是如此之小,以至於無論如何擴大樣本,都不易被顯著地觀察到。在這種情況下只能採用大資料方法,否則,60%的銷售額都不知道從哪裡產生的統計還有什麼作用。

第四類:“全尾模型”。此時,研究物件的狀態很不明確、甚至未知,而數量極多甚至無限,正常情況下,無論如何選擇樣本都無法在統計意義上顯著地得到各個狀態的觀察值,一旦可以觀察到,說明出現異常。其分佈曲線是無限接近且平行於X軸的直線。所以我們也可以稱之為“平尾”。

典型的例子如關鍵詞搜尋,事先無法確定狀態,即系統事先不知道使用者要搜尋什麼,且搜尋的內容可能無限多,因此無法事先設計抽樣模型。採用分析全體的大資料方法,可以在出現異常時即使發現並加以分析。比如,某種疾病或藥物的名詞在某一地區的搜尋量大增,就可以預測這一地區可能流行某種疾病。事實上,谷歌的大資料分析在這方面已經比傳統的流行病預測機制和機構做得更好、更有效率。

大資料方法被認為最適於做預警或預測某種人們事先不知道的狀態,而抽樣統計則一般是根據已知的狀態安排抽樣規則。

以上四種模型分析與上節基於熵的分析是一致的。其中無尾和翹尾模型的熵值分別為小於6、介於5-15之間;而長尾和全尾模型的熵值分別為大於15、趨於無窮。前二者多采用傳統抽樣分析,後二者只能採用大資料方法。更為重要的是,隨著量變引起質變,大資料方法會帶來更多、更新的概念、理論和技術。