進入正題前,先舉一個例子,看看數據的重要性。
2012 年,世界上人口最多的 10 個城市(不包括遠郊縣)是哪些?我拿這個問題問了十幾個人,他們給我的答案大多是這樣一些城市:上海、重慶、東京、北京、孟買等(這些都是中國、印度這種 人口大國的大都市),或者東京、紐約和巴黎等世界名城。事實上,除了上海、紐約、東京和德里,世界上人口最多的 10 個城市中的 6 個都是一般人想不到的。世界地圖網站綜合了 2012 年世界各國人口普查結果,給出了世界上人口最多的 10 大城市,如下表所示。
其中首爾、馬尼拉、卡拉奇、圣保羅和雅加達,要是不看數據,很難想得到。
數據很重要,那么什么是大數據?
大數據的數據量自然是非常大的,這一點毫無疑問,但光是量大還不算我們所說的大數據。大數據更重要的在于它的多維度和完備性,有了這兩點才能將原本看似無關的事件聯系起來,恢復出對事物全方位完整的描述。為了說明這一點,我們再來看一個的例子。
2013 年 9 月,百度發布了一個頗有意思的統計結果——《中國十大“吃貨”省市排行榜》。百度沒有做任何的民意調查和各地飲食習慣的研究,它只是從“百度知道”的 7700 萬條與吃有關的問題里“挖掘”出一些結論。但這些結論看上去比任何學術研究的結論更能反映中國不同地區的飲食習慣。我們不妨看看百度給出的一些結論:
在關于“什么能吃嗎”的問題中,福建、浙江、廣東、四川等地的網友最常問的是“什么蟲能吃嗎”,江蘇、上海、北京等地的網友最常問的是“什么的皮能 不能吃”,內蒙古、新疆、西藏,網友則最關心“蘑菇能吃嗎”,而寧夏網友最關心的竟然是“螃蟹能吃嗎”。寧夏網友關心的食物一定會讓嗜吃螃蟹的江蘇浙江網 友大跌眼鏡,反過來也是一樣,寧夏網友會驚訝有人居然要吃蟲子! (下面的截圖來自:中國十大吃貨省市排行榜)
百度做的這件小事,其實就是大數據的一個典型應用,它有這樣一些特點:首先,數據本身非常“大”,7700 萬個問題和回答可不是一個小數目;第二,這些數據維度其實非常多,它們涉及到食物的做法、吃法、成分、營養價值、價格、問題來源的地域和時間等等,而且這 些維度也不是明確地給出的(這一點和傳統的數據庫不一樣)。在外人看來,這些原始的數據“相當雜亂”,但是恰恰是這些看上去雜亂無章的數據將原來看似無關的維度(時間、地域、食品、做法和成分等)聯系了起來。經過對這些信息的挖掘、加工和整理,就得到了有意義的統計規律,比如不同地域的居民飲食習慣。
說到這里,大家可能會有個疑問:上面這些統計似乎并不復雜,按照傳統的統計方法應該也可以獲取。我不能說傳統的方法在這里行不通,但是難度是相當大 的,比一般人想象得要大。我們不妨看看擱在過去,要想獲得這些統計結果必須做哪些事情。首先,要設計一份合理的問卷(這并不容易),然后要從不同地區尋找 具有代表性的人群進行調查(這就是蓋洛普一直在做的事情),最后要半人工地處理和整理數據。這么做不僅成本高,而且如同蓋洛普民調一樣,很難在采樣時將各 種因素考慮周全。如果后來統計時發現調查問卷中還應該再加一項,對不起,補上這一項的成本幾乎要翻番。
傳統方法難度大的第二個原因,是填寫的問卷未必能反映被調查人真實的想法。要知道大家在百度知道上提問和回答是沒有壓力,也沒有功利的,有什么問題 就提什么問題,知道什么答案就回答什么。但是在填寫調查問卷時就不同了。大部分人都不想讓自己表現得“非常怪”,因此多半不會在答卷上寫下自己有“愛吃臭 豆腐”的習慣,或者“喜歡吃蟲子”的嗜好。
中央電視臺過去在調查收視率時就遇到過這樣的情況,他們發現通過用戶填寫的收視卡片調查出的收視率,和自動收視統計盒子得到的結果完全不同。從收視 卡片得到的統計結果中,那些大牌主持人和所謂高品位的節目收視率明顯地被夸大了,因為用戶本能地要填一些讓自己顯得有面子的節目。我本人也做過類似的實 驗,從社交網絡的數據得到的對奧巴馬醫療改革的支持率(大約只有 24%)比蓋洛普的結果(41%)要低得多。
大數據的好處遠不止是成本和準確性的問題,它的優勢還在于多維度(或叫全方位)。過去計算機能夠存儲和處理的數據通常有限,因此只收集與待解決問題相關的數據,這些數據只有很少的幾個維度,而看似無關的維度都被省略掉了。這種限制也決定了特定的數據使用方式,即常常是先有假設或者結論,然后再用數據來驗證。現在,云計算的出現使我們可以存儲和處理大量關系很復雜甚至是原本看似沒什么用的數據。工作的方法就因此而改變了。 除了使用數據驗證已有的結論外,還可以從這些數據本身出發,不帶任何固有的想法,看看數據本身能夠給出什么新的結論,這樣一來,就可能會發現很多新的規 律。比如百度百科中的數據乍一看是雜亂無章的,但其實數據之間有很多內在聯系。在對這些大數據進行分析之前,產品經理們的頭腦里并沒有預先的假設,也不知 道能得出什么樣的結論。但是,最終通過對這些數據進行分析,發現了很多新的規律。我想,百度內部人士在第一時間看到這些結果時,恐怕也是會大跌眼鏡的。
當然,世界上有很多比吃蟲子或者吃螃蟹更重要的事情,比如醫療保健。我們知道,很多疾病是和基因的缺陷相關的,但是基因作用的原理非常復雜,一個基因的缺陷可能會導致某種疾病,但也只是可能而已。
研究人類基因與疾病的關系的另一個難點在于如何找到那些可能有缺陷的基因。要知道,一個人完整的基因的數據是非常大的。據華大基因創始人楊煥明院士 介紹,這個數據量大得超出常人想象,在 PB(1015 字節,即一百萬個 GB)這個數量級。如果僅僅從數據量的大小來看,這一個人的數據可能已經超過百度知道的數據量了。當然,只看一個人的基因,無法得知其中的一段基因是好的 還是有缺陷的,即使找來幾個人,甚至幾十個人的基因也不夠,因為人類每個個體之間的基因是有一定差異的,并不能說明不同的基因就是缺陷。要定位這些可能的 缺陷,至少需要成千上萬人的基因數據。在云計算出現之前,人們是難以處理這么大量的數據的。
收集大量人的基因數據在過去也是一個大問題。好在世界上很多看似難辦的事情總是有辦法解決的。美國有一個叫做 23andMe 的小公司,它做的事情很有意思,做法也很聰明。這家公司只需要 100 美元(不是醫院里做一次全面的 DNA 檢測所要的 2000—5000 美元)用于收集你的唾液,就可以把你的基因大致地“讀一讀”,然后“大致”告訴你今后得各種病的概率。當然,這家公司對基因的解讀和華大基因繪制整個基因 圖譜不是一回事。但是即使做比較簡單的基因分析,100 美元也是不夠的。23andMe 實際上是通過這種方法吸引了大量的基因提供者,有了大量的基因,他們就能區分哪個基因片段是正常的,哪個存在“可能的”缺陷。對于每一個提供基因的人,他 們能列出這個人一些可能的缺陷基因。當然他們也能得到每一種基因缺陷的概率。
23andMe 和同類公司(包括 Google 的保健研究部門)正在做的另一件事就是將基因的缺陷和疾病聯系起來,這個數據必須到研究機構和醫院去拿。過去,每一所醫院這方面的數據其實是非常有限的, 但是如果把成千上萬個大小醫院的數據收集起來,那么就能夠估計出疾病和基因缺陷同現的概率了,進而可以將有某種基因缺陷導致疾病的概率算出來。未來,大數 據可以通過基因檢測的方法準確地告訴我們每一個人今后的健康狀況,做到有效預防疾病。 (請看這則報道:基因泰克與 23andMe 合作進行全基因組測序工作)
我之所以舉醫療行業的例子,是因為除了 IT 行業,醫療保健是對大數據最熱衷的行業。當然,另一個原因是 Google 和我本人對這個行業都比較熱衷,比較容易舉例子,但這并不表明大數據的應用只集中在這兩個行業。
醫療保健行業是美國最大的行業,2013 年它的產值占到美國 GDP 的 15%左右,如果成本不能下降,這個比例將提高 20%左右。在這么大的一個行業,雖然過去醫生們也天天在和數據(各種化驗結果和指標)打交道,但遺憾的是,在過去的五六十年里,醫生們利用 IT 技術來改進醫療水平的動力并不足(除了醫學影像等技術外)。不過,在過去的十年里,這種情況得到了改變,醫療行業主動接觸 IT 行業,希望通過大數據來解決醫療保健上的難題。這從另一個側面顯示了大數據的重要性。到目前為止,大數據已經給醫療行業帶來了不少意想不到的驚喜。 2012 年,美國媒體報道了兩個大數據在醫療上的應用,就很能說明問題。
第一個是關于一位女高中生的故事。2012 年她通過大數據大大提高了乳腺癌活檢位置的準確性。我們知道,對于一些可能患有乳腺癌的患者,需要進行活檢,也就是在可疑的部位用一種特殊的針穿刺取出一 些細胞,化驗看看是否有癌細胞。活檢的準確性完全取決于穿刺的部位,如果穿刺部位不準確,即使有癌細胞也檢測不到。過去這件事完全取決于醫生的經驗。
但是一個醫生在美國可能一輩子也就見過幾百例這類疾病,因此經驗的積累非常緩慢。而且即使是有經驗的大夫,也很難做到每天的表現都一樣穩定(因為醫生的情緒波動會影響判斷的準確性)。這位高中生做了一件什么事呢?她統計了上百萬份病例,寫了一個程序,在 X 光片和 CT 圖像上圈出那些可疑的部位,準確率達到了 98%,這比靠經驗的傳統方法要高出很多。當然,她使用的幾百萬份病例在信息處理從業者看來算不上太大的數據,但是對于醫療行業的人來講,就已經是非常大的數據了。她的研究成果獲得了當年Google科技競賽的第一名。
第二個例子是微軟大數據應用的故事。保險公司發現很多急診病人在出院后不久,又被送回了急診室。在美國急診的費 用非常高,對保險公司和個人都是一筆不小的負擔。保險公司和醫院一起收集了大量病人的信息,交給微軟公司從事大數據工作的科學家和工程師分析,看看能否找 到什么原因或統計規律。微軟的工作人員用機器學習的方法抽取和分析了上萬種特征。最后他們發現,如果一個病人在第一次進急診室后給打了點滴(在美國,除非 特別需要,醫院很少給病人打點滴),幾個星期后被送回急診室的可能性極大(可能是因為病情確實很重了)。除此之外,他們還找到了其他一些重要特征。因此, 對于有這些特征的病人,只要在他們出院后定期跟蹤和關注,就可以大幅減少他們返回急診室的幾率。這樣醫療的費用就可以降低不少。要訓練具有上萬個特征的數學模型,沒有多維度的大數據是做不到的。
從上面這些例子中,我們可以看到大數據對信息產業以及其他產業的重大影響。現在,我們對大數據的重要性來做一個總結。首先,只有當一些隨機事件的組 合一同出現了很多次以后,才能得到有意義的統計規律;其次,大數據的采集過程是一個自然的過程,有利于消除主觀性的偏差;當然,更重要的是,只有多維度的大數據才能讓那些原本有聯系,但似乎聯系又不太緊密的事件反復出現,然后發現新的規律。最后,它可能是解決 IT 行業之外的一些難題(比如醫療)的鑰匙。