本文原載英國《金融時報》網站,原標題:Big data: are we making a big mistake,貌似我看到的時候已經有點晚了,但還是分享下吧。因為它確實討論了我最近所思考的一些問題,是一篇思辨的文章。如果你以前沒了解過大數據,這又可以看作一篇入門文章。
這篇文章只算一家之言,因為質疑總比證實更簡單,但大數據現在炙手可熱,這些反面的意見,如果作為談資收藏起來,也是不錯,說不定把妹子的時候會有妙用。
by信海光微天下
大數據是對于大規模現象的一種模糊的表達。這一術語如今已經被企業家、科學家、政府和媒體炒得過熱。
五年前,谷歌的一個研究小組在全球頂級的科學雜志《自然》上宣布了一個令人矚目的成果。該小組可以追蹤美國境內流感的傳播趨勢,而這一結果不依賴于任何醫療檢查。他們的追蹤速度甚至比疾控中心(CDC)要快的多。谷歌的追蹤結果只有一天的延時,而CDC則需要匯總大量醫師的診斷結果才能得到一張傳播趨勢圖,延時超過一周。谷歌能算的這么快,是因為他們發現當人們出現流感癥狀的時候,往往會跑到網絡上搜索一些相關的內容。
“谷歌流感趨勢”不僅快捷、準確、成本低廉,而且沒有使用什么理論。谷歌的工程師們不用費勁的去假設哪些搜索關鍵字(比如”流感癥狀“或者”我身邊的藥店“)跟感冒傳染有相關性。他們只需要拿出來自己網站上5000萬個最熱門的搜索字,然后讓算法來做選擇就行了。
谷歌流感趨勢的成功,很快就成為了商業、技術和科學領域中最新趨勢的象征。興奮的媒體記者們不停的在問,谷歌給我們帶來了什么新的科技?
在這諸多流行語中,“大數據”是一個含糊的詞匯,常常出現于各種營銷人員的口中。一些人用這個詞來強調現有數據量的驚人規模——大型粒子對撞機每年會產生15PB的數據,相當于你最喜歡的一首歌曲重復演奏15000年的文件大小。
然而在“大數據”里,大多數公司感興趣的是所謂的“現實數據”,諸如網頁搜索記錄、信用卡消費記錄和移動電話與附近基站的通信記錄等等。谷歌流感趨勢就是基于這樣的現實數據,這也就是本文所討論的一類數據。這類數據集甚至比對撞機的數據規模還要大(例如facebook),更重要的是雖然這類數據的規模很大,但卻相對容易采集。它們往往是由于不同的用途被搜集起來并雜亂的堆積在一起,而且可以實時的更新。我們的通信、娛樂以及商務活動都已經轉移到互聯網上,互聯網也已經進入我們的手機、汽車甚至是眼鏡。因此我們的整個生活都可以被記錄和數字化,這些在十年前都是無法想象的。
大數據的鼓吹者們提出了四個令人興奮的論斷,每一個都能從谷歌流感趨勢的成功中印證:
1) 數據分析可以生成驚人準確的結果;
2) 因為每一個數據點都可以被捕捉到, 所以可以徹底淘汰過去那種抽樣統計的方法;
3) 不用再尋找現象背后的原因,我們只需要知道兩者之間有統計相關性就行了;
4) 不再需要科學的或者統計的模型,”理論被終結了”。《連線》雜志2008年的一篇文章里豪情萬丈的寫到:“數據已經大到可以自己說出結論了“。
不幸的是,說的好聽一些,上述信條都是極端樂觀和過于簡化了。如果說的難聽一點,就像劍橋大學公共風險認知課的Winton教授(類似于國內的長江學者——譯者注)David Spiegelhalter評論的那樣,這四條都是“徹頭徹尾的胡說八道”。
在谷歌、facebook和亞馬遜這些公司不斷通過我們所產生的數據來理解我們生活的過程中,現實數據支撐起了新互聯網經濟。愛德華.斯諾登揭露了美國政府數據監聽的規模和范圍,很顯然安全部門同樣癡迷從我們的日常數據中挖掘點什么東西出來。
咨詢師敦促數據小白們趕緊理解大數據的潛力。麥肯錫全球機構在一份最近的報告中做了一個計算,從臨床試驗到醫療保險報銷到智能跑鞋,如果能把所有的這些健康相關的數據加以更好的整合分析,那么美國的醫療保險系統每年可以節省3000億美金的開支,平均每一個美國人可以省下1000美元。
雖然大數據在科學家、企業家和政府眼里看起來充滿希望,但如果忽略了一些我們以前所熟知的統計學中的教訓,大數據可能注定會讓我們失望。
Spiegelhalter教授曾說到:“大數據中有大量的小數據問題。這些問題不會隨著數據量的增大而消失,它們只會更加突出。”
在那篇關于谷歌流感趨勢預測的文章發表4年以后,新的一期《自然雜志消息》報道了一則壞消息:在最近的一次流感爆發中谷歌流感趨勢不起作用了。這個工具曾經可靠的運作了十幾個冬天,在海量數據分析和不需要理論模型的條件下提供了快速和準確的流感爆發趨勢。然而這一次它迷路了,谷歌的模型顯示這一次的流感爆發非常嚴重,然而疾控中心在慢慢匯總各地數據以后,發現谷歌的預測結果比實際情況要夸大了幾乎一倍。
問題的根源在于谷歌不知道(一開始也沒法知道)搜索關鍵詞和流感傳播之間到底有什么關聯。谷歌的工程師們沒有試圖去搞清楚關聯背后的原因。他們只是在數據中找到了一些統計特征。他們更關注相關性本身而不是相關的原因。這種做法在大數據分析中很常見。要找出到底是什么原因導致了某種結果是很困難的,或許根本不可能。而發現兩件事物之間的相關性則要簡單和快速的多。就像Viktor Mayer-Sch nberger 和 Kenneth Cukier 在《大數據》這本書中形容的那樣:“因果關系不能被忽略,然而曾作為所有結論出發點的它已經被請下寶座了。”
這種不需要任何理論的純粹的相關性分析方法,其結果難免是脆弱的。如果你不知道相關性背后的原因,你就無法得知這種相關性在什么情況下會消失。谷歌的流感趨勢出錯的一種解釋是,2012年12月份的媒體上充斥著各種關于流感的駭人故事,看到這些報道之后,即使是健康的人也會跑到互聯網上搜索相關的詞匯。還有另外一種解釋,就是谷歌自己的搜索算法,在人們輸入病癥的時候會自動推薦一些診斷結果進而影響到了用戶的搜索和瀏覽行為。這就好像在足球比賽里挪動了門柱一樣,球飛進了錯誤的大門。
谷歌將使用新的數據再次校準流感趨勢這個產品,重新來過。這當然是正確的做法。能夠有更多的機會讓我們簡捷的采集和處理大規模的數據,這當然有一百個理由讓人興奮。然而我們必須從上述例子中汲取足夠的教訓,才能避免重蹈覆轍。
統計學家們過去花了200多年,總結出了在認知數據的過程中存在的種種陷阱。如今數據的規模更大了,更新更快了,采集的成本也更低了。但我們不能掩耳盜鈴,假裝這些陷阱都已經被填平了,事實上它們還在那里。
在1936年,民主黨人Alfred Landon與當時的總統Franklin Delano Roosevelt(富蘭克林.羅斯福——譯者注)競選下屆總統。《讀者文摘》這家頗有聲望的雜志承擔了選情預測的任務。當時采用的是郵寄問卷調查表的辦法,調查人員雄心勃勃,計劃寄出1000萬份調查問卷,覆蓋四分之一的選民。可以預見,洪水般寄回的郵件將超乎想象,然而《文摘》似乎還樂在其中。8月下旬的時候他們寫到:“從下周起,1000萬張問卷的第一批回執將會到達,這將是后續郵件洪峰的開始。所有這些表格都會被檢查三次,核對,交叉存檔五份,然后匯總。”
最終《文摘》在兩個多月里收到了驚人的240萬份回執,在統計計算完成以后,雜志社宣布Landon將會以55比41的優勢擊敗Roosevelt贏得大選,另外4%的選民則會投給第三候選人。
然而真實選舉結果與之大相徑庭:Roosevelt以61比37的壓倒性優勢獲勝。讓《讀者文摘》更沒面子的是,觀點調查的先創人George Gallup通過一場規模小的多的問卷,得出了準確得多的預測結果。Gallup預計Roosevelt將穩操勝券。顯然,Gallup先生有他獨到的辦法。而從數據的角度來看,規模并不能決定一切。
觀點調查是基于對投票人的的大范圍采樣。這意味著調查者需要處理兩個難題:樣本誤差和樣本偏差。
樣本誤差是指一組隨機選擇的樣本觀點可能無法真實的反映全部人群的看法。而誤差的幅度,則會隨著樣本數量的增加而減小。對于大部分的調查來說,1000次的訪談已經是足夠大的樣本了。而據報道Gallup先生總共進行了3000次的訪談。
就算3000次的訪談已經很好了,那240萬次不是會更好嗎?答案是否定的。樣本誤差有個更為危險的朋友:樣本偏差。樣本誤差是指一個隨機選擇的樣本可能無法代表所有其他的人;而樣本偏差則意味著這個樣本可能根本就不是隨機選擇的。George Gallup費了很大氣力去尋找一個沒有偏差的樣本集合,因為他知道這遠比增加樣本數量要重要的多。
而《讀者文摘》為了尋求一個更大的數據集,結果中了偏差樣本的圈套。他們從車輛注冊信息和電話號碼簿里選擇需要郵寄問卷的對象。在1936年那個時代,這個樣本群體是偏富裕階層的。而且Landon的支持者似乎更樂于寄回問卷結果,這使得錯誤更進了一步。這兩種偏差的結合,決定了《文摘》調查的失敗。Gallup每訪談一個人,《文摘》對應的就能收到800份回執。如此大規模而精確的調查最終卻得出一個錯誤的結果,這的確讓人難堪不已。
如今對大數據的狂熱似乎又讓人想起了《讀者文摘》的故事。現實數據的集合是如此混亂,很難找出來這里面是否存在樣本偏差。而且由于數據量這么大,一些分析者們似乎認定采樣相關的問題已經不需要考慮了。而事實上,問題依然存在。
《大數據》這本書的聯合作者,牛津大學互聯網中心的Viktor Mayer-Sch nberger教授,曾告訴我他最喜歡的對于大數據集合的定義是“N=所有”,在這里不再需要采樣,因為我們有整個人群的數據。就好比選舉監察人不會找幾張有代表性的選票來估計選舉的結果,他們會記點每一張選票。當“N=所有”的時候確實不再有采樣偏差的問題,因為采樣已經包含了所有人。
但“N=所有”這個公式對大多數我們所使用的現實數據集合都是成立的嗎?恐怕不是。“我不相信有人可以獲得所有的數據”,Patrick Wolfe說,他是倫敦大學學院的一名計算機學家和統計學教授。
推特(Twitter)就是一個例子。理論上說你可以存儲和分析推特上的每一條記錄,然用后來推導出公共情緒方面的一些結論(實際上,大多數的研究者使用的都是推特提供的一個名為“消防水龍帶”的數據子集)。然而即使我們可以讀取所有的推特記錄,推特的用戶本身也并不能代表世界上的所有人。(根據Pew互聯網研究項目的結果,在2013年,美國的推特中年輕的,居住在大城市或者城鎮的,黑色皮膚的用戶比例偏高)
我們必須要搞清楚數據中漏掉了哪些人和哪些事,尤其當我們面對的是一堆混亂的現實數據的時候。Kaiser Fung是一名數據分析師和《數字感知》這本書的作者,他提醒人們不要簡單的假定自己掌握了所有有關的數據:“N=所有常常是對數據的一種假設,而不是現實”。
在波士頓有一款智能手機應用叫做“顛簸的街道”,這個應用利用手機里的加速度感應器來檢查出街道上的坑洼,而有了這個應用市政工人就可以不用再去巡查道路了。波士頓的市民們下載這個應用以后,只要在城市里開著車,他們的手機就會自動上傳車輛的顛簸信息并通知市政廳哪里的路面需要檢修了。幾年前還看起來不可思議的事情,就這樣通過技術的發展,以信息窮舉的方式得以漂亮的解決。波士頓市政府因此驕傲的宣布,“大數據為這座城市提供了實時的信息,幫助我們解決問題并做出長期的投資計劃”。
“顛簸的街道”在安裝它的設備中所產生的,是一個關于路面坑洼的地圖。然而從產品設計一開始這張地圖就更偏向于年輕化和富裕的街區,因為那里有更多的人使用智能手機。“顛簸的街道”的理念是提供關于坑洼地點的“N=所有”的信息,但這個“所有”指的是所有手機所能記錄的數據,而不是所有坑洼地點的數據。就像微軟的研究者Kate Crawford指出的那樣,現實數據含有系統偏差,人們需要很仔細的考量才可能找到和糾正這些偏差。大數據集合看起來包羅萬象,但“N=所有”往往只是一個頗有誘惑力的假象而已。
當然這個世界的現實是如果你能靠某個概念掙到錢,就沒人會關心什么因果關系和樣本偏差。全世界的公司在聽到美國折扣連鎖店Target的傳奇式成功(由紐約時報的Charles Duhigg在2012年報道出來)以后估計都要垂涎三尺。Duhigg解釋了Target公司是如何從它的顧客身上搜集到大量的數據并熟練的加以分析。它對顧客的理解簡直是出神入化。
Duhigg講的最多的故事是這樣的:一名男子怒氣沖沖的來到一家明尼蘇達附近的Target連鎖店,向店長投訴該公司最近給他十幾歲的女兒郵寄嬰兒服裝和孕婦服裝的優惠券。店長大方的向他道了歉。可不久后店長又收到這名男子的電話要求再次道歉——只是這一次對方告知那個少女確實懷孕了。在她的父親還沒有意識到的時候,Target通過分析她購買無味濕紙巾和補鎂藥品的記錄就猜到了。
這是統計學的魔法嗎?或許還有更世俗一點的解釋。
Kaiser Fung在幫助零售商和廣告商開發類似的工具上有著多年的經驗,他認為“這里面存在一個嚴重的虛假正面效應的問題”。他指的是我們通常都沒有能夠聽到的無數的反面故事,在那些例子里沒有懷孕的婦女們也收到了關于嬰兒用品的優惠券。
如果只聽Duhigg講的故事,你可能很容易就覺得Target的算法是絕對可靠的——每個收到嬰兒連體服和濕紙巾購物券的人都是孕婦。這幾乎不可能出錯。但實際上孕婦能收到這些購物券可能僅僅是因為Target給所有人都寄了這種購物券。在相信Target那些讀心術般的故事之前,你應當問問他們的命中率到底有多高。
在Charles Duhiggs的描述中,Target公司會在給你的購物券中隨機性的摻雜一些無關的東西,比如酒杯的券。否則的話孕婦們可能會發現這家公司的計算機系統在如此深入的探測她們的隱私,進而感到不安。
Fung對此則有另外的解釋,他認為Target這樣做并不是因為給孕婦寄一份滿是嬰兒用品的購物手冊會讓人起疑,而是由于這家公司本來就知道這些手冊會被寄給很多根本沒有懷孕的婦女。
以上這些觀點并不意味著數據分析一無是處,相反它可能是有高度商業價值的。即使能夠把郵寄的準確度提高那么一點點,都將是有利可圖的。但能賺錢并不意味著這種工具無所不能、永遠正確。
一位名叫John Ioannidis的傳染病學家在2005年發表了一篇論文,題目叫“為什么大多數被發表的研究結果都是錯誤的”,標題言簡意賅。他的論文中一個核心的思想就是統計學家們所稱的“多重比較問題”。
當我們審視數據當中的某個表象的時候,我們常常需要考慮這種表象是否是偶然產生的。如果這種表象看起來不太可能是隨機產生的時候,我們就稱它是“統計上顯著的”。
當研究者面對許多可能的表象時,多重比較錯誤就可能發生。假設有一個臨床試驗,我們讓部分小學生服用維他命而給其他小學生安慰劑。怎么判斷這種維他命的效果?這完全取決于我們對“效果”的定義。研究者們可能會考察這些兒童的身高、體重、蛀牙的概率、課堂表現、考試成績甚至是25歲以后的收入或者服刑記錄(長期追蹤觀察)。然后是綜合比較:這種維他命是對窮困家庭的孩子有效,還是對富裕家庭的有效?對男孩有效,還是女孩?如果做足夠多的不同的相關性測試,偶然產生的結果就會淹沒真實的發現。
有很多辦法可以解決上述的問題,然而在大數據中這種問題會更加嚴重。因為比起一個小規模的數據集合來說,大數據的情況下有太多可以用作比較的標準。如果不做仔細的分析,那么真實的表象與虛假表象之比——相當于信號噪聲比——很快就會趨近于0。
更糟的是,我們之前會用增加過程透明度的辦法來解決多重比較的問題,也就是讓其他的研究者也知道有哪些假設被測試過了,有哪些反面的試驗結果沒有被發表出來。然而現實數據幾乎都不是透明的。亞馬遜和谷歌,Facebook和推特,Target和Tesco,這些公司都沒打算過跟你我分享他們的所有數據。
毫無疑問,更新、更大、更廉價的數據集合以及強大的分析工具終將產生價值。也確實已經出現了一些大數據分析的成功實例。劍橋的David Spiegelhalter提到了谷歌翻譯,這款產品統計分析了人類已經翻譯過的無數文檔,并在其中尋找出可以自己復制的模式。谷歌翻譯是計算機學家們所謂的“機器學習”的一個應用,機器學習可以在沒有預先設定編程邏輯的條件下計算出驚人的結果。谷歌翻譯是目前所知的最為接近"無需理論模型、純數據驅動的算法黑盒子”這一目標的產品。用Spiegelhalter的話來說,它是“一個令人驚訝的成就”。這一成就來自于對海量數據的聰明的處理。
然而大數據并沒有解決統計學家和科學家們數百年來所致力的一些難題:對因果關系的理解,對未來的推演,以及如何對一個系統進行干預和優化。
倫敦皇家學院的David Hand教授講過一句話,“現在我們有了一些新的數據來源,但是沒有人想要數據,人們要的是答案”。
要使用大數據來得到這樣的答案,還需要在統計學的方法上取得大量長足的進展。
UCL的Patrick Wolfe說,“大數據就好像是蠻荒的美國西部。那些頭腦靈活野心勃勃的人會想盡辦法利用一切可能的工具,從這些數據中淘出點值錢的東西來,這很酷。但目前我們做的還有些盲目。”
統計學家們正爭先恐后的為大數據開發新的工具。這些新的工具當然很重要,但它們只有在吸取而不是遺忘過去統計學精髓的基礎上才能成功。
最后,我們再回頭來看看大數據的四個基礎信條。其一,如果簡單的忽略掉那些反面的數據,比如Target的懷孕預測算法,那么我們很容易就會過高的估計算法的精確度。其二,如果我們在一個固定不變的環境里做預測,你可以認為因果關系不再重要。而當我們處在一個變化的世界中(例如流感趨勢預測所遇到的那樣),或者是我們自己就想要改變這個環境,這種想法就很危險了。其三,“N=所有”,以及采樣偏差無關緊要,這些前提在絕大多數的實際情況下都是不成立的。最后,當數據里的假像遠遠超過真相的時候,還持有“數據足夠大的時候,就可以自己說出結論了”這種觀點就顯得過于天真了。
大數據已經到來,但它并沒有帶來新的真理。現在的挑戰是要吸取統計學中老的教訓,在比以前大得多的數據規模下去解決新的問題、獲取新的答案。